QTP自动化测试流程
上一篇 /
下一篇 2008-01-29 20:16:10
/ 个人分类:QTP
黑色字体是原文,蓝色字体是我的注释,代表我个人的看法,仅供参考。
1)准备TestCase
- 在进行自动化之前,将测试内容进行文档化,不建议直接录制脚本
- 在录制脚本之前设计好脚本,便于录制过程的流畅
- 由于测试用例设计和脚本开发可能不是同一个人完成,便于团队合作
- 便于后期的维护
- 文档化的方式:TD或者文档
Test Case的建立是所有脚本成立的先觉条件,所以在正式开始编写脚本前,必须确保:
- Case覆盖率高(需求覆盖、代码覆盖等)
- Case书写步骤清晰,便于脚本与之一一对应
- Case期望结果明了,便于脚本对期望结果进行检查
- Case经过开发、测试Review,保证产品所有主要人员对产品及测试达成同一认识
- 针对不同测试阶段,挑选在回归测试中需要自动化实现的Case(实属脚本计划阶段)
2)配置QTP
QTP支持不同的开发环境,在正式录制之前,需要根据被测程序的开发环境,选择合适的Add-In,并进行加载。
做到以下几点会对后期的脚本维护产生莫大的方便:
- 建立统一的脚本架构
-共享资源的建立(对象库、测试数据等等)
- 共用Function Library的建立
- 建立统一的代码规范(含命名规范、注释、代码缩进、位图检查等)
- 统一所有的编码风格
- 统一配置测试环境,确保所有测试环境均能运行所写脚本
3)录制脚本
启动QTP的录制功能,按照Test Case的操作步骤描述执行,QTP自动记录每一步操作,并自动生成VBscrīpt脚本。
除必要的位图检查之外,严格要求脚本必须使用手写,防止脚本录制导致代码臃肿以及可读性差。
4)修改增强脚本
刚刚录制好的脚本可能包含错误,或者没有达到预期的目的,这就需要在录制脚本的基础上,进行修改增强
- 删除录制过程中多余的以及错误的操作,以最少的脚本完成任务
- 如果前面操作的输出是后面操作的输入,则需要使用变量或者输出值来进行替换
- 不是所有的操作都可以通过录制产生的,有些需要通过手工编码实现这些功能
- 录制产生的脚本是线性的,可以加入条件、循环控制语句,实现更复杂的流程
- 对脚本进行结构化
- 加入注释,便于阅读和维护
5)调试脚本
- 回放通过的脚本,不一定是正确的,也可能会包含错误
- 在测试脚本正式使用之前,要保证其本身的正确性
- 避免测试脚本故障和被测程序故障搅在一起,不容易定位
脚本调试完成后,需要完成如下几步才能真正的用在实际项目当中:
- 单个脚本调试成功后,需要其他人员Review(类似极限编程)后方可Checkin代码
- 把所有单独运行成功的脚本集合在一起,进行脚本的集成测试和系统测试
6)回放脚本
- 对于回放的错误,不要急于马上提交Bug,首先要判断是脚本本身的错误还是程序的错误,确认后再提交。
7)脚本维护
- 随着工作的不断推进,脚本量会越来越多
- 被测试程序的不断更新,也需要更新相应的测试脚本
- 采用版本管理工具保存脚本,如CVS、VSS,可以随时获取历史版本
- 采用统一的脚本架构
- 采用统一的命名规范
- 添加充分的注释,避免时间久了,自己都不能马上读懂脚本
如果前期工作做的好,脚本维护的成本会低出很多,所以强烈建议在前期能够形成统一的制度。
相关阅读:
- 软件测试QTP实用例子集合 (51testing, 2008-1-14)
- QTP中随机取下拉菜单的值 (就是爱测试, 2008-1-15)
- 识别属性改变的对象 (jimmy2006.hi, 2008-1-16)
- 一个简单的C#调用QTP自动化对象模型的例子 (51testing, 2008-1-18)
- QTP9.2的帮助文件 (51testing, 2008-1-21)
- 以XML文件方式扩展QTP的.NET插件的问题 (51testing, 2008-1-22)
- QTP参数化实例 (就是爱测试, 2008-1-23)
- QTP中的descriptive programming (就是爱测试, 2008-1-27)
- QTP测试 (vint, 2008-1-27)
- 如何解决返回数据库查询纪录条数(转) (leo_hu_100, 2008-1-29)
收藏
举报
TAG:
QTP