【IT168 技术文档】
摘要:本文针对QTP 的使用过程,以故事的形式来介绍此工具,拟作为此
工具的入门引导。
关键词:QTP、自动化功能测试、引导
话说公元250 年2 月30 日,孔明设计并制造出一台集各种武器于一身的超
级杀人武器霸王——“拿你命300”,它能识别出放入其内的数百种弹药并用相
应的投弹器发射出去,使用起来非常方便,非常傻瓜。比如放入石头它会用投石
机投掷,放入箭簇则以弓弩射出。现在需要测试它的功能是否达到这种要求。但
问题是:
1、测试过程耗时很长(关系到成本);
2、测试过程很单调,就是放入弹药(输入),看它会用哪种发射器去发射
(输出),如此重复相当多次,并且不用查看中间的工作过程,(即黑盒测试,
根据输入检查输出是否符合要求);
3、此机批量生产后每台都要做完全相同的测试。
而孔明日理万机,故无暇顾及此机,如果花点时间培训一个专人来负责,那
以后就省力又省心,一个人顶过去十个(可重复测试)……然则何人来测?发愁
之际,吏部调一人前来。此人名叫齐铁炮,英文名是QTP,他不懂汉语,只会
VBscript,最擅模仿,动作神速,能工作数月而不知疲倦。那不就是传说中的变
形金刚?不,因为他的缺点是智商为零,非常死板,不知变通。
根据这些特点,孔明这样安排他工作:
1、录脚本
孔明先以石头为例做一遍测试过程,然后QTP 把孔明的动作都逐一记在本
子上(即脚本),再依照脚本来做就完全重现了孔明的测试过程。
2、插入检查点
然后孔明又告诉他如何将预设的期望值与测得的实际值对比来判断功能是
否正确。比如:(对于放入的石头,按发射按钮后,)如果输出端可见一投石器
升起并投掷此石,则表示该功能通过。QTP 也把它记下来并也成功照做。
3、参数化
“好,灰常好,QTP,现在你改用箭去测试。”
“可是丞相,我记下的脚本中只有‘……打开弹药舱,放入石头……’,并
没有关于如何使用‘箭’的内容,你要做一遍给我看或者明确告诉When,Where
and How 去用它,不然我无从下手。”
孔明一听吐血,这QTP 还真不愧是笨蛋,要是每种输入的弹药都要做一遍
那还不如自己测试,于是他决定在QTP 原有的脚本上修改,用参数表记下所有
需要测试的弹药,在‘放入石头’的‘石头’处改用此参数表,告诉QTP 每次
到这一步时就取表中的下一种弹药来测,在检查点中也改用对应的期望值参数表
来判断结果。这下QTP 才能按孔明的意愿顺利测试下去。