软件测试自动化之路(5)----如何建立测试场景?

来源:互联网 发布:软件合同付款比例 编辑:程序博客网 时间:2024/06/07 00:29

测试场景(test scene),你也可以理解为测试环境,是自动化测试用例(automation test case,ATC)执行的一个场景。我们可以这样来定义它:test scene 是ATC所要执行的前置条件,而又独立于被测程序(application under test, AUT)。我们在这儿要讨论的是,建立test scene应该用什么方法更为合适?

GUI automation test 要求我们GUI测试用例尽量用Mouse的点击与Keyboard的输入来实现(GUI test method),以达到与end-user真正相匹配的测试要求。举个例子:当我们要测试一个Dialog是否能被正确关掉,从GUI automation test的观点来做,你就应该象一个end-user做的那样,去点击close button/cancel button(如果有的话),而不是去send WM_Destroy Message。否则如果我们的程序员并没有实现close button的相应功能,这个dialog显然是关不掉的,但automation test script 却没有如设想的那样发现这个bug。

但是如果同样的观点放在test scene 的建立上,就显得不太合适了,我至少能找到下面的几点理由:

  1. 建立test scene是GUI automation test的一个必要过程,但不是最终目的,我们的最终目的是对AUT进行测试验证;
  2. Base 1) item, 你没有必要对test scene进行测试;
  3. 用GUI test method效率不高,受GUI影响较大,script的可维护性差;
  4. Compare againest 3) item,用Non GUI test method 去建立test scene,效率高,通用性会好些,script也不会显得冗长;

比如:我们的测试是建立在IE基础上的ActiveX-Web测试,很显然对不同的IE 安全设置,当打开这种Activex-web会有不同的Dialog Box弹出。我建议的作法是:如果测试用例没有特殊的要求,则对IE的作统一设置。它属于test scene的范畴,你可以采取 Non-GUI test method,即修改IE在注册表中的值达到设置的目的。如果测试用例有这方面的要求,明确指出当设置IE安全为中低时,打开ActiveX-Web会有相应warning框出现。你更可以用Non-GUI test method 去建立这一特殊的test scene,当然,你也必须为warning框加一些验证和处理的test script。

总结一下我的例子,我们可以得出一个结论:In GUI automation test中,建立test scene尽量用Non-GUI test的方法;对AUT测试尽量用GUI test的方法。如果你还有疑问,想一想前面IE的ActiveX-Web的ATC,我们似乎没有义务为Microsoft对IE的设置进行GUI test,不是吗?                                                                                                

 Austin chen
                                                                                                              2009-3-20 

原创粉丝点击