本书从实际出发,通过典型案例系统地介绍了软件测试的流程和相应的测试技术。其中,第1、2 章的主要内容是软件测试的起源及发展、现状及前景,以及软件测试的定义、分类、标准等;第3 章、第4 章的主要内容是软件测试的重点与难点分析、常见测试类型、测试策略与方法、常见软件问题等;第5 章主要讲述的是软件测试5 个典型阶段的工作要点;第6 章的主要内容是测试过程管理的配置管理、质量监督和成果评审;第7 章的主要内容是测试项目实践。本书内容丰富,论述深入浅出,有较强的实用性和可操作性,可供软件测试、软件工程等专业的大学生、研究生及工程技术人员学习和参考。
作者长期从事软件工程、网络安全、密码应用领域科研与实践工作,主持和参与制订多项国家标准和行业标准,编著多本著作,参与多项国家重点科研项目的立项论证、过程监督和验收评审,完成多项国家重点科研项目,指导多名研究生课题工作。
第1章 软件测试概述 1
1.1 软件测试的起源及发展 1
1.2 软件测试的现状及前景 6
1.3 软件测试工程师应具备的素质 10
第2章 软件测试基础 15
2.1 软件测试的定义 15
2.1.1 软件测试的狭义和广义观点 16
2.1.2 软件测试的辩证观点 16
2.1.3 软件测试的风险观点 17
2.1.4 软件测试的经济学观点 18
2.1.5 软件测试的标准观点 19
2.2 软件测试原则 19
2.3 软件测试目标 21
2.4 软件测试分类 21
2.4.1 从是否关心内部结构划分 21
2.4.2 从是否执行程序划分 22
2.4.3 从软件开发过程阶段划分 24
2.5 软件测试标准 31
2.5.1 国家标准 31
2.5.2 国家军用标准 32
第3章 非嵌入式软件测试分析 34
3.1 概述 34
3.1.1 基本定义 34
3.1.2 开发过程 36
3.1.3 运行和开发平台 39
3.1.4 特点 42
3.2 主要测试内容 43
3.2.1 重难点分析 43
3.2.2 常见测试类型 44
3.2.3 测试策略与方法 47
3.3 测试环境与工具 49
3.3.1 测试环境 50
3.3.2 测试数据 52
3.3.3 测试工具 54
3.4 常见问题 57
3.4.1 软件规范问题 58
3.4.2 业务规范问题 59
3.4.3 逻辑控制问题 61
3.4.4 数据控制问题 62
3.4.5 报表和查询问题 63
3.4.6 打印相关操作问题 63
3.4.7 接口及数据交互问题 64
3.4.8 权限及安全问题 64
3.4.9 备份与恢复问题 65
3.4.10 并发问题 65
3.4.11 升级问题 66
第4章 嵌入式软件测试分析 67
4.1 概述 67
4.1.1 基本定义 67
4.1.2 开发过程 68
4.1.3 运行和开发平台 74
4.1.4 特点 80
4.2 主要测试内容 82
4.2.1 重难点分析 82
4.2.2 常见测试类型 84
4.2.3 测试策略与方法 87
4.3 测试环境与工具 90
4.3.1 测试环境 90
4.3.2 测试数据 93
4.3.3 测试工具 94
4.4 常见问题 96
4.4.1 余量问题 96
4.4.2 中断问题 98
4.4.3 运算符优先级问题 99
4.4.4 常数符号问题 99
4.4.5 移位问题 99
第5章 测试设计与实现 100
5.1 测试需求分析 100
5.1.1 测试需求分析内容 100
5.1.2 测试需求分析重点 101
5.1.3 测试需求提取方法和步骤 108
5.1.4 测试项编写 111
5.1.5 测试项充分性追踪 148
5.1.6 测试需求评审 149
5.2 测试策划 150
5.2.1 测试策划内容 150
5.2.2 测试策划编写 150
5.2.3 测试策划评审 164
5.3 测试设计和实现 165
5.3.1 测试用例框架设计 165
5.3.2 典型用例设计分析 166
5.3.3 测试用例管理 180
5.3.4 测试环境搭建 182
5.3.5 测试说明评审 186
5.4 测试执行 186
5.4.1 测试就绪评审 187
5.4.2 测试用例执行 187
5.4.3 测试结果记录 187
5.4.4 测试问题记录 189
5.4.5 回归测试执行 197
5.5 测试总结 201
5.5.1 测试工作分析 201
5.5.2 测试结果分析 204
5.5.3 测试报告编写 205
5.5.4 测试总结评审 211
第6章 测试过程管理 212
6.1 配置管理 212
6.1.1 配置管理概念 212
6.1.2 配置管理计划 213
6.1.3 基线管理 214
6.1.4 四库管理 215
6.1.5 变更控制 217
6.1.6 配置状态报告 219
6.2 质量监督 220
6.2.1 需求分析与策划阶段的质量监督 220
6.2.2 设计与实现阶段的质量监督 221
6.2.3 执行阶段的质量监督 223
6.2.4 总结阶段的质量监督 224
6.3 成果评审 225
6.3.1 阶段评审的作用 225
6.3.2 测试需求规格说明书评审 225
6.3.3 测试计划评审 228
6.3.4 测试说明评审 231
6.3.5 测试就绪评审 233
6.3.6 测试记录评审 235
6.3.7 测试报告评审 237
6.3.8 测试总结评审 239
第7章 测试项目实践 242
7.1 被测软件介绍 242
7.1.1 功能性需求 243
7.1.2 用户界面需求 245
7.1.3 系统接口需求 245
7.1.4 计算机资源需求 246
7.1.5 其他需求 246
7.2 测试需求分析与策划 247
7.2.1 被测软件分析 247
7.2.2 测试项分析 250
7.2.3 测试项示例 265
7.2.4 测试环境 278
7.3 测试设计与实现 280
7.3.1 文档审查 280
7.3.2 功能测试 281
7.3.3 性能测试 294
7.3.4 接口测试 295
7.3.5 人机交互界面测试 297
7.3.6 强度测试 298
7.3.7 余量测试 299
7.3.8 安全性测试 299
7.3.9 恢复性测试 299
7.3.10 边界测试 300
7.3.11 数据处理测试 301
7.3.12 安装性测试 301
7.3.13 容量测试 302
7.3.14 兼容性测试 302
7.4 测试执行 302
7.4.1 严重问题 303
7.4.2 一般问题 304
7.5 测试总结 305
7.5.1 测试结果 306
7.5.2 评价结论与改进意见 308
参考文献 310