我想我会一直走在测试的道路上,既然 我已选择了测试这条路
欢迎测试界的XDJM一起交流、共同进步
QTP那点事之概述篇
上一篇 /
下一篇 2009-05-02 04:22:10
/ 个人分类:QTP
QTP那点事之概述篇
QTP是mercury公司出品(后被HP收购)的一款自动化测试工具,主要用于功能测试,与LoadRunner双剑合璧,在全球抢占了很大的市场。在加上QC(前身是TD)可称为三剑客,为软件开发的过程提供了一整套解决方案。
QTP全称QuickTest Professional,那么它到底是怎样的一个工具?
个人愚见,它只是模拟了人的行为,也就是说是手工测试的一种copy。通过对web或者application的录制并增加对象到对象库,以便可以回放。然而自动化测试需要的是脚本与数据分离,这样才更有利于脚本的维护和重用。所以QTP运行的过程实际上就是一个测试执行的过程,通过对数据的读取、操作来验证web或者application的实际结果是否与预期相一致,验证可以通过output value、check point或者手工写代码来实现。QTP将自动把比较的结果写到Report文件中。
QTP视图
一打开QTP进入的界面就可以看到Keyword View & Expert
View,Keyword View中是对录制的脚本形象化描述,其中有item、operation、value、Documentation等域,而Expert View则是纯脚本,据说是给专家用的。
除此之外还有DataTable数据表,这更像是一个Excel表格,可以存放一些数据。比如测试的数据、输出值的数据、期望结果等,可以用来进行参数化时从中读取。分为Global和具体的Action数据表。
Active Screen记录的是web或者application当时的界面,可以方便快捷的插入检查点和输出值,也可以把对象添加到对象库。
Debug Viewer:用于脚本的调试,有Watch、Variables和Command三个界面
QTP的几大功能
1. 录制回放
毫无疑问,这是QTP的核心功能,其他的功能基本上时为它服务的
2. 调试功能
用于脚本的调试,来实现脚本回放,执行相应的测试
3. 对象识别
这是一个最大的问题,QTP只是个工具而已,识别能力达不到100%。在学习QTP的过程中并没有感觉到这个问题,因为使用的例子不是飞机订票就是win计算器,QTP可以很好的实现对这两个程序的对象识别。而我今天就碰到了一个问题,今天吃完饭香休闲一下,下两盘四国军棋,结果QQ游戏的房间全是爆满,TX就想赚你钱,要你冲会员。我就想能不能来个自动点击的,(记得以前在HF上打war3的年代,用的都是优化版的HF,有个自动挤房间的功能),就开始用QTP试着来写脚本,最后勉强可以使用挤进了房间,然后就爽了两盘。
4. 参数化
实现脚本与数据分离的必经之路,我们可能在Excel文件中保存测试数据,所以实现数据的参数化是相当必要的。
5. Test Flow
始终是由一个Test工程和N个Action组成,各自在DataTable中有相应的数据表。Action之间是并列的关系,或者调用的关系。
6. 场景恢复
主要应用于在脚本运行过程中,出现的不可预见的错误,脚本使用机制来实现脚本的继续的执行,不会因为个别的错误而导致整个脚本的停止运行。
相关阅读:
- 关于qtp的测试对象的进一步改进 (yangzhengjiang, 2009-4-19)
- 浅谈QTP中的测试对象 (fishy, 2009-4-21)
- 检测字符串中是否包含有除字母、数字、下划线以外的字符 (jean_xhq, 2009-4-22)
- 关于QTP的测试对象的进一步改进 (fishy, 2009-4-22)
- QTP中虚拟对象设置 (jean_xhq, 2009-4-23)
- QTP自定义保留对象的拓展问题 (fishy, 2009-4-23)
- 续4年做了什么,得到什么 (fishy, 2009-4-24)
- QTP相关的25个小技巧(转) (cswalkman, 2009-4-26)
- 选择QTP测试工具的可行性分析文档 (fishy, 2010-7-02)
- 扼杀QTP检查点 (连载二) (51testing, 2009-4-29)
收藏
举报
TAG:
QTP