第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