第1章 软件测试概述 1
1.1 软件测试背景 1
1.2 软件缺陷及分级 2
1.2.1 软件缺陷的定义 2
1.2.2 软件缺陷的分类 3
1.2.3 软件缺陷的产生 4
1.2.4 软件缺陷的构成 5
1.2.5 修复软件缺陷的代价 6
1.3 软件测试基本理论 7
1.3.1 软件测试的定义 7
1.3.2 软件测试的目的和原则 7
1.3.3 软件测试与软件开发的关系 8
1.4 软件测试过程 9
1.4.1 软件测试过程模型 9
1.4.2 软件测试过程管理原则 14
1.5 软件测试流程 15
1.5.1 软件测试流程细则 16
1.5.2 软件测试注意事项 18
1.6 软件测试职业与素质 19
本章小结 21
课后习题 21
第2章 软件测试方法 22
2.1 软件测试的分类 22
2.1.1 静态测试与动态测试 22
2.1.2 黑盒测试与白盒测试 24
2.1.3 人工测试与自动化测试 27
2.2 软件测试覆盖率 31
2.3 软件测试阶段 34
2.3.1 软件测试的阶段性 34
2.3.2 软件测试各阶段的文档 36
2.4 软件测试用例 37
2.4.1 软件测试用例概述 37
2.4.2 设计测试用例 38
2.4.3 黑盒测试用例设计方法 40
2.4.4 白盒测试用例设计方法 52
2.5 执行测试与结果分析 56
2.5.1 执行测试 56
2.5.2 测试结果分析和质量评估 57
本章小结 59
课后习题 59
第3章 软件质量保证 60
3.1 软件质量定义及标准 60
3.1.1 软件质量定义 60
3.1.2 软件质量标准 62
3.2 软件质量保证 64
3.2.1 SQA概述 64
3.2.2 SQA工作 65
3.2.3 SQA与软件测试的关系 66
3.3 软件可靠性 67
本章小结 69
课后习题 69
第4章 软件测试策略、质量标准与规范 70
4.1 软件测试策略 70
4.1.1 测试策略的概念 70
4.1.2 影响测试策略的因素 71
4.1.3 测试策略的确定 71
4.2 软件测试标准 72
4.2.1 ISO质量体系标准简介 72
4.2.2 ISO/GB软件质量体系标准 73
4.2.3 ISO 9000-3介绍 74
4.3 软件测试规范 74
4.3.1 概述 74
4.3.2 软件测试规范简介 74
4.4 CMM结构体系 76
4.4.1 CMM的历史 76
4.4.2 CMM的5个等级及关键过程域 76
4.4.3 CMMI 79
4.4.4 CMM与ISO 9001思想及结构体系的关系 81
本章小结 82
课后习题 82
第5章 软件测试技术 83
5.1 单元测试 83
5.1.1 单元测试概述 84
5.1.2 单元测试内容 84
5.1.3 单元测试的步骤 86
5.2 集成测试 87
5.2.1 集成测试概述 87
5.2.2 系统的集成模式 88
5.2.3 集成测试策略 88
5.3 系统测试 91
5.3.1 系统测试概述 91
5.3.2 系统测试的方法 92
5.3.3 系统测试过程 93
5.4 验收测试 93
5.4.1 验收测试概述 93
5.4.2 验收测试的方法 93
5.4.3 验收测试的过程 94
5.5 回归测试 95
5.6 面向对象软件的测试 97
5.6.1 面向对象测试概述 97
5.6.2 面向对象测试策略 98
5.7 基于服务器应用的测试 100
5.7.1 基于Web服务器应用的测试 100
5.7.2 基于数据库服务器的测试 101
5.7.3 基于J2EE平台的测试 104
5.8 软件自动化测试 105
5.8.1 软件自动化测试概述 105
5.8.2 软件自动化测试实施 106
本章小结 108
课后习题 108
第6章 软件测试管理 109
6.1 软件测试过程管理 109
6.1.1 测试计划 109
6.1.2 测试设计和开发 110
6.1.3 测试执行 112
6.1.4 测试评估 113
6.1.5 测试结果分析和质量报告 113
6.2 软件测试人员组织管理 114
6.3 软件测试需求管理 115
6.4 软件测试文档管理 117
6.5 软件测试配置管理 119
6.6 软件测试风险管理 120
本章小结 122
课后习题 122
第7章 实用软件测试工具 123
7.1 软件测试工具的分类与选择 123
7.2 RUP 125
7.3 Rational测试工具的安装与配置 126
7.3.1 Rational测试工具的安装 126
7.3.2 Rational测试工具的配置 130
7.4 Rational TestManager基本使用 132
7.4.1 概述 132
7.4.2 Rational TestManager工作流程 133
7.4.3 其他Rational产品 135
7.4.4 Rational TestManager工作步骤 138
7.5 Rational Purify基本使用 142
7.5.1 概述 142
7.5.2 Rational Purify功能描述 142
7.5.3 Rational Purify参数的设置 143
7.5.4 应用举例 149
7.6 Rational Quantify基本使用 153
7.6.1 概述 153
7.6.2 Rational Quantify功能描述 153
7.6.3 Rational Quantify参数的设置 153
7.6.4 应用举例 157
7.7 Rational PureCoverage基本使用 160
7.7.1 概述 160
7.7.2 Rational PureCoverage功能描述 160
7.7.3 Rational PureCoverage参数的设置 161
7.7.4 应用举例(检测程序代码的测试覆盖率) 163
7.8 Rational Robot基本使用 167
7.8.1 概述 167
7.8.2 Rational Robot基本使用说明 167
7.8.3 Rational Robot参数的设置 169
7.8.4 记录GUI脚本 171
7.8.5 在GUI Script中加入特写 177
7.8.6 使用验证点 180
7.8.7 使用Data pool 181
7.8.8 编辑GUI脚本 184
7.8.9 编译GUI脚本 185
7.8.10 调试GUI脚本 186
7.8.11 回放GUI脚本 187
7.8.12 VU脚本 188
7.9 Rational Function Tester基本使用 190
7.9.1 概述 190
7.9.2 Rational Function Tester基本使用说明 191
7.9.3 Rational Functional Tester脚本 193
7.10 Rational Performance Tester基本使用 198
7.10.1 概述 198
7.10.2 Rational Performance Tester基本使用说明 199
7.10.3 录制人力资源管理系统脚本 200
7.10.4 测试验证点 202
7.10.5 数据池 204
7.10.6 性能调度 205
7.10.7 分析测试结果 207
本章小结 207
课后习题 207
第8章 测试实例分析 208
8.1 基于C++的个人财务管理系统 208
8.1.1 系统简介 208
8.1.2 测试计划 213
8.1.3 测试设计 215
8.1.4 测试实施 217
8.1.5 测试的执行 220
8.1.6 测试的评估 222
8.2 基于J2EE的电子商务系统 224
8.2.1 系统简介 224
8.2.2 测试计划 226
8.2.3 测试设计 227
8.2.4 测试实施 229
8.2.5 测试的执行和评估 235
8.3 基于JSTL的企业信息化系统 242
8.3.1 系统简介 242
8.3.2 测试计划 243
8.3.3 测试设计 244
8.3.4 测试实施 246
8.3.5 测试的执行和评估 255
本章小结 257
课后习题 257
第9章 软件测试技术的新发展 258
9.1 软件测试行业的现状及对策 258
9.2 软件测试的发展趋势 260
9.2.1 测试与开发相融合、测试驱动开发模式出现并应用 260
9.2.2 测试领域和热点悄然发生变化 262
9.2.3 测试外包服务将快速增长 263
9.3 软件测试技术研究的方向 263
9.3.1 基于模型的软件测试技术 263
9.3.2 完全自动化测试 265
9.3.3 测试效率最大化 266
本章小结 266
附录A 常用软件测试术语中英文对照及说明 267
附录B UML基础 270
附录C 测试计划模板 277
参考文献 291