技术开发 频道

闲话QTP——当孔明遇上QTP 时

  摘要:本文针对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 才能按孔明的意愿顺利测试下去。

【注】 本文是51Testing授权IT168独家发表,未经明确的书面许可,任何人或单位不得对本文内容复制、转载或进行镜像,否则将追究法律责任。原文已在51Testing电子杂志《51测试天地》第十四期发表,http://www.51testing.com/html/82/n-141082.html
 

0
相关文章