第1章 软件测试的基础理论 1
1.1 软件测试的含义 1
1.1.1 软件缺陷 1
1.1.2 软件测试技术的发展历史及现状 6
1.2 软件测试的目的与原则 7
1.3 软件测试的生命周期 9
1.4 软件测试与软件开发的关系 10
小结 12
习题 12
第2章 软件测试方法 13
2.1 软件测试方法概述 13
2.2 静态测试与动态测试 13
2.2.1 静态测试 14
2.2.2 动态测试 15
2.3 黑盒测试方法 15
2.3.1 黑盒测试方法概述 16
2.3.2 等价类划分法 17
2.3.3 边界值分析法 21
2.3.4 决策表法 24
2.3.5 因果图法 27
2.3.6 各种黑盒测试方法的选择 31
2.3.7 黑盒测试的优缺点 31
2.4 白盒测试 32
2.4.1 逻辑覆盖测试 33
2.4.2 路径分析测试 38
2.4.3 其他白盒测试方法 44
小结 46
习题 47
第3章 软件测试流程 48
3.1 软件测试的复杂性与经济性分析 48
3.1.1 软件测试的复杂性 48
3.1.2 软件测试的经济性 51
3.1.3 软件测试的充分性准则 52
3.1.4 软件测试的误区 52
3.2 软件测试的流程 53
3.3 单元测试 55
3.4 集成测试 58
3.5 确认测试 63
3.6 系统测试 64
3.7 验收测试 69
小结 73
习题 74
第4章 软件测试环境的搭建 75
4.1 测试环境的作用 75
4.2 测试环境的要素 76
4.3 搭建测试实验室步骤 77
4.4 测试环境的管理与维护 79
4.5 测试环境搭建举例 81
4.5.1 JSP站点测试环境的搭建 81
4.5.2 用VMare模拟搭建单机多系统测试环境 89
小结 97
习题 97
第5章 软件测试用例设计 98
5.1 测试用例概述 98
5.2 黑盒测试用例设计 101
5.3 白盒测试用例设计 107
小结 110
习题 110
第6章 软件测试计划与相关文档 112
6.1 测试计划的制定 112
6.1.1 测试计划 112
6.1.2 测试计划的制定 113
6.1.3 软件开发、软件测试与测试计划制定的并行关系 115
6.2 测试文档 116
6.2.1 测试文档 116
6.2.2 软件生命周期各阶段的测试任务与可交付的文档 117
6.3 测试用例文档的设计 119
6.4 测试总结报告 120
小结 122
习题 122
第7章 软件自动化测试 123
7.1 软件自动化测试概述 123
7.1.1 自动化测试的定义及发展简史 123
7.1.2 软件测试自动化的必然性 124
7.1.3 软件测试自动化的引入时机 126
7.1.4 国内软件自动化测试实施现状分析 127
7.1.5 软件测试自动化的引入条件 127
7.2 自动化测试的策略与运用 129
7.2.1 自动化测试策略 129
7.2.2 自动测试的运用步骤 130
7.2.3 测试工具的运用及作用 135
7.2.4 自动化测试产生的问题 140
7.3 常用自动化测试工具简介 141
小结 144
习题 144
第8章 面向对象的软件测试 145
8.1 面向对象软件测试的基本概念 145
8.1.1 面向对象软件设计的基本概念 145
8.1.2 面向对象软件开发过程及其特点 146
8.1.3 面向对象软件测试的基本概念 147
8.2 面向对象测试的内容与范围 150
8.2.1 面向对象分析的测试(OOA Test) 150
8.2.2 面向对象设计的测试(OOD Test) 155
8.2.3 面向对象编程的测试(OOP Test) 159
8.2.4 面向对象的单元测试(OO Unit Test) 160
8.2.5 面向对象的集成测试(OO Integrate Test) 161
8.2.6 面向对象的系统测试(OO System Test) 163
8.2.7 面向对象的其他测试 164
8.3 面向对象软件测试技术与方法 165
8.3.1 分析和设计模型测试技术 165
8.3.2 类测试技术 166
8.3.3 类层次结构测试技术 170
8.3.4 对象交互测试技术 172
8.4 面向对象软件测试用例设计 173
8.5 面向对象测试的基本步骤 175
8.5.1 单元测试 175
8.5.2 组装测试 176
8.5.3 确认测试 176
8.6 面向对象测试工具JUnit 176
8.6.1 JUnit简介 176
8.6.2 JUnit的安装和配置 177
8.6.3 JUnit中常用的接口和类 177
8.6.4 用JUnit进行类测试实例 178
小结 179
习题 179
第9章 Web网站测试 180
9.1 Web网站的测试 180
9.2 功能测试 181
9.2.1 页面内容测试 182
9.2.2 页面链接测试 183
9.2.3 表单测试 183
9.2.4 Cookies测试 185
9.2.5 设计语言测试 185
9.2.6 功能测试用例 185
9.3 性能测试 186
9.3.1 负载测试 186
9.3.2 压力测试 187
9.3.3 连接速度测试 187
9.4 安全性测试 188
9.5 可用性/可靠性测试 190
9.5.1 导航测试 190
9.5.2 Web图形测试 191
9.5.3 图形用户界面(GUI)测试 192
9.5.4 可靠性测试 194
9.6 配置和兼容性测试 195
9.7 数据库测试 197
小结 199
习题 200
第10章 软件测试质量保证 201
10.1 软件质量保证与软件测试 201
10.1.1 软件质量保证 201
10.1.2 软件质量保证与软件测试的关系 203
10.2 软件测试管理和软件测试团队职责 205
10.2.1 软件测试的组织 205
10.2.2 软件测试的管理 207
10.2.3 测试团队总的职责 207
10.2.4 软件开发和测试过程的组织结构与职责划分 208
10.3 ISO 9000标准 211
10.4 能力成熟度模型 213
10.4.1 软件机构的成熟性 213
10.4.2 能力成熟度模型 214
10.4.3 利用CMM对软件机构进行成熟度评估 214
小结 214
习题 215
参考文献 216