第1章 软件测试概述 1
1.1 软件的基础知识概述 1
1.1.1 软件的概念、特点和分类 1
1.1.2 软件工程的定义、内容、目标、问题 3
1.1.3 软件生存周期及其模型 5
1.1.4 软件开发方法 12
1.1.5 软件生存周期过程 15
1.1.6 软件工程标准 18
1.1.7 软件开发文档 20
1.1.8 软件质量保证 20
1.2 软件测试的概念、方法和任务 26
1.2.1 软件测试的概念 26
1.2.2 软件测试的方法 34
1.2.3 软件测试的任务 36
1.3 软件测试的术语定义 36
1.4 软件测试的人员要求 44
1.4.1 系统测试人员的结构 44
1.4.2 软件测试人员需要的知识 45
1.4.3 软件测试人员需要的素质 45
1.4.4 软件测试人员的职责 46
1.5 软件测试的前景 46
第2章 软件测试的质量要求 48
2.1 软件测试的成熟度模型 48
2.2 软件测试的流程图 55
2.3 软件测试的流程细则 58
第3章 白盒测试技术 61
3.1 白盒测试的基本概念 61
3.2 白盒测试的依据和流程 63
3.3 白盒测试的方法 63
3.3.1 代码检查法 63
3.3.2 静态结构分析法 64
3.3.3 静态质量度量法 65
3.3.4 逻辑覆盖法 65
3.3.5 基本路径测试法 68
3.3.6 域测试法 70
3.3.7 符号测试法 70
3.3.8 Z路径覆盖法 70
3.3.9 程序变异测试法 70
3.4 白盒测试的要求 71
3.4.1 软件各层公用问题测试的要求 71
3.4.2 Java语言测试的要求 75
3.4.3 数据类型测试的要求 75
3.4.4 SQL语句测试的要求 75
3.4.5 界面测试的要求 80
3.4.6 数值对象测试的要求 82
3.4.7 业务对象测试的要求 82
3.4.8 数据管理对象测试的要求 83
3.5 白盒测试的工具 83
3.5.1 代码测试工具 83
3.5.2 静态测试和静态测试工具 87
3.5.3 动态测试和动态测试工具 92
第4章 黑盒测试技术 95
4.1 黑盒测试的基本概念 95
4.1.1 黑盒测试的优点和缺点 96
4.1.2 黑盒测试与白盒测试的比较 96
4.2 黑盒测试的方法 97
4.2.1 等价类划分方法 97
4.2.2 边界值分析方法 100
4.2.3 错误推测方法 101
4.2.4 判定表驱动分析方法 101
4.2.5 因果图方法 102
4.2.6 正交实验设计方法 107
4.2.7 功能图分析方法 108
4.2.8 场景设计方法 108
4.3 黑盒测试的工具 109
4.3.1 QACenter测试工具 109
4.3.2 WinRunner测试工具 111
4.4 黑盒测试的操作步骤 112
第5章 软件测试模型和测试工作指南 113
5.1 软件测试工作概述 113
5.1.1 软件测试工作流程 113
5.1.2 软件测试阶段 114
5.2 软件测试模型 115
5.2.1 V模型 115
5.2.2 W模型 116
5.2.3 H模型 117
5.2.4 X模型 117
5.3 软件测试工作指南 117
第6章 单元测试技术 119
6.1 单元测试的内容 119
6.2 单元测试的要点剖析 122
第7章 功能测试技术 124
7.1 功能测试概述 124
7.2 功能测试的流程 126
7.3 功能测试用例的书写内容 128
第8章 网络测试和软件安装测试技术 130
8.1 网络产品的测试 130
8.1.1 防火墙产品测试 131
8.1.2 入侵检测产品测试 133
8.1.3 入侵防护测试 136
8.1.4 漏洞扫描测试 137
8.1.5 防病毒测试 138
8.1.6 交换机测试 140
8.1.7 服务器测试 142
8.2 网络本身的测试 143
8.2.1 网络测试的类型 143
8.2.2 网络测试的内容 146
8.2.3 网络测试的方式 147
8.2.4 网络应用系统的测试 147
8.2.5 网络性能测试的环境 150
8.2.6 网络应用系统的测试阶段划分 150
8.2.7 网络应用系统的主要测试设备 151
8.3 软件安装的测试 152
8.3.1 共享软件安装测试 152
8.3.2 用户应用系统软件安装测试 153
第9章 性能测试技术 155
9.1 性能测试概述 155
9.1.1 性能测试的分类 155
9.1.2 性能测试的目的 159
9.1.3 性能测试的指标 159
9.1.4 性能测试的内容 159
9.1.5 性能测试的策略 159
9.1.6 性能测试的方法 160
9.2 性能测试的实例剖析 161
9.2.1 并发性能测试剖析 161
9.2.2 Web站点质量分析剖析 162
9.2.3 应用故障定位剖析 163
9.2.4 测试策略剖析 163
第10章 集成测试技术 167
10.1 集成测试概述 167
10.1.1 集成测试过程 167
10.1.2 集成测试方法 168
10.2 集成测试阶段工作 171
第11章 系统测试技术 174
11.1 系统测试的主要内容和测试类型 174
11.2 系统测试的过程 175
11.3 系统测试的结果分析 176
11.4 系统测试的文档资料 178
第12章 验收测试技术 180
12.1 验收测试的先决条件 180
12.2 验收测试的目的1 80
12.3 验收测试的内容 181
第13章 Web测试技术 182
13.1 Web的功能测试 182
13.2 Web的性能测试 184
13.3 Web的用户界面测试 185
13.4 Web的兼容性测试 187
13.5 Web的安全性测试 188
13.6 Web的接口测试 188
第14章 自动化测试技术 190
14.1 自动化测试概述 190
14.2 自动化测试技术 193
14.3 自动化测试级别 195
14.4 自动化测试框架 196
14.5 自动化测试工具 198
14.5.1 自动化测试工具的特征 198
14.5.2 自动化测试工具的分类 198
14.5.3 自动化测试工具的常用类型 199
第15章 面向对象的测试技术 204
15.1 面向对象的测试概述 204
15.1.1 面向对象的基本概念 204
15.1.2 类的特性 205
15.1.3 面向对象的开发方法 207
15.1.4 面向对象的模型 210
15.1.5 面向对象的设计 212
15.1.6 面向对象的测试内容 213
15.1.7 面向对象的测试模型 215
15.2 面向对象分析的测试 217
15.3 面向对象编程的测试 221
15.4 面向对象的单元测试 222
15.4.1 类的测试和测试要求 222
15.4.2 类测试设计的方法 222
15.4.3 单元测试使用的方法 224
15.5 面向对象的集成测试 225
15.5.1 面向对象集成测试的目的 225
15.5.2 面向对象集成测试的策略 226
15.5.3 面向对象集成测试的静态和动态测试 226
15.5.4 面向对象集成测试的用例和测试过程 227
15.5.5 面向对象集成测试的常见故障 229
15.6 面向对象的系统测试 230
15.7 面向对象软件的测试用例设计 230
15.7.1 面向对象软件的测试用例设计原则 230
15.7.2 面向对象软件的测试用例设计方法 231
第16章 软件缺陷测试和测试评估 237
16.1 软件缺陷概述 237
16.1.1 软件缺陷的定义 237
16.1.2 软件缺陷的特征 238
16.1.3 软件缺陷的类型 238
16.1.4 Bug状态 239
16.1.5 Bug的等级划分与优先级 239
16.1.6 软件缺陷的标识、种类和属性 240
16.1.7 缺陷的起源、来源和根源 241
16.1.8 Bug记录 242
16.2 软件缺陷的生命周期 243
16.3 软件缺陷的跟踪管理 244
16.3.1 软件缺陷的测试报告 244
16.3.2 软件缺陷的分离和重现 246
16.3.3 软件缺陷的跟踪系统 247
16.4 软件测试的评估 248
16.4.1 测试覆盖评估 248
16.4.2 软件测试的质量评估 250
16.4.3 软件测试的缺陷评估 253
16.4.4 软件测试的性能评估 255
第17章 测试用例设计和电子政务应用平台测试用例设计实例 257
17.1 测试用例的基本概念 257
17.1.1 测试用例概述 257
17.1.2 测试用例设计 259
17.2 界面测试用例设计实例 261
17.3 登录、添加、删除、查询模块测试用例设计实例 272
17.4 宽带接入网网络管理系统测试用例设计实例 274
17.5 某部电子政务应用平台测试用例设计实例 279
17.5.1 主页信息发布测试用例设计实例 279
17.5.2 工作站设置测试用例设计实例 280
17.5.3 文件维护测试用例设计实例 281
17.5.4 查询显示页面测试用例设计实例 282
17.5.5 数据传输测试用例设计实例 282
17.5.6 个人信息通信工具测试用例设计实例 283
17.5.7 公文管理测试用例设计实例 283
17.5.8 修改文件和修改撰文单位测试用例设计实例 287
17.5.9 党、团、工会事务管理测试用例设计实例 288
17.5.10 贺电事务管理测试用例设计实例 288
17.5.11 固定资产管理测试用例设计实例 289
17.5.12 会务管理测试用例设计实例 290
17.5.13 领导日程管理测试用例设计实例 291
17.5.14 机构管理维护测试用例设计实例 291
17.5.15 代码维护和主题词分类测试用例设计实例 292
17.5.16 公文流转测试用例设计实例 293
17.5.17 目录测试用例设计实例 293
17.5.18 维护人员测试用例设计实例 294
17.6 电子政务应用平台主页功能测试用例设计实例 294
第18章 测试文档的写作 296
18.1 测试文档的写作概述 296
18.2 测试需求说明书写作的内容 298
18.2.1 测试需求说明书的写作方法 298
18.2.2 测试需求说明书的写作模板 298
18.3 测试任务说明书写作的内容 302
18.3.1 测试任务、测试质量和测试范围 302
18.3.2 确定测试进度和管理 303
18.3.3 测试注意事项 304
18.4 测试计划说明书写作的内容 304
18.5 测试大纲写作的内容 307
18.6 测试用例写作的内容 311
18.7 测试分析报告写作的内容 317
18.7.1 测试分析报告模板的目录 317
18.7.2 测试分析报告模板的写作内容 318
18.8 集成测试报告写作的内容 327
18.9 单元测试报告写作的内容 331
18.10 系统测试总结报告写作的内容 333
18.10.1 系统测试总结报告模板的图示 333
18.10.2 系统测试总结报告模板的写作要点 334
18.11 验收测试报告写作的内容 336
第19章 软件的其他测试技术 344
19.1 可用性测试 344
19.2 安全性测试 344
19.3 强度测试或压力测试 345
19.4 确认测试 345
19.5 容错性测试 346
19.6 回归测试技术 346
19.7 易用性测试 348
第20章 软件测试管理 349
20.1 测试管理概述 349
20.2 测试项目管理 350
20.3 测试过程管理 353
20.4 组织和人员管理 355
20.4.1 软件测试的组织 355
20.4.2 软件测试组织的职能 357
20.4.3 软件测试的组织结构 357
20.4.4 软件测试组织结构的准则 357
20.4.5 软件测试人员的能力要求 357
20.5 软件配置管理 358
20.5.1 软件配置管理概述 358
20.5.2 软件配置管理要求 364
20.6 软件缺陷管理 366
20.7 变更请求管理 367
20.8 进度管理 368
20.9 风险管理 369
20.9.1 软件风险的基本概念 369
20.9.2 风险识别和分析 372
20.9.3 软件项目风险管理模型 374
20.10 成本管理 374