第1章 软件测试概论 1
1.1 软件 1
1.1.1 软件发展史 1
1.1.2 软件生命周期 2
1.1.3 软件缺陷 3
1.1.4 三种纠错技术 5
1.2 软件过程 5
1.2.1 RUP 5
1.2.2 敏捷过程 8
1.3 软件质量 10
1.3.1 概述 10
1.3.2 CMM/CMMI 11
1.3.3 质量与测试 13
1.4 测试与开发的关系 15
1.5 思考与习题 17
第2章 软件测试基本知识 18
2.1 软件测试发展历程 18
2.2 软件测试目的 19
2.3 软件测试原则 19
2.4 软件测试分类 20
2.4.1 按照开发阶段划分 20
2.4.2 按照执行主体划分 20
2.4.3 按照执行状态划分 21
2.4.4 按照测试技术划分 22
2.4.5 按照软件发布范围划分 24
2.5 软件测试模型 25
2.5.1 V模型 25
2.5.2 W模型 26
2.5.3 H模型 26
2.5.4 X模型 27
2.5.5 前置模型 27
2.6 测试用例 28
2.6.1 测试用例的基本概念 28
2.6.2 测试用例的编写 29
2.6.3 测试用例的作用 30
2.6.4 相关问题 30
2.7 思考与习题 31
第3章 软件测试过程 33
3.1 软件测试流程概述 33
3.2 单元测试 34
3.3 集成测试 36
3.4 确认测试 41
3.5 验收测试 41
3.5.1 α测试和β测试 42
3.5.2 回归测试 42
3.6 思考与习题 44
第4章 黑盒测试 46
4.1 概述 46
4.2 等价类划分法 47
4.2.1 划分原则 47
4.2.2 设计测试用例的步骤 47
4.3 边界值分析法 49
4.3.1 设计原则 49
4.3.2 应用举例 49
4.4 决策表法 50
4.4.1 应用举例 51
4.4.2 优点和缺点 52
4.5 因果图法 52
4.5.1 基本术语 53
4.5.2 应用举例 54
4.6 场景法 55
4.6.1 基本流和备选流 55
4.6.2 应用举例 56
4.7 思考与习题 60
第5章 白盒测试 62
5.1 概述 62
5.2 逻辑覆盖法 62
5.2.1 语句覆盖 63
5.2.2 判定覆盖 63
5.2.3 条件覆盖 64
5.2.4 条件判定覆盖 64
5.2.5 修正条件判定覆盖 65
5.2.6 条件组合覆盖 66
5.2.7 路径覆盖 66
5.2.8 逻辑覆盖法总结 67
5.3 基本路径测试 68
5.3.1 控制流 68
5.3.2 基本路径测试方法 70
5.4 思考与习题 71
第6章 自动测试技术 72
6.1 自动测试技术简介 72
6.2 自动测试发展历程 73
6.3 测试成熟度模型 74
6.4 三代测试框架 79
6.5 自动测试原理 80
6.6 自动测试的19条经验教训 82
6.7 自动测试研究热点 83
6.8 思考与习题 84
第7章 性能测试 85
7.1 基本概念 85
7.2 性能测试分类 88
7.2.1 负载测试 88
7.2.2 压力测试 89
7.2.3 可靠性测试 90
7.2.4 数据库测试 91
7.2.5 安全性测试 91
7.2.6 文档测试 92
7.3 性能测试的步骤 93
7.4 网站测试 94
7.4.1 网站体系结构 95
7.4.2 网站测试内容 95
7.5 思考与习题 96
第8章 面向对象测试 97
8.1 面向对象影响测试 97
8.1.1 封装性影响测试 97
8.1.2 继承性影响测试 98
8.1.3 多态性影响测试 98
8.2 面向对象测试模型 99
8.3 面向对象分析测试 99
8.4 面向对象设计测试 102
8.5 面向对象单元测试 103
8.5.1 功能性和结构性测试 103
8.5.2 测试用例的设计和选择 104
8.6 面向对象集成测试 105
8.6.1 概述 105
8.6.2 面向对象交互测试 105
8.7 面向对象的系统测试 107
8.8 思考与习题 107
第9章 嵌入式测试 108
9.1 嵌入式软件测试的方法 108
9.2 嵌入式软件测试的过程 108
9.3 嵌入式软件测试的特点 109
9.4 嵌入式软件测试的工具 110
9.5 嵌入式软件测试策略 111
9.6 嵌入式软件测试实例 112
9.7 思考与习题 114
第10章 软件测试管理 115
10.1 过程管理 115
10.1.1 测试的组织 115
10.1.2 测试计划阶段 117
10.1.3 软件测试设计和开发 119
10.1.4 测试执行阶段 121
10.1.5 测试执行结束和测试总结 121
10.1.6 测试过程改进 122
10.2 需求管理 124
10.2.1 需求管理概述 124
10.2.2 软件测试中的需求分析 124
10.3 软件配置管理 125
10.3.1 软件配置管理概述 125
10.3.2 软件配置管理角色职责 126
10.3.3 软件配置管理过程描述 127
10.3.4 软件配置管理的关键活动 128
10.4 缺陷管理 130
10.4.1 缺陷跟踪管理系统概述 130
10.4.2 软件缺陷内容 131
10.4.3 软件跟踪缺陷处理的一般流程 132
10.5 风险管理 132
10.5.1 风险管理概述 132
10.5.2 软件项目风险管理 133
10.5.3 软件项目中的风险 133
10.5.4 软件风险管理模型 135
10.6 思考与习题 137
第11章 软件测试工具 138
11.1 软件测试工具概述 138
11.2 软件测试工具分类 138
11.2.1 按测试工具所属公司分类 138
11.2.2 按测试工具的功能分类 143
11.2.3 按测试工具在软件测试中应用的阶段分类 144
11.3 软件测试工具特征 146
11.4 软件测试工具选择 146
第12章 测试管理工具 148
12.1 测试管理工具概述 148
12.2 测试管理工具——TestDirector 149
12.2.1 TestDirector简介 149
12.2.2 TestDirector的安装 151
12.2.3 TestDirector的配置 159
第13章 性能测试工具 166
13.1 LoadRunner 166
13.1.1 综述 166
13.1.2 测试示例 168
第14章 缺陷跟踪管理工具 180
14.1 缺陷跟踪管理工具——Bugzilla 180
14.1.1 Bugzilla的特点 180
14.1.2 Bugzilla的缺陷处理流程 180
14.1.3 Bugzilla的基本操作 181
14.1.4 TestCenter与Testlink,Bugzilla对比 185
14.2 问题跟踪软件——Jira 187
14.2.1 Jira的特点 187
14.2.2 缺陷跟踪操作 188
14.2.3 查询操作 190
14.2.4 生成报表 191
14.2.5 系统设置 194
第15章 单元测试工具 195
15.1 Junit的安装 195
15.2 Junit的特点 195
15.3 Junit的内容 196
15.4 Junit的设计原则 197
15.5 测试示例 198
第16章 功能测试工具 203
16.1 WinRunner简介 203
16.1.1 WinRunner测试模式 203
16.1.2 WinRunner测试过程 204
16.1.3 认识WinRunner工作环境 205
16.1.4 WinRunner测试示例一 207
16.1.5 WinRunner测试示例二 211
16.2 QuickTest Professional简介 216
1 6.2.1 认识QuickTest Professional工作环境 216
16.2.2 QTP测试示例 217
第17章 计算机认证考试 229
17.1 计算机认证考试概述 229
17.2 各类计算机认证考试 229
17.3 全国计算机等级考试 230
17.4 四级软件测试工程师考试 232
17.4.1 概述 232
17.4.2 内容介绍 235
17.4.3 相关资料 238
第18章 测试行业 239
18.1 测试行业概述 239
18.2 测试认识误区 240
18.3 测试员的思维方式 241
18.4 著名企业的测试面试题 242
18.5 软件测试工程师职位简介 245
参考文献 247