mojinde 2004-12-14 08:58
有关WR的学习,版主一定要进来看一看
关于WINRUNNER的学习
接触了一段时间WINRUNNER后,大家都知道使用这个测试工具的基本流程:先是让WR学习GUI MAP—>录制脚本—>回放脚本,回放前还可以做,插入检查点、插入同步点、建立数据池,问题是,在实际实施起来时,都不知从何下手,我个人认为,主要是存在以下几个问题,可能也是大家还没有弄明白的:
1、当一个系统比较大时,是否是分模块来学习GUI?
2、录制脚本时,是否是要录制一个本系统的正常业务流程的脚本,还要录制一个非正常的业务流程(作用是检查系统是否对一些非法操作做了一些相应的控制)
3、一个好的WR测试脚本的怎样的?我的看法是:
a检查系统的业务流程、模块接口是否有误;
b检查各个界面的输入框,对一些非法的、特殊的字符的输入是否做了控制。
mojinde 2004-12-14 10:40
[quote]Originally posted by [i]mojinde[/i] at 2004-12-14 08:58 AM:
关于WINRUNNER的学习
接触了一段时间WINRUNNER后,大家都知道使用这个测试工具的基本流程:先是让WR学习GUI MAP—>录制脚本—>回放脚本,回放前还可以做,插入检查点、插入同步点、建立数据池,问题是,在 ... [/quote]
为什么没有人回复呢,请大家进行讨论,我认为这些问题都很迷茫啊,小生在此谢谢啦!
pcl2004_27 2004-12-14 11:25
1.我觉得WinRunner的脚本开发过程是根据他的软件自身的特定决定的!
对于脚本开发过程:WR学习GUI MAP—>录制脚本—>回放脚本
我觉得不大适合当前实际开发,实际开发过程中我觉得这个过程才是核心部分:
录制脚本-增强脚本-回放脚本-分析结果
学习GUI,我觉得应该放在录制脚本之后,这样不会因为修改脚本后(业务流程改变)你仍然要先学习GUI,这样可以通过设置GUI MAP类型进行自动修改!而且灵活性更大,你的专注点可以放在脚本开发上!
WinRunner中有两种GUI MAP类型,这两种类型一种是全局的,一种是针对每一个脚本自动生成的GUI MAP。
我觉得后一种更加好,因为全局类型的GUI MAP需要每次你脚本运行前用代码加载,从WinRunner来说我觉得他影响效率,而且不容易维护!即使选择全局类型也应该分开保存GUI MAP,通过脚本加载指定的GUI Map。这样模块更加容易维护!
pcl2004_27 2004-12-14 11:38
2、第二个问题我觉得自动化脚本开发是一个特殊的开发过程,他受到软件业务逻辑制约,软件GUI元素(其实是后台的开发语言起作用)等因素制约。
而软件测试是为了验证软件功能,还应该有软件测试技术在里边。
测试软件是代替软件测试工程师的工作,把手工劳动变为自动化让测试工程师投入到其他工作中去,软件测试工程师的基本任务之一是测试用例的编写,测试用例的分那些?设计用例的方法包含边界值,因果法,等价类划分等无非是对业务,GUI元素测试,自动化的目的我们知道了,那么开发脚本其实我们就是测试两种用例,一种是正确的用例(执行肯定正确,正确输入,预期的结果),一种是错误的用例(其实也是正确的,错误的输入,预期的输出)
那么自动化脚本主要是处理这两种,但是由于软件功能还没有完善,你需要处理的是脚本中的两种错
一种是错误
一种是异常
错误是预期的,也就是上边错误的用例的内容(其实也是正确的用例),一种是异常,没有办法预料到是什么结果,这就需要你在脚本中加必要的错误处理,来处理这种异常结果!
你的说的第二点说法上我觉得有偏差,有些时候没必要开发两套脚本,脚本开发过程录制脚本,后开发脚本中,开发脚本过程中就有可能把两种用例结合,用一个脚本就可以处理的。
pcl2004_27 2004-12-14 11:42
3.自动化测试我觉得是代替人的手工劳动,它只能检查到已经发现的错误是否修改,功能是否完善(因为只有在软件稳定的情况下引入自动化才是最理想的)
只要做到上边的自动化测试就达到了效果,而且自动化化受到很多因素的制约,不可能完全达到自动化。过分的预期只能导致自动化的失败!
mojinde 2004-12-14 11:56
非常感谢版主的回复!
这样说来,WR只能做回归测试了?
pcl2004_27 2004-12-14 12:00
测试工具不是只有一种!软件自动化测试不单单说的wr等功能自动化测试工具,还有很多不同的测试阶段可以使用不同的测试工具!
mojinde 2004-12-14 13:09
再次感谢版主,我会努力的。更希望所有的中国测试人员一起进步!
QA_BAY 2004-12-14 22:18
1、当一个系统比较大时,是否是分模块来学习GUI?
这个不需要,因为WR会自己加入GUI中,
如果认不到的控件,你自己可以加入到起动脚本中或者做虚拟控件!
2、录制脚本时,是否是要录制一个本系统的正常业务流程的脚本,还要录制一个非正常的业务流程(作用是检查系统是否对一些非法操作做了一些相应的控制)
本人觉得没有必要,你可以这样一般系统会分很多个模块,
你可以一个模块分好多种录制方式,
工具是死的,人是活的,想怎么录,要因系统而实施,
所以你不能说录一种正常,
一种非正常!
因为WR能做的不只这个,它还可以程序化,
就是编写复杂的测试脚本,以带出隐藏在应用程序中的信息,
在D:\Program Files\Mercury Interactive\WinRunner\lib下面有很多TSL脚本,
你可以调用里面的程序!
这个就可以实现很我的功能了!
QA_BAY 2004-12-14 22:24
WR的测试流程:
1.识别应用程序的GUI对象.
2.建立测试脚本
3.对测试脚本进行排错(debug)
4.在新的版本中执行测试
5.检查测试结果
6.回报缺陷(defect)
3、一个好的WR测试脚本的怎样的?我的看法是:
a检查系统的业务流程、模块接口是否有误;
b检查各个界面的输入框,对一些非法的、特殊的字符的输入是否做了控制。
这两点本人同意
其它的以上版主都说得差不多了
其它本人觉得WR不是个人的工具,
他是一个团队工具!从经理到测试员需要很多人才能实行,
所以对于个人的工具,我们能做出什么来呢?
mojinde 2004-12-15 16:06
非常感谢,QA_BAY 版主的回复,现在我觉得思路清晰多了,目的也比较明确了,但应该还要多多动手去做才行
mojinde 2004-12-16 08:30
这两天一直在琢磨两位版主的回复内容,小生还有一点不明白,pcl2004_27版主所说的应该专注到脚本开发上,但是脚本开发都包括一些什么呢?
QA_BAY 2004-12-16 11:15
调用FUNCTION吧!
在LIB下面有很多!都是自带的!
willcheung 2004-12-24 12:52
说的太好了!受益匪浅!!
willcheung 2004-12-30 09:21
QA_BAY说WR可以检查各个界面的输入框,对一些非法的、特殊的字符的输入是否做了控制。
请问如何实现这一测试?谢谢!!
QA_BAY 2004-12-30 21:29
WR你说简单就简单说复杂就复杂,
简单就是录制回放,
复杂就是加TSL语言!
对于一个输入方框你首先要看上下的条件是怎么样的,
例如有一个方框是有限制的,
如果用户名超出20个字符就出错,而你的系统没有做到你就可以这样加上去!Name="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
Name1="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
#在输入框里输入
set_window("输入姓名的窗口");
obj_type("姓名输入框",Name);
#应该弹出提示输入不合法的提示窗口
if (length(name)>20)
{
report_msg("你的输入已经超出20个字符");
#关闭提示窗口
win_close("提示");
}
else
report_msg("长度合法");
写完一个IF条件框架之后,你就可以慢慢的觉得要加什么就加进去!
WR自带的就是那些检查点还有FUNCTION之类的东西.
你要把它们用起来,
还有一个比较有用的就TSL的调用这方面的要了解LIB下面的FUNCTION!
对于字符就没有分得特别清楚,
这方面没有怎么深入!
mojinde 2004-12-31 08:55
请问版主:还有的就是,有这样的三种情况:
1、当输入的字符长度超出规定的长度,系统也没有报错;如需求规定只能输入20个字符,但输入大于20个字符,系统也没有出现报错提示。
2、系统已控制只能输入所规定的字符长度;就输入20个字符就不能再输入了。
3、还有一种情况是:所输入的内容是唯一性的,如,用户编号、单据编号等
这三种情况,又怎能样处理呢?
[[i] Last edited by mojinde on 2004-12-31 at 10:56 [/i]]
QA_BAY 2005-1-1 20:11
对于一二个问题,你用手工不是更快的测试出来吗?
如果你真的用WR判断那你用LENGTH就可以解决一二点的问题!
如果长度超出让WR显示出来,这样即使系统没有提示也可以显示出来!
对于第三点:你可以让WR跑两次(就是循环),如果没有出错那就代表不唯一性.
mojinde 2005-1-4 08:41
1、一二个问题,手工测试并不快,因为对于某些系统来说,输入框是很多的。
2、如果真的强调快的话,自动化测试并不比手工测试快,因为在完善测试脚本的时候,是一个很漫长的过程。
3、再有就是我好象听版主说过,很少能用测试工具找出BUG。
基于以上几点,我认为,用自动化测试工具来做测试,意义并不大。
QA_BAY 2005-1-4 10:42
[quote]Originally posted by [i]mojinde[/i] at 2005-1-4 08:41 AM:
1、一二个问题,手工测试并不快,因为对于某些系统来说,输入框是很多的。
2、如果真的强调快的话,自动化测试并不比手工测试快,因为在完善测试脚本的时候,是一个很漫长的过程。
3、再有就是我好象听版主说过 ... [/quote]
可能我说得不够清楚,对于第一点我所说的是一个输入框,如果是很多的话,那当然用测试工具会比较好一点!
对于第二点,没有找到BUG的工具并不代表他不会找到或者意义不大.我不这么认为,
当你的工作量很大而又很多还有人手不够的时候,那工具就派上用场了!
如果工具找到的BUG跟人一样多,那老板还用请你吗?工具是辅助,主要测试还是我们!
对于工具重要还是看用工具的那个人,而不是工具本身.
个人意见!
[[i] Last edited by QA_BAY on 2005-1-4 at 10:56 [/i]]
Function 2005-1-4 13:32
这么说来,工具在测试时,都是以人的意志为转移,如果我们没有想到的测试点,测试工具也无法测出BUG了吗?
QA_BAY 2005-1-4 16:54
可以这么说吧!
不要对测试工具抱太大的希望,
我用测试工具是因为他可以帮到我很多的忙,可以省下很多时间,
我说过WR是团队的工具,个人很难发挥他的作用,首先,GUI维护问题,还有插件问题!还有编写TSL问题,这几个方面已经是占用了很多人手了
mojinde 2005-1-5 08:40
其实我学习工具的目的,首先想到的就是要它为我找软件的BUG,^_^,然后,了解了WR,就想到我应该会设置检查点、会维护GUI、还要会编写TSL和会用插件……看来这些还是有较大的难度啊!
Zee 2005-5-21 23:00
顶一下,学习
自由的天空 2005-5-24 09:55
真的要好好学习一下WR了。我是刚开始学的,希望可以得到帮助!
czlrose 2005-7-29 10:40
绝对赞同版主对自动化测试工具的理解.
顶,学无止境。
lyw20086911 2005-7-29 13:39
谢谢版主热心解答,让我对它有个大概了解
ihui_1983 2005-8-1 17:17
斑竹,我觉得还是GLOBAL模式是比较好
斑竹,我觉得还是学习GLOBAL是比较好
如果你学WR超过4天。我建议你就开始用GLOBAL 模式开始录制
如果用PER 的话,只能录制很小的程序,而且不方便调用
global就可以循环使用,而且可以循环使用
yangluli 2005-8-4 16:50
数字编码的唯一性
请各位大虾指教
例如:set window("增加凭证类别-1“,1)
obj_type("ThunderRT6TextBox","23“)
在这里因为23为编码的输入值,且带有唯一性,我想让它不断变化,成为变量;例如从23-100,该怎样编写,谢谢!
rien2128 2005-8-12 12:40
路过,顶一下。
ddlddy 2005-9-5 16:35
[quote]Originally posted by [i]yangluli[/i] at 2005-8-4 04:50 PM:
请各位大虾指教
例如:set window("增加凭证类别-1“,1)
obj_type("ThunderRT6TextBox","23“)
在这里因为23为编码的输入值,且带有唯一性,我想让它不断变化,成为变量;例 ... [/quote]
数据驱动
merryshuwp 2005-9-8 15:21
路过,不知所云
木乃伊 2005-9-20 00:00
路过i,对自动化测试又提高了一点认识
johngan 2005-9-30 15:08
[quote]Originally posted by [i]ddlddy[/i] at 2005-9-5 04:35 PM:
数据驱动 [/quote]
生成XLS文件,如果参数不是数字,是各个不同的文件,数量又很大?该如何做?
pride 2005-10-11 19:58
opinion
我个人认为测试工具还是依靠人的思维来进行工作的,也就是你大约知道在什么地方有bug了如果是手工测试会花去很多的时间,于是你采用一种给你节省很多时间的工具来进行!
pride 2005-10-11 20:07
reply yangluli
这应该是一个数据驱动问题,大体操作如下:选定你要操作的字段了, 然后再
insert 菜单 点击 function 选项里 再点击 For object/window 然后再继续你的数据范围操作就好了! 试试看吧!
sun_dasiy 2005-10-21 20:43
请问:
为什么我在用debug单步查错是没有错误提示,而在run from top时就提示有错误呢
meizi 2005-10-25 13:14
是没有错误信息出现过还是有错误信息被你改掉了?这样肯定会有不同的结果阿。
忘记了 2005-11-29 10:46
[quote]原帖由 [i]pcl2004_27[/i] 于 2004-12-14 11:42 发表
3.自动化测试我觉得是代替人的手工劳动,它只能检查到已经发现的错误是否修改,功能是否完善(因为只有在软件稳定的情况下引入自动化才是最理想的)
只要做到上边的自动化测试就达到了效果,而且自动化化受到 ... [/quote]
非常赞成版主的意见!自动化测试只是一种辅助的工具!多数工作还是需要手工来完成的.
dzhot 2006-3-8 15:06
好啊 又学到不少