第一篇 软件工程概述第1章 软件工程的起源概述 3
1.1 软件的发展及特点 3
1.1.1 计算机硬件的发展 3
1.1.2 计算机软件的发展 4
1.1.3 计算机软件的特点 5
1.2 软件危机 6
1.2.1 软件危机的表现 6
1.2.2 软件危机的形成原因 8
1.2.3 软件工程的提出 10
本章小结 11
第2章 软件工程概览 12
2.1 软件工程的概念 12
2.2 软件工程的要素 13
2.2.1 软件工程方法 13
2.2.2 软件工程过程 16
2.2.3 软件工程工具 18
2.2.4 CASE简介 18
2.3 软件工程的基本原则 19
2.4 软件工程的原理 19
2.5 软件开发过程模型 21
2.5.1 瀑布模型 21
2.5.2 原型模型 22
2.5.3 增量模型 22
2.5.4 喷泉模型 23
2.5.5 螺旋模型 23
2.6 软件工程标准 24
2.6.1 标准概述 24
2.6.2 标准分类 24
2.6.3 软件工程相关标准介绍 27
本章小结 37
第3章 软件过程能力评估与CMM/CMMI 38
3.1 CMM/CMMI综述 38
3.2 CMM/CMMI基本框架 40
3.2.1 CMM 40
3.2.2 CMMI 40
3.3 CMM/CMMI与软件测试 42
本章小结 44
第二篇 软件测试概述第4章 软件质量 47
4.1 什么是软件质量 47
4.2 软件质量管理 48
4.2.1 质量管理基础 48
4.2.2 软件质量管理的手段和方法 48
4.3 软件质量与软件开发、测试 49
本章小结 50
第5章 软件测试基础 52
5.1 软件测试的历史及演变 52
5.2 什么是软件测试 53
5.3 软件测试的原则 54
5.4 软件测试的分类 55
5.5 软件测试基本方法 57
5.5.1 黑盒测试 57
5.5.2 白盒测试 58
5.5.3 黑盒测试与白盒测试的关系 59
本章小结 60
第6章 软件测试过程模型 61
6.1 什么是软件测试过程模型 61
6.2 常见的软件测试过程模型 61
6.2.1 V模型 61
6.2.2 W模型 62
6.2.3 X模型 62
6.2.4 前置测试模型 63
6.2.5 H模型 64
6.2.6 软件测试模型比较 65
本章小结 65
第7章 软件测试生命周期 67
7.1 测试计划 67
7.2 测试分析 68
7.3 测试设计 68
7.4 测试执行 69
7.5 测试评估 70
本章小结 70
第三篇 软件测试一般过程与方法第8章 测试计划 73
8.1 项目启动场景 73
8.2 测试计划 78
8.3 测试计划的编制过程及要素 79
8.3.1 测试的质量需求 80
8.3.2 风险分析 82
8.3.3 测试范围的识别 88
8.3.4 制定测试策略 90
8.3.5 测试资源评估 95
8.3.6 计划任务 97
8.3.7 其他特殊要求 101
8.4 测试计划的编写格式 102
8.5 测试计划实例及点评 104
8.6 测试计划的最佳实践 113
本章小结 114
第9章 测试分析 115
9.1 什么是软件测试需求 115
9.2 测试需求分析过程 116
9.2.1 需求采集 116
9.2.2 测试需求分析 117
9.2.3 测试需求评审 124
本章小结 125
第10章 测试方法与测试设计 126
10.1 静态测试 126
10.1.1 文档检查/审查 126
10.1.2 代码检查/审查 130
10.2 动态测试 134
10.2.1 测试用例概述 134
10.2.2 白盒测试用例设计方法 140
10.2.3 黑盒测试用例设计方法 148
10.3 应用实例讲解 164
10.3.1 单元测试 165
10.3.2 集成测试 189
10.3.3 系统测试 197
10.3.4 验收测试 207
本章小结 211
第11章 测试实施 212
11.1 测试准备 212
11.1.1 测试设备检查 213
11.1.2 测试环境搭建 213
11.1.3 测试环境检查 214
11.2 测试执行 215
11.2.1 测试执行流程 216
11.2.2 监控执行过程 216
11.2.3 测试执行记录 220
11.3 缺陷管理 228
11.3.1 什么是缺陷 228
11.3.2 缺陷分类 229
11.3.3 缺陷报告编写 230
11.3.4 缺陷处理流程及状态跟踪 231
11.4 回归测试 233
11.4.1 回归测试方法 233
11.4.2 回归测试过程 234
11.5 HRMIS的测试执行过程 234
11.5.1 测试环境搭建 235
11.5.2 单元测试执行情况 237
11.5.3 集成测试执行情况 252
11.5.4 系统测试执行情况 254
本章小结 280
第12章 测试评估 281
12.1 测试评估工作模型 281
12.2 测试评估内容 282
12.2.1 测试计划中的评估 282
12.2.2 测试需求分析中的评估 284
12.2.3 测试方法与设计中的评估 284
12.2.4 测试执行中的评估 285
12.3 测试报告 289
12.3.1 测试报告的一般性要求 289
12.3.2 测试报告要素及实例 289
12.3.3 测试报告的管理 300
本章小结 300
第四篇 测试管理与过程改进第13章 软件测试过程组织与管理 303
13.1 软件测试组织 303
13.1.1 人员与团队 303
13.1.2 测试过程组织 306
13.2 软件测试管理 306
13.2.1 测试过程管理 307
13.2.2 配置管理 311
13.2.3 风险管理 313
本章小结 315
第14章 测试度量与过程改进 316
14.1 测试度量 316
14.1.1 什么是度量 316
14.1.2 测试度量内容 317
14.1.3 测试度量分类 317
14.1.4 测试度量过程 318
14.2 测试过程改进 319
14.2.1 测试过程改进内容 319
14.2.2 测试过程改进过程 323
14.2.3 测试过程改进注意事项 323
14.3 测试过程改进模型 324
14.3.1 IDEAL模型 324
14.3.2 6-Sigma模型 325
14.3.3 PDCA模型 327
14.3.4 TMM模型 329
14.3.5 TPI模型 330
本章小结 334
第五篇 软件测试工具及其应用第15章 软件测试工具及其分类 339
15.1 软件测试工具分类 339
15.1.1 按照原理分类 339
15.1.2 按照用途分类 341
15.2 软件测试工具的实现原理 344
15.3 软件测试工具的选择原则 345
本章小结 346
第16章 功能测试工具 348
16.1 WinRunner 348
16.1.1 概述 348
16.1.2 WinRunner的应用 349
16.1.3 常见问题解答 355
16.2 Quick Test Professional 356
16.2.1 概述 356
16.2.2 Quick Test Professional的应用 357
16.2.3 常见问题解答 363
16.3 WinRunner和QTP的区别 364
本章小结 365
第17章 性能测试工具 366
17.1 性能测试概述 366
17.1.1 常见的软件性能指标 366
17.1.2 性能测试的步骤 367
17.2 HP LoadRunner 369
17.2.1 概述 369
17.2.2 LoadRunner的应用 370
17.2.3 常见问题解答 378
17.3 OpenSTA 381
17.3.1 概述 381
17.3.2 OpenSTA的应用 382
本章小结 387
第18章 测试管理工具 388
18.1 TestDirector 388
18.1.1 概述 388
18.1.2 TestDirector的应用 390
18.2 Bugzilla 395
18.2.1 工具介绍 395
18.2.2 Bugzilla功能特点 396
本章小结 396
附录A 案例项目业务及技术背景介绍 397
附录B 软件工程国家标准目录 399
参考文献 401