QTP项目应用与进阶
分類: 图书,计算机与互联网,软件工程及软件方法学,软件工程理论,
品牌: E测工作室
基本信息·出版社:化学工业出版社
·页码:278 页
·出版日期:2009年09月
·ISBN:7122065685/9787122065681
·条形码:9787122065681
·包装版本:第1版
·装帧:平装
·开本:16
·正文语种:中文
产品信息有问题吗?请帮我们更新产品信息。
内容简介《QTP项目应用与进阶》是QTP(Quick Test Professional)自动化测试从理论升华到实践的指导类书籍。本书由浅入深,从QTP的常用功能介绍到实际项目中的具体应用,最后以发散性的思维介绍国内外对于QTP的新思路与新应用。本书介绍了几个典型的QTP使用技巧,并通过两个经典的QTP自动化测试框架来示范实际项目解决方案的建立,以供读者参考借鉴。
本书是笔者自动化测试多年工作经验的总结。初级自动化测试工程师可通过本书进一步提升业务水平;中高级自动化测试工程师可通过本书拓展思路;对于正在实施自动化测试的软件公司更具极高的参考价值。
作者简介本书作者
——E测工作室(本书作者成员)
朱伟
网名“风过无息”,拥有近十年的大型软件测试和管理经验,现任某大型软件公司测试总监,获得HP的CPC证书,担任51testing的版主,并发表过多篇测试文章,在自动化测试方面有一定研究。
裴明哲
曾在多家大型公司任职,先后担任过开发工程师、测试主管等职位,拥有多年开发和测试实践经验,尤其擅长自动化测试、非功能性测试等,曾在51testing发表过《自定义QTP保留对象的神话》等多篇文章,深受读者好评,担任51testing版主,曾成立运营中国软件测试论坛,2008年11月组建成立E测工作室。
黄先荣:
网名“watir”,大学毕业后投身于一家外资公司,一次偶然的机会做起了自动化测试,也发现了自动化测试的乐趣,2004年来到淘宝,现任淘宝页面自动化组TL。
韩柳
曾任GeneralSoft中国研发中心研发二部测试经理及东软集团股份有限公司自动化测试研究顾问,多年从事软件测试和质量改进工作,倡导“向管理要效益,向设计要质量”的工作理念,目前专注于软件测试解决方案与建立自动化测试基准的研究。
俞戴龙(Wally Yu)
曾任鲁班软件测试组主管、某互联网中国研发中心Search组QA,现任美世咨询高级测试工程师,最早于2005年接触QTP,精通软件测试基本理论,接触过Robot、Selenium等自动化测试工具及各种测试框架。
编辑推荐本书围绕真实的不同成熟度等级的软件测试项目,利用当今最流行的自动化测试工具之一QTP,由浅入深地介绍了自动化测试在项目中的引入和推进。区别于一般的书籍,这本书的主体不是以“字典”的形式灌输知识,而是以经验交流的形式轻松的阐述。本书囊括了5位自动化测试专家在自动化测试引入中的珍贵经验与工作素材,让读者在两个真实的测试项目中,体会自动化测试“技术的理性”与“艺术的感性”,可以为读者自己的实际工作起到良好的借鉴作用。虽然本书是以QTP为依托而写,但在很多QTP不适用的自动化测试领域,也可以借鉴本书的一些思想。
专业书评自动化测试一直是很多公司探索的领域,而缺少实战经验的积累是现在遇到的最大瓶颈。本书从实战的角度分享了自动化测试的经验,有助于我们开展自动化方向的测试项目。
——周举纲 公司副总经理 方正国际(苏州)
工具是生产力发展的重要标志。本书完整介绍了QTP这个工具在软件项目测试过程中的应用,理论结合实际,是一本不可多得的好书。
——夏林娜 淘宝质量部经理
本书既有系统的软件测试过程和自动化理论,又有具体实用的最佳实践方法,是实施软件测试自动化的实战宝典!
——俞炜 质量保证部经理 eBay中国研发中心
工具的使用,代表着人类的进化,而自动化测试工具的使用,则代表着测试技术的进化。QTP是业界使用较为普遍的自动化测试工具,而作者则有着多年丰富的自动化测试经验。本书通过理论结合实际的方法,深入浅出地讲解了QTP的使用技巧,以及在实际项目中的应用,确实是一本不可多得的好书。
——王斌 测试服务部经理 苏州市软件评测中心&17测试网
目录
第1章 自动化测试简介 1
1.1 软件的生命周期 2
1.2 软件的成熟度 4
1.3 自动化测试引入的适应性 5
1.4 自动化测试的历史、地位和意义 6
1.5 自动化测试工具 9
1.6 小结 10
第2章 QTP的基本概念和使用 11
2.1 了解测试对象模型 12
2.1.1 测试对象模型概述 12
2.1.2 对象在操作过程中的作用 14
2.2 测试对象模型实例说明 15
2.2.1 对象库 16
2.2.2 对象库的维护方法 17
2.3 录制模式 22
2.3.1 普通录制 22
2.3.2 Analog录制 23
2.3.3 Low Level录制 24
2.4 检查点 25
2.4.1 检查点概述 25
2.4.2 检查点的分类 25
2.5 参数化 28
2.5.1 参数化的作用 28
2.5.2 参数化的种类 29
2.5.3 参数化的使用 29
2.6 使用数据表 31
2.6.1 数据表的概述 31
2.6.2 数据表的命令详解 32
2.7 定义和恢复场景 43
2.7.1 恢复场景的作用 43
2.7.2 恢复场景的触发类型 43
2.7.3 恢复场景操作实例 43
2.8 调试 50
2.8.1 调试概述 50
2.8.2 单步命令 50
2.8.3 设置断点 52
2.8.4 调试查看器 54
2.9 分析测试结果 57
2.9.1 设置测试运行结果的存储位置 57
2.9.2 查看概要测试结果 57
2.9.3 查看检查点的测试结果 58
2.9.4 设置和查看测试过程的截屏 58
2.9.5 打开已存在的测试运行结果 60
2.10 实现QuickTest操作自动化 60
2.10.1 使用Test Batch Runner执行自动化 60
2.10.2 使用VBScript、JavaScript脚本语言执行自动化 61
2.10.3 使用C#、C++、Visual Basic等高级语言执行自动化 63
2.11 配置Web事件录制 65
2.11.1 事件配置的作用 65
2.11.2 配置事件类型 66
2.12 小结 68
第3章 小型自动化测试实践 69
3.1 需求概述 70
3.1.1 需求分析 70
3.1.2 项目特点 71
3.1.3 自动化可测试性分析 71
3.1.4 需求测试 72
3.2 自动化测试计划 73
3.2.1 自动化测试计划的意义 73
3.2.2 自动化测试计划的引入 74
3.2.3 自动化测试计划的模板 75
3.2.4 自动化测试计划内容的模板 75
3.2.5 场景描述模板 75
3.2.6 自动化测试资源分配模板 76
3.2.7 评审 77
3.3 自动化测试方案 77
3.3.1 自动化成本分析 77
3.3.2 自动化重点模块选取 78
3.3.3 测试环境 79
3.3.4 测试策略 80
3.3.5 执行设计 82
3.3.6 问题定位 83
3.3.7 通过测试标准 83
3.3.8 评审 83
3.4 自动化测试用例设计 84
3.4.1 自动化测试用例的分类设计 84
3.4.2 自动化测试用例模板 87
3.4.3 自动化测试用例设计 89
3.5 自动化测试开发 96
3.5.1 录制前的准备 96
3.5.2 自动化初探——录制/回放 98
3.5.3 怎样真正完成自动化测试 99
3.5.4 增强脚本的易读性 112
3.5.5 增强脚本的处理能力 116
3.5.6 测试系统的结构 125
3.6 自动化测试执行 126
3.6.1 版本控制 126
3.6.2 冒烟测试 126
3.6.3 构建验证测试 126
3.6.4 回归测试 127
3.6.5 测试执行工具的选择 127
3.6.6 Multi Test Manager操作说明 127
3.7 自动化测试报告 133
3.7.1 测试记录 133
3.7.2 Bug提交 133
3.7.3 问题记录 133
3.7.4 自动化测试报告模板 134
3.8 自动化测试的总结——测试设计驱动的“框架” 134
3.8.1 从设计出发的框架模板 134
3.8.2 框架模板应用之——测试设计 136
3.8.3 框架模板应用之——测试开发 136
3.8.4 框架模板应用之——测试执行 139
3.8.5 框架模板应用之——测试结果 142
3.9 小结 143
第4章 大型自动化测试实践 145
4.1 项目测试流程概述 146
4.2 项目立项 147
4.2.1 项目介绍 148
4.2.2 可行性分析 148
4.2.3 资源分析 150
4.2.4 项目预算 151
4.2.5 评审 152
4.3 自动化测试团队资源组建 152
4.3.1 建立自动化测试团队 152
4.3.2 组织结构及职责 153
4.4 自动化测试工作策略确定 153
4.4.1 工作周期 153
4.4.2 自动化测试风险分析 154
4.4.3 手工测试现状分析 154
4.4.4 资源 155
4.4.5 开发方相关信息 155
4.5 自动化测试需求分析 155
4.5.1 业务测试过程可自动化判断标准 155
4.5.2 自动化覆盖率 155
4.5.3 业务测试过程优先级 156
4.5.4 自动化测试需求分析说明书 156
4.5.5 评审 156
4.6 测试计划阶段 156
4.6.1 测试目标 156
4.6.2 项目概述 157
4.6.3 测试对象 158
4.6.4 测试需求跟踪 159
4.6.5 自动化项目通过标准 159
4.6.6 项目挂起和恢复条件 160
4.6.7 任务安排 160
4.7 自动化测试设计 162
4.7.1 自动化测试流程设计 162
4.7.2 自动化测试用例模版 162
4.7.3 自动化测试用例设计 163
4.7.4 自动化测试的代码管理 164
4.7.5 自动化测试开发设计 164
4.7.6 自动化测试框架设计 164
4.8 测试实施阶段 168
4.8.1 自动化测试流程设计 168
4.8.2 测试用例的维护 168
4.8.3 对象库管理 169
4.8.4 自动化测试框架的实现 169
4.8.5 重要组件设计 180
4.8.6 举例:输入框的验证 182
4.8.7 举例:多用户切换&批量操作对象 188
4.8.8 举例:记录的增删改 192
4.9 测试运行阶段 198
4.9.1 QC中测试脚本组织 198
4.9.2 执行场景的设置 200
4.9.3 运行计算机的设置 202
4.9.4 测试执行 203
4.9.5 测试报告查看 204
4.9.6 自动提交Bug 205
4.10 测试分析阶段 205
4.10.1 测试记录 205
4.10.2 Bug提交 206
4.10.3 风险跟踪 207
4.10.4 自动化测试工作周报 208
4.10.5 自动化测试执行结果报告 210
4.10.6 测试评审 213
4.11 测试结项阶段 213
4.11.1 结项报告 213
4.11.2 结项评审 214
4.12 小结 214
第5章 QTP高级应用技巧 215
5.1 异常处理及场景恢复 216
5.1.1 异常处理的解决方案 216
5.1.2 场景恢复函数说明 217
5.2 自定义QTP保留对象 219
5.2.1 在Visual Basic环境下新建一个DLL文件 219
5.2.2 注册DLL文件为标准的COM组件 220
5.2.3 注册自定义QTP保留对象 221
5.2.4 使用自定义QTP保留对象 221
5.3 开发数据库的连接 223
5.4 外部数据读写 224
5.4.1 文本文件的操作 225
5.4.2 文本文件支持QTP数据驱动测试实例 226
5.4.3 Excel文件操作 226
5.4.4 Excel文件支持QTP数据驱动测试实例 227
5.5 获取Web页面返回内容及字符串的解析 228
5.5.1 Dom概述 228
5.5.2 如何获取Web页面的返回值 229
5.5.3 对Web页面解析应用 230
5.6 调用DLL文件 232
5.6.1 使用DLL的场合 232
5.6.2 DLL的使用策略 233
5.7 OCR识别 233
5.7.1 OCR概述 233
5.7.2 OCR的识别之Text Area Output Value(文本区域输出)实例 234
5.7.3 OCR的识别之GetVisibleText实例 234
5.7.4 Web系统实例 236
5.7.5 OCR的开发 237
5.8 XML方向 238
5.8.1 XML在QTP的配置参数中的作用 239
5.8.2 QTP的XML文件的读写操作 241
5.9 类在QTP中的实践 243
5.9.1 声明类 244
5.9.2 实例化类以及实例 244
5.9.3 类中的属性方法使用 247
5.9.4 函数Class_Initialize和Class_Terminate 251
5.10 WSH介绍 252
5.10.1 WSH概述 252
5.10.2 WSH在QTP的具体应用举例 252
5.11 Win32 API 256
5.11.1 WIN32 API函数分类以及如何调用 257
5.11.2 WIN32 API调用实例 258
5.12 AutoItX在QTP的应用 262
5.12.1 AutoItX概述 262
5.12.2 下载与安装AutoItX 263
5.12.3 何时适合使用AutoItX 263
5.12.4 AutoItX实质好处举例 264
5.12.5 AutoItX集成方法概要 266
5.12.6 AutoIt工具 268
5.12.7 AutoItX代码实例与简要分析 268
5.13 小结 270
附录 QTP编码规范 271
参考文献 277
致谢 278
……[看更多目录]
序言随着IT产业的飞速发展,各软件组织在软件研发过程中对测试的投入越来越大。为了降低测试的重复度,提高测试的效率,在测试过程中引入自动化测试成为软件测试领域里的潮流和趋势。很多软件组织已经或正在组建自动化测试团队、实施自动化测试流程、搭建自动化测试框架,同时也把自动化测试技能作为考核测试人员的重要技能指标。
但是由于缺乏适当的标准、规范的引导,在引入自动化测试的过程中,很多软件组织都像是在黑暗中摸索着前行,在不断的试错、纠错中去寻找合适的道路,从而浪费了宝贵的时间,也让自动化测试的效果大打折扣。当前国内软件组织实施自动化测试时面临的主要问题,按实施的不同层次大致包含以下几类。
——人员、资金、资源都不足,认为测试自动化是个遥不可及的事情。
——热血沸腾的购买了自动化测试工具,并开始实施测试自动化。但由于对自动化测试的适用范围、对象、技术活动没有正确而全面的认识,要么在不该进行自动化测试的地方尝试自动化测试,要么对自动化测试抱有不切实际的期望,一开始就产生了方向性的错误,导致无法取得预期的效果,最终放弃了自动化测试。几个月后,工具放在那里成了共享资源,测试又回到了原来的模式。
——公司实施了自动化测试,并且对自动化测试的范围、对象等有了正确的认识。但在具体实施自动化测试时,或者遗漏了一些技术环节,或者在这些技术环节上缺乏技术积累,如工具选择不准确、培训不到位、缺乏自动化测试分析、测试文档不完备、脚本可维护度低等,导致自动化测试效果不佳。虽然还在勉强维持自动化测试,但实施的成本比手工测试还要高,工作量比从前更大,从而造成项目团队人员怨声载道,甚至想放弃自动化测试的推行。
——实施自动化测试相对比较成功,基本上不存在技术环节上的障碍。但在自动化测试流程建设上尚有很多不足,如缺乏明确的自动化测试各阶段活动的定义、入口出口准则的定义、自动化测试各活动中人员职责定义、开发和测试在自动化测试活动中的沟通渠道定义、自动化测试各活动的输出工作件定义及其配置管理等,这些流程的缺乏可能会导致自动化测试不规范,测试结果的好坏不可控,从而影响自动化测试的效果。
本书的5位作者出于对软件自动化测试事业的热爱,愿意奉献出其多年丰富的自动化测试实践经验,来与读者分享,为早日形成自动化测试的行业标准规范,起到添砖加瓦的作用;也希望通过自己的经验,帮助自动化测试刚起步的公司尽量少走弯路。
本书围绕真实的不同成熟度等级的软件测试项目,利用当今最流行的自动化测试工具之一QTP,由浅入深地介绍了自动化测试在项目中的引入和推进。区别于一般的书籍,这本书的主体不是以“字典”的形式灌输知识,而是以经验交流的形式轻松的阐述。本书囊括了5位自动化测试专家在自动化测试引入中的珍贵经验与工作素材,让读者在两个真实的测试项目中,体会自动化测试“技术的理性”与“艺术的感性”,可以为读者自己的实际工作起到良好的借鉴作用。虽然本书是以QTP为依托而写,但在很多QTP不适用的自动化测试领域,也可以借鉴本书的一些思想。
感谢5位作者为测试界同仁分享出自己的知识,相信对自动化测试有兴趣的读者阅读此书定能有很多的收获!