本书根据软件测试教学的需要? 结合软件测试未来的职业要求和定
位? 除了尽量全面地阐述软件测试技术的基本概念外? 还按照软件测试递
进的职业能力要求来组织本书的内容? 使学生的学习能够循序渐进? 并且
符合软件测试职业发展的一般过程? 同时在书中注重按照工程步骤来介绍
软件测试的相关知识? 使学生在学习软件测试的知识时? 能够获得工程化
思维方式的训练?
本书共6 章? 第1 章介绍软件测试的基本知识? 第2 章介绍如何快速
进行系统测试并提交错误报告? 第3 章介绍测试用例的设计和相关技术?
第4 章介绍业界主流企业版和开源测试工具的功能、性能、Web 自动化以
及应用? 第5 章介绍测试技术与应用? 第6 章介绍如何成为的测试
组长?
本书内容充实、有大量可操作性实例、实用性强? 可作为高职高专院
校软件技术专业软件测试技术课程的教材? 也可作为有关软件测试的培训
教材? 对从事软件测试实际工作的相关技术人员也具有一定的参考价值?
本书配有电子课件、微课视频等教学资源? 可扫描书中二维码观看微
课视频? 使用本书作为教材的教师可登录机械工业出版社教育服务网
www?? cmpedu?? com 下载? 咨询邮箱: cmpgaozhi @ sina?? com? 咨询电话:
010 ̄88379375?
前 言
二维码索引
第1 章 开始软件测试工作………………… 1
能力目标………………………………………… 1
本章要点………………………………………… 1
1?? 1 软件开发过程…………………………… 1
1?? 1?? 1 瀑布模型…………………………… 2
1?? 1?? 2 原型模型…………………………… 3
1?? 1?? 3 增量模型…………………………… 3
1?? 1?? 4 螺旋模型…………………………… 4
1?? 1?? 5 小结………………………………… 4
1?? 2 软件质量保证…………………………… 5
1?? 2?? 1 软件质量的定义…………………… 5
1?? 2?? 2 软件错误定义……………………… 6
1?? 2?? 3 软件质量保证……………………… 6
1?? 3 测试一个小软件………………………… 7
1?? 3?? 1 软件功能…………………………… 7
1?? 3?? 2 寻找错误…………………………… 8
1?? 4 理解软件测试…………………………… 9
1?? 4?? 1 基本概念…………………………… 9
1?? 4?? 2 测试用例…………………………… 11
1?? 4?? 3 软件错误的产生原因……………… 11
1?? 4?? 4 测试人员的目标和主要工作……… 12
1?? 5 软件测试的分类………………………… 13
1?? 5?? 1 黑盒测试和白盒测试……………… 14
1?? 5?? 2 静态测试和动态测试……………… 15
1?? 5?? 3 测试的不同阶段…………………… 15
1?? 5?? 4 测试目的和内容…………………… 18
1?? 5?? 5 测试的各种分类之间的关系……… 18
1?? 6 软件测试工作流程……………………… 19
1?? 6?? 1 测试工作的主要步骤……………… 19
1?? 6?? 2 测试信息流………………………… 20
1?? 7 测试人员的能力要求和职业前景……… 20
1?? 7?? 1 测试工程师职业素质……………… 20
1?? 7?? 2 测试工程师职业前景……………… 21
小结…………………………………………… 22
关键术语……………………………………… 23
思考题………………………………………… 23
第2 章 执行系统测试……………………… 24
能力目标……………………………………… 24
本章要点……………………………………… 24
2?? 1 任务概述………………………………… 24
2?? 2 快速熟悉被测系统……………………… 25
2?? 3 建立系统测试环境……………………… 26
2?? 4 报告测试结果…………………………… 28
2?? 4?? 1 软件错误的分类…………………… 28
2?? 4?? 2 错误严重性与数量的关系………… 30
2?? 4?? 3 软件错误报告的内容……………… 30
2?? 4?? 4 报告错误的技巧…………………… 32
2?? 4?? 5 错误的重现………………………… 38
2?? 5 管理软件错误…………………………… 40
2?? 6 测试报告………………………………… 44
2?? 7 进行有效沟通………………………… 46
2?? 7?? 1 测试人员需要从其他人那里
得到什么…………………………… 46
2?? 7?? 2 其他人需要从测试人员那里
得到什么…………………………… 46
小结…………………………………………… 47
关键术语……………………………………… 47
思考题………………………………………… 47
第3 章 测试用例设计……………………… 48
能力目标……………………………………… 48
本章要点……………………………………… 48
3?? 1 任务概述………………………………… 48
3?? 2 开发测试用例…………………………… 49
3?? 2?? 1 了解测试用例……………………… 49
3?? 2?? 2 定义详细测试过程………………… 50
3?? 2?? 3 定义预期结果……………………… 51
3?? 2?? 4 设置与清除………………………… 51
Ⅵ
3?? 2?? 5 测试用例内容……………………… 52
3?? 2?? 6 白盒测试用例设计………………… 56
3?? 2?? 7 黑盒测试用例设计………………… 61
3?? 2?? 8 黑盒测试与白盒测试的比较
和选择……………………………… 75
3?? 2?? 9 常见错误分析……………………… 77
3?? 3 评审测试用例…………………………… 78
小结…………………………………………… 79
关键术语……………………………………… 79
思考题………………………………………… 80
第4 章 测试工具应用……………………… 81
能力目标……………………………………… 81
本章要点……………………………………… 81
4?? 1 任务概述………………………………… 81
4?? 2 手工测试与自动化测试………………… 82
4?? 3 自动化测试工具选择…………………… 83
4?? 4 功能测试工具Quicktest Professional …… 85
4?? 4?? 1 QTP 的作用………………………… 85
4?? 4?? 2 如何录制和运行一个测试………… 87
4?? 4?? 3 QTP 如何识别对象………………… 92
4?? 4?? 4 让QTP 自动检查测试
结果………………………………… 99
4?? 4?? 5 参数化测试……………………… 106
4?? 4?? 6 建立输出值……………………… 111
4?? 4?? 7 将测试拆分为多操作…………… 114
4?? 4?? 8 了解关键字驱动测试…………… 116
4?? 4?? 9 QTP 应用常见问题……………… 118
4?? 4?? 10 QTP 应用总结…………………… 119
4?? 5 负载测试工具LoadRunner …………… 120
4?? 5?? 1 LR 的作用………………………… 120
4?? 5?? 2 LR 工具组成……………………… 121
4?? 5?? 3 LR 性能测试操作流程…………… 122
4?? 5?? 4 利用VuGen 开发测试脚本……… 124
4?? 5?? 5 利用Controller 创建运行场景…… 149
4?? 5?? 6 利用Analysis 分析测试结果…… 163
4?? 5?? 7 LR 使用中的一些问题…………… 168
4?? 5?? 8 LR 总结…………………………… 169
4?? 6 Web 自动化测试工具Selenium ……… 170
4?? 6?? 1 Selenium 的作用………………… 170
4?? 6?? 2 Selenium 的环境搭建…………… 171
4?? 6?? 3 Selenium 中的元素定位………… 174
4?? 6?? 4 Selenium 中的元素等待机制…… 180
4?? 6?? 5 Selenium API ……………………… 181
4?? 6?? 6 特殊元素的定位与操作………… 181
4?? 6?? 7 TestNG 测试框架………………… 187
4?? 7 压力测试工具JMeter ………………… 195
4?? 7?? 1 JMeter 的作用…………………… 195
4?? 7?? 2 JMeter 环境部署………………… 195
4?? 7?? 3 JMeter 测试的基本流程………… 196
4?? 7?? 4 理解JMeter 中的术语…………… 201
4?? 7?? 5 利用JMeter 脚本录制…………… 206
4?? 7?? 6 利用JMeter 实施压力测试……… 210
小结…………………………………………… 215
关键术语……………………………………… 216
思考题………………………………………… 216
第5 章 测试技术与应用………………… 217
能力目标……………………………………… 217
本章要点……………………………………… 217
5?? 1 任务概述……………………………… 217
5?? 2 总体规划设计………………………… 218
5?? 2?? 1 定义测试策略…………………… 218
5?? 2?? 2 定义输入说明…………………… 219
5?? 2?? 3 定义测试环境和配置…………… 219
5?? 2?? 4 测试设计文档…………………… 219
5?? 3 功能测试……………………………… 219
5?? 3?? 1 从需求中获取什么……………… 220
5?? 3?? 2 测试用例设计方法选择………… 221
5?? 3?? 3 测试用例的覆盖率……………… 223
5?? 4 错误处理测试………………………… 224
5?? 5 用户界面测试………………………… 226
5?? 6 性能测试……………………………… 229
5?? 6?? 1 对性能测试的认识……………… 230
5?? 6?? 2 网络软件性能测试要点………… 232
5?? 6?? 3 性能测试实施流程……………… 235
5?? 7 兼容性测试…………………………… 239
5?? 8 安全性测试…………………………… 240
5?? 9 安装与卸载测试……………………… 241
5?? 10 回归测试……………………………… 242
5?? 11 内存泄漏测试………………………… 243
5?? 12 文档测试……………………………… 244
5?? 13 探索式测试…………………………… 244
5?? 14 Web 应用系统测试…………………… 245
小结…………………………………………… 248
关键术语……………………………………… 248
思考题………………………………………… 249
Ⅶ
第6 章 成为优秀的测试组长…………… 250
能力目标……………………………………… 250
本章要点……………………………………… 250
6?? 1 任务概述……………………………… 250
6?? 2 为什么要写测试计划………………… 251
6?? 3 测试计划内容和要点………………… 251
6?? 4 测试计划制定过程…………………… 252
6?? 5 分析和测试软件需求………………… 253
6?? 6 测试策略……………………………… 256
6?? 6?? 1 确定测试范围…………………… 257
6?? 6?? 2 选择测试方法…………………… 259
6?? 6?? 3 测试标准………………………… 259
6?? 6?? 4 自动化测试工具的选择………… 261
6?? 6?? 5 测试软件的编写………………… 262
6?? 6?? 6 合理减少测试工作量…………… 263
6?? 7 测试环境……………………………… 263
6?? 7?? 1 测试环境的环境项……………… 264
6?? 7?? 2 如何配置测试环境……………… 267
6?? 8 测试管理……………………………… 268
6?? 8?? 1 缺陷管理工具和测试管理工具… 268
6?? 8?? 2 定义工作进度…………………… 269
6?? 8?? 3 建立风险管理计划……………… 273
6?? 9 编写和审核测试计划………………… 274
6?? 9?? 1 编写系统测试计划文档………… 274
6?? 9?? 2 单元测试计划表格……………… 275
6?? 9?? 3 审核测试计划文档……………… 276
小结…………………………………………… 277
关键术语……………………………………… 278
思考题………………………………………… 278
附录 IEEE 模板…………………………… 279
参考文献……………………………………… 286