使用WinRunner进行测试的几点建议
作者:网络转载 发布时间:[ 2015/4/29 11:14:13 ] 推荐标签:WinRunner 函数 路径
分解TestCase
在大型程序测试中,往往有很多任务是可以分开来Record。同时,如果录制的代码过长的,进行调试是很麻烦的事情,此外如果今后某一部分的程序进行了修改的话,修改和重新录制的工作也是非常痛苦的一件使用。因此我们可以将一个TestCase进行分解,分解TestCase可以采用以下几种方式
1、将任务分段,比如Log、Logout、公共窗口的打开、关闭
2、错误处理的分类,比如将某一输入项目的各中错误输入分开录制
3、公共界面的操作函数化统一处理,这种方式主要可以象移动BOSS的业务受理等不
同窗口使用同一子界面的情况,如DELPHI/C++Builder中的Frame。将不同任务(TestCASE)的分解之后,我们可以使用call函数及自定义函数机制来调用不同的子Script、函数来完成一个的TestCase
通过随机组合实现大规模路径覆盖
有时候我们需要将一组数据随机组合来进行大量数据测试,如填写某些表单。那么我们有两种办法:一是使用外边工具随机生成大量数据,也可用使用先将各个数据按测试要求生成一小组数据,然后使用rand方法随机抽取数据来测试
伪代码如下
data a[];
date b[];
for(i=0;i<要测试的次数;i++){
ca=a[rand()]
cb=b[rand()]
dosomething;
}
使用这种代码的好处是随意调整测试力度,缺点是数据单一,不想外边工具一样生产的数据的多样化。如果想根据数据分段标准动态产生不同数据,应该使用其他编程工具来生产而不应采用这种办法。
动态修改chk文件实行参数化的动态Check
有时候我们知道在测试过程中的某些数据是动态生产的,比如某些按顺序或随机产生的单号,而我们又往往需要根据这个单号进行一些判断,比如数据库中对应的数据是否完整。还有,当我们需要根据输入的某些条件来判断输出的条件是否正确,这个时候WINRUNNER无能为力了,因为它目前没有提来实现参数化的Check。但是我们可用使用WINRUNNER的函数及WINNRUNNER的录制功能,先录制一个使用ULTRAEDIT(或类似工具)手工修改chk文件的函数。然后将要修改的内容参数化,在主SCRIPT执行Check以前先调用该函数。
在Script里面管理GUI
使用WINRUNNER都知道GUI文件的重要性,MI推荐的一种方式是专人来管理GUI文件,整个测试使用同一个/系列GUI文件。但实际我觉得这很困难的,特别是程序比较的话,光是找出所有的窗口已经是很痛苦的一件事情。我认为应该首先应该将GUI与SCRIPT同时存储在同一目录下。
然后使用GUI_load在SCRIPT开始以前装载GUI,在SCRIPT开始增加:
if(GUI_load(".\login.gui")!=0)
{
pause("Can't load login.gui");
texit;
}
使用Winner做过复杂测试的可能会问,如果不同GUI文件中的对象名称相同的话,运行时候会出问题。因此我们应该在SCRIPT完毕的时候加入GUI_close(".\login.gui");
注意恢复测试前的状态
此外,如果我们要连续运行多个测试CASE、必须考虑将被测试程序恢复测试前的状态,比如我们在测试SCRIPT A中打开了窗口A,如果下一个TESTCASE不需要用到窗口A,那么在SCRIPT A窗口A。这样下一个TESTCASE才能正常运行。
如果我们采用采用批处理及CALL的方式来组织SCRIPT的话,应该坚持这样一个原则:“谁打开、谁关闭”,这样才便于管理。
此外如果对数据库的操作也要根据具体要求考虑恢复。这些操作可以考虑通过录制通过数据库客户端的操作来实现。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11