第1章 软件测试基础 1
1.1 软件质量 1
1.1.1 软件质量保证 3
1.1.2 质量成本 4
1.2 软件测试 5
1.2.1 软件测试的定义 6
1.2.2 软件测试的目的 8
1.2.3 软件测试的原则 8
1.3 软件缺陷 9
1.3.1 软件缺陷的定义 9
1.3.2 软件缺陷的分类 10
1.4 测试用例 11
1.5 软件测试分类 13
1.6 本章小结 15
第2章 软件测试模型与过程 16
2.1 软件测试模型 16
2.1.1 V模型 16
2.1.2 W模型 17
2.1.3 X模型 18
2.1.4 H模型 19
2.2 软件测试过程 20
2.3 本章小结 21
第3章 软件测试管理 23
3.1 测试团队建设与管理 25
3.1.1 测试团队的建设 25
3.1.2 软件测试经理 27
3.1.3 测试小组的分类 28
3.1.4 测试团队成员的合适人选 28
3.2 软件测试计划 30
3.2.1 测试计划模板 31
3.2.2 测试计划跟踪与监控 33
3.3 缺陷管理 35
3.3.1 缺陷状态与管理流程 35
3.3.2 缺陷数据分析 36
3.3.3 测试有效性度量 37
3.4 本章小结 38
第4章 黑盒测试 40
4.1 边界值测试 40
4.1.1 边界条件 40
4.1.2 边界值分析 42
4.1.3 健壮性边界测试 43
4.1.4 最坏情况测试 44
4.1.5 案例 45
4.2 等价类测试 47
4.2.1 等价类 47
4.2.2 等价类测试类型 49
4.2.3 用等价类设计测试用例 51
4.2.4 等价类测试指导方针 52
4.2.5 案例 52
4.3 基于判定表的测试 55
4.3.1 判定表的组成 56
4.3.2 基于判定表的测试 57
4.3.3 基于判定表测试的指导方针 57
4.3.4 案例 58
4.4 因果图 62
4.4.1 因果图的概念 62
4.4.2 因果图测试法 63
4.4.3 案例 64
4.5 其他黑盒测试方法 67
4.6 综合案例 71
4.7 本章小结 73
第5章 白盒测试 76
5.1 程序结构分析 76
5.1.1 基本概念 76
5.1.2 程序的控制流图 77
5.2 逻辑覆盖 79
5.2.1 语句覆盖 80
5.2.2 判定覆盖 81
5.2.3 条件覆盖 82
5.2.4 判定-条件覆盖 83
5.2.5 条件组合覆盖 84
5.2.6 路径覆盖 85
5.2.7 案例 87
5.3 路径测试 89
5.3.1 基路径测试 89
5.3.2 循环测试 95
5.4 数据流测试 98
5.5 其他白盒测试方法 102
5.6 本章小结 103
第6章 单元测试 109
6.1 单元测试概述 109
6.1.1 单元测试的概念 110
6.1.2 单元测试的目的 110
6.1.3 单元测试的过程 112
6.1.4 单元测试的意义 113
6.2 单元测试的环境 114
6.3 单元测试的内容 115
6.4 单元测试的策略和方法 116
6.5 案例 133
6.6 本章小结 147
第7章 集成测试 149
7.1 集成测试概述 149
7.1.1 集成测试的定义 150
7.1.2 集成测试的过程 151
7.2 基于功能分解的集成 152
7.3 基于调用图的集成 156
7.4 基于路径的集成 158
7.5 其他集成测试方法 160
7.6 案例 162
7.7 本章小结 178
第8章 系统测试 180
8.1 系统测试概述 180
8.1.1 系统测试的定义 180
8.1.2 系统测试的过程 181
8.2 系统测试的内容 182
8.2.1 功能测试 182
8.2.2 用户界面测试 184
8.2.3 性能测试 186
8.2.4 负载测试 195
8.2.5 压力测试 196
8.2.6 兼容性测试 196
8.2.7 安全性测试 197
8.2.8 其他测试类型 198
8.3 Web系统的测试 200
8.3.1 Web系统结构概述 200
8.3.2 Web系统的功能测试内容 200
8.3.3 Web系统的性能测试内容 202
8.3.4 其他测试内容 203
8.4 本章小结 207
第9章 面向对象软件的测试 208
9.1 面向对象技术对软件测试的影响 208
9.1.1 封装对测试的影响 209
9.1.2 信息隐藏对测试的影响 214
9.1.3 继承对测试的影响 218
9.1.4 多态和动态绑定对测试的影响 223
9.2 面向对象软件测试的层次 223
9.3 面向对象的单元测试 225
9.3.1 以方法为单元 225
9.3.2 以类为单元 226
9.4 面向对象的集成测试 228
9.4.1 基于UML的集成测试 228
9.4.2 基于MM-路径的集成测试 230
9.5 面向对象的系统测试 230
9.6 面向对象的测试和传统测试的比较 230
9.7 本章小结 231
第10章 自动化测试 232
10.1 自动化测试概述 232
10.1.1 软件自动化测试 232
10.1.2 自动化测试的使用领域 234
10.2 自动化测试技术 237
10.3 自动化测试工具 240
10.3.1 测试工具分类 240
10.3.2 测试工具介绍 241
10.3.3 测试工具的选择 253
10.4 本章小结 254
第11章 Web系统测试案例 255
11.1 博客系统概述 255
11.2 博客系统测试计划 257
11.2.1 测试需求 257
11.2.2 测试资源 257
11.2.3 测试策略 258
11.2.4 测试标准 263
11.3 博客系统功能测试 264
11.3.1 登录个人主页的测试 264
11.3.2 发表日志模块的测试 270
11.3.3 相册模块的测试 279
11.3.4 链接测试 281
11.4 博客系统性能测试 283
11.4.1 测试计划 285
11.4.2 测试用例设计 286
11.4.3 测试脚本开发 289
11.4.4 测试环境 294
11.4.5 测试执行 295
11.4.6 测试结果分析 300
11.5 其他非功能性测试 302
11.6 本章小结 304
附录A 单元测试案例测试环境搭建 305
附录B 软件测试术语 307
附录C 软件测试相关网站 313
参考文献 314