第1章 软件测试概述 1
1.1软件、软件危机和软件工程 1
1.1.1软件 1
1.1.2软件危机 2
1.1.3软件工程 4
1.2软件缺陷与软件故障 5
1.2.1相关概念 5
1.2.2软件缺陷 6
1.2.3软件故障 8
1.3软件质量与质量模型 9
1.3.1软件质量的定义 9
1.3.2软件质量的三种模型 10
1.3.3软件质量的度量 11
1.4软件测试 12
1.4.1软件测试原则 13
1.4.2软件测试目标 13
1.4.3软件测试的具体内容 13
1.4.4软件测试的主要方法 14
1.4.5软件测试人员的基本素质 18
1.5本章小结 20
习题1 20
第2章 软件测试计划 21
2.1软件测试计划的作用 21
2.2软件测试计划的原则 22
2.3如何制定软件测试计划 24
2.4制定测试计划时面对的问题 25
2.5衡量测试计划的标准 26
2.6制定测试计划 27
2.6.1确定测试范围 27
2.6.2选择测试方法 29
2.6.3测试标准 29
2.6.4自动化测试工具的选择 31
2.6.5测试软件的编写 32
2.6.6合理减少测试的工作量 32
2.6.7制定测试计划 33
2.6.8编写系统测试计划文档 34
2.7本章小结 35
习题2 35
第3章 软件测试的基本技术 36
3.1软件测试技术的分类 36
3.1.1从是否需要执行被测软件的角度分类 36
3.1.2从软件测试用例设计方法的角度分类 36
3.1.3从软件测试的策略和过程的角度分类 37
3.2静态测试和动态测试 37
3.2.1静态测试 37
3.2.2动态测试 38
3.3黑盒测试方法 38
3.3.1黑盒测试方法概述 38
3.3.2等价类划分法 39
3.3.3边界值分析法 42
3.3.4决策表法 45
3.3.5因果图法概述 48
3.3.6黑盒测试方法的选择 51
3.4白盒测试 52
3.4.1逻辑覆盖测试 52
3.4.2路径分析测试 57
3.5本章小结 61
习题3 61
第4章 软件测试过程 62
4.1软件测试过程概述 62
4.2单元测试 64
4.2.1单元测试的主要任务 64
4.2.2单元测试的执行过程 65
4.3集成测试 66
4.3.1集成测试的主要任务 67
4.3.2集成测试的方法 67
4.3.3集成测试方法的对比 70
4.4确认测试 71
4.4.1进行有效性测试(功能测试) 72
4.4.2软件配置复查 72
4.5系统测试 72
4.6验收测试 75
4.7回归测试 75
4.8本章小结 77
习题4 78
第5章 测试用例设计 79
5.1测试用例的基本概念 79
5.2测试用例的设计 80
5.2.1测试用例设计说明 80
5.2.2测试用例的编写标准 81
5.2.3测试用例设计考虑的因素 82
5.2.4测试用例设计的基本原则 82
5.2.5测试用例的分类 83
5.3测试用例设计实例 84
5.4测试用例的执行与跟踪 89
5.4.1执行测试用例 89
5.4.2跟踪测试用例 89
5.4.3维护测试用例 91
5.5测试用例管理 92
5.6本章小结 95
习题5 95
第6章 测试报告与测试评测 97
6.1软件缺陷和软件缺陷种类 97
6.1.1软件缺陷案例 97
6.1.2软件缺陷的含义 98
6.1.3软件缺陷的种类 99
6.1.4软件缺陷的严重性等级 102
6.2软件缺陷的生命周期 103
6.3分离和再现软件缺陷 104
6.4正确面对软件缺陷 105
6.5报告软件缺陷 107
6.5.1报告软件缺陷的基本原则 107
6.5.2有效地报告软件缺陷带来的好处 108
6.5.3 IEEE软件缺陷报告模板 108
6.6软件缺陷的跟踪管理 110
6.6.1软件缺陷跟踪管理的目标 110
6.6.2软件缺陷的描述 110
6.6.3软件缺陷管理的一般流程 111
6.6.4软件缺陷数据统计 112
6.6.5软件缺陷跟踪管理系统 112
6.6.6手工报告和跟踪软件缺陷 114
6.7软件测试的评测 114
6.7.1覆盖评测 115
6.7.2质量评测 115
6.7.3性能评测 116
6.8测试总结报告 117
6.9本章小结 118
习题6 119
第7章 软件测试项目管理 120
7.1软件测试项目管理概述 120
7.2软件测试文档 121
7.2.1测试文档的作用 121
7.2.2测试文档的类型 121
7.2.3主要软件测试文档 122
7.3软件测试的组织与人员管理 124
7.3.1测试的过程及组织 124
7.3.2测试方法的应用 125
7.3.3测试的人员组织 125
7.3.4软件测试文件 126
7.4软件测试过程管理 127
7.4.1软件测试过程模型 127
7.4.2软件测试过程管理 129
7.4.3软件测试过程管理理念 130
7.4.4软件测试过程管理实践 131
7.4.5软件测试过程可持续改进 132
7.5软件测试的配置管理 133
7.5.1进行测试配置管理的必要性 133
7.5.2测试配置管理的方法和内容 133
7.5.3测试配置管理的应用 136
7.5.4软件测试的测试版本控制 137
7.5.5测试版本控制的概念 137
7.6软件测试风险管理 141
7.6.1风险管理 141
7.6.2风险识别 141
7.6.3风险评估 142
7.6.4风险应对 142
7.7软件测试的成本管理 143
7.8本章小结 145
习题7 145
第8章 面向对象软件测试 146
8.1面向对象软件的特点及其对测试的影响 146
8.2面向对象软件测试的不同层次及其特点 148
8.3面向对象软件测试模型 150
8.3.1面向对象分析的测试 151
8.3.2面向对象设计的测试 153
8.3.3面向对象编程的测试 154
8.4本章小结 154
习题8 154
第9章 软件测试自动化 155
9.1软件测试自动化基础 155
9.1.1软件测试自动化的含义 155
9.1.2手工测试和自动化测试的比较 156
9.1.3软件测试自动化的局限性 156
9.2软件测试自动化的作用和优势 157
9.3软件测试自动化的引入 162
9.3.1软件测试自动化的正确认识 162
9.3.2对企业自身现状的评估分析 162
9.3.3软件测试自动化的引入条件 163
9.4软件测试自动化的实施 164
9.4.1软件测试自动化的流程框架 164
9.4.2软件测试自动化的实施过程 165
9.5软件测试工具分类 167
9.6几种常用软件测试工具 167
9.6.1性能测试工具LoadRunner 167
9.6.2功能测试工具WinRunner 169
9.6.3白盒测试工具JUnit 171
9.6.4测试管理工具TestDirector 171
9.6.5专用测试工具WAST 172
9.7本章小结 173
习题9 173
第10章 测试实践——一个实际软件项目的测试案例 174
10.1被测试项目介绍 174
10.1.1被测系统概述 174
10.1.2用户注册、登录和注销模块介绍 178
10.2测试计划 180
10.2.1概述 180
10.2.2定义 180
10.2.3质量风险摘要 181
10.2.4测试进度计划 181
10.2.5进入标准 182
10.2.6退出标准 182
10.2.7测试配置和环境 182
10.2.8关键参与者 182
10.3测试过程概述 183
10.3.1单元测试 183
10.3.2集成测试 183
10.3.3系统测试 184
10.3.4验收测试 184
10.4测试用例设计 184
10.5缺陷报告 186
10.6测试结果总结分析 186
10.6.1测试总结报告 186
10.6.2测试用例分析 187
10.7软件测试自动化工具 188
10.8文档测试 190
10.9本章小结 190
习题10 191
参考文献 192