第一部分 软件测试的基本知识 1
第1章 软件测试概述 1
1.1软件的相关知识概述 1
1.1.1软件的定义及分类方法 1
1.1.2软件工程的主要内容 3
1.1.3软件的生存期 3
1.2软件测试的相关知识概述 4
1.2.1软件测试的概念 4
1.2.2软件测试的方法 4
1.2.3软件测试的任务 6
1.3软件测试的目的和原则 6
1.3.1软件测试的目的 6
1.3.2软件测试的原则 7
1.4软件测试的流程 8
1.4.1软件测试工作总体流程图 8
1.4.2软件测试活动分布图 10
1.4.3软件测试流程关系图 10
1.5软件测试对组织结构和人员的要求 10
1.5.1对组织结构的要求 10
1.5.2对人员的要求 10
1.6自动化测试概述 14
1.6.1自动化测试的特点 14
1.6.2自动化测试的过程 16
1.6.3自动化测试工具选择的原则 17
1.6.4自动化测试技术 17
1.6.5自动化测试技术的比较 19
1.6.6自动化测试的级别 19
1.6.7自动化测试方案选择需要考虑的方面 20
1.6.8自动化测试要点 21
1.6.9自动化测试适用的测试阶段及其执行的先决条件 21
1.6.10自动化测试工作中的重点 22
1.6.11自动化测试执行需要解决的问题 24
1.6.12自动化测试工具简介 25
1.7软件测试的前景 27
习题 28
第二部分 软件测试的核心技术 29
第2章 白盒测试的实用技术 29
2.1白盒测试概述 29
2.1.1白盒测试的基本知识 29
2.1.2白盒测试的原则 29
2.1.3白盒测试的类别、依据和流程 30
2.2白盒测试的方法 31
2.2.1代码检查 31
2.2.2代码检查的方式 32
2.2.3代码检查项目 33
2.2.4静态结构分析 36
2.2.5 SQL语句测试 36
2.2.6代码检查的分析与评价 37
2.3白盒测试的常用技术 37
2.3.1逻辑覆盖法 37
2.3.2插桩技术 39
2.3.3基本路径测试法 40
2.3.4域测试法 42
2.3.5符号测试 42
2.3.6 Z路径覆盖法 42
2.3.7程序变异测试法 43
习题 43
第3章 黑盒测试的实用技术 44
3.1黑盒测试的基本概念 44
3.1.1黑盒测试的优点和缺点 44
3.1.2对黑盒测试人员的要求 45
3.1.3黑盒测试的意义 45
3.2黑盒测试的方法 45
3.2.1等价类划分 45
3.2.2边界值分析法 47
3.2.3因果图法 48
3.2.4判定表驱动法 50
3.2.5场景法 50
3.2.6功能图法 51
3.2.7错误推测法 51
3.2.8正交试验设计法 52
3.3黑盒测试的原则和策略 52
3.3.1黑盒测试的原则 52
3.3.2黑盒测试的策略 53
3.4黑盒测试的步骤 53
3.4.1测试计划 53
3.4.2测试设计 53
3.4.3测试执行的步骤 54
3.4.4测试评估 54
习题 54
第4章 测试用例设计方法 55
4.1测试用例编写概述 55
4.1.1什么是测试用例 55
4.1.2为什么要编写测试用例 55
4.1.3测试用例主要包括哪些内容 55
4.1.4设计测试用例所需的文档资料 56
4.2测试用例的作用 56
4.2.1实施测试指导的作用 56
4.2.2指导测试数据规划的作用 56
4.2.3指导脚本编写的作用 57
4.2.4作为评判基准的作用 57
4.2.5作为分析缺陷的基准的作用 57
4.3测试用例的设计 57
4.3.1白盒测试用例的设计 57
4.3.2黑盒测试用例的设计 58
4.3.3综合设计方法 58
4.3.4测试用例设计的原则和注意事项 58
4.3.5测试用例的管理 61
4.4测试用例主要内容的编写 61
4.4.1测试目标的描述 61
4.4.2测试环境的描述 61
4.4.3输入数据/动作的编写 62
4.4.4测试的步骤 62
4.4.5测试预期的结果 63
4.4.6测试脚本的编写 64
习题 64
第三部分 软件测试的实用技术 65
第5章 对本书测试模型的介绍 65
5.1引言 65
5.1.1编写目的 65
5.1.2背景 66
5.1.3定义 66
5.1.4参考资料 67
5.2程序系统的结构 67
5.3对密码修改模块的设计说明 70
5.3.1程序描述 70
5.3.2功能 70
5.3.3输入项 71
5.3.4输出项 71
5.3.5算法 71
5.3.6流程逻辑 71
5.3.7接口 72
5.4对详细查询功能模块的设计说明 72
5.4.1程序描述 72
5.4.2功能 72
5.4.3输入项 73
5.4.4输出项 73
5.4.5算法 73
5.4.6流程逻辑 73
5.4.7接口 73
习题 73
第6章 单元测试的实用技术 74
6.1单元测试概述 74
6.1.1单元测试的目的 74
6.1.2单元测试所需文档资料 74
6.2单元测试的主要任务 75
6.2.1程序语法检查 75
6.2.2程序逻辑检查 75
6.2.3模块接口测试 75
6.2.4局部数据结构测试 76
6.2.5路径测试 76
6.2.6边界条件测试 76
6.2.7错误处理测试 76
6.2.8代码书写规范检查 77
6.3单元测试的步骤 77
6.4单元测试需要填写的表格 79
6.5单元测试提交的软件Bug清单 79
6.6单元测试的测试用例 79
6.7单元测试的人工测试实训和操作方法 81
6.8单元测试的自动化测试实训和操作方法 83
6.8.1选择适用的单元测试工具 83
6.8.2自动化单元测试中需要注意的问题 84
6.8.3自动化单元测试工作重点 84
6.8.4自动化单元测试案例 84
习题 89
第7章 功能测试的实用技术 90
7.1功能测试概述 90
7.1.1功能测试的基本概念 90
7.1.2功能测试的基本要求 90
7.1.3功能测试需要的参考文档 90
7.2功能测试的重点 91
7.3功能测试的常见方法 91
7.3.1安装测试 91
7.3.2卸载测试 94
7.3.3运行与关闭测试 96
7.3.4菜单功能测试 98
7.3.5浏览功能测试 98
7.3.6选择功能测试 98
7.3.7搜查功能测试 99
7.3.8统计功能测试 99
7.3.9 Web功能测试 100
7.3.10翻页功能测试 101
7.4功能测试的常见流程 101
7.5功能测试的人工测试实训和操作方法 102
7.5.1安装卸载测试 102
7.5.2手机信息管理系统模型的登录测试 105
7.6功能测试的自动化测试实训和操作方法 108
7.6.1自动化功能测试应该何时开始 108
7.6.2自动化功能测试实例 108
习题 113
第8章 集成测试的实用技术 114
8.1集成测试概述 114
8.1.1集成测试基本情况 114
8.1.2集成测试重点考虑的内容 114
8.1.3集成测试过程 115
8.2集成测试的方法 115
8.2.1自底向上集成测试 116
8.2.2自顶向下集成测试 117
8.2.3核心系统先行集成测试 117
8.2.4高频集成测试 117
8.2.5桩驱动测试 118
8.3集成测试阶段的工作 119
8.3.1计划阶段 119
8.3.2设计阶段 119
8.3.3实现阶段 119
8.3.4执行阶段 120
8.4集成测试的步骤和测试用例 120
8.5集成测试中的注意事项 120
8.6集成测试完成的标志 121
8.7集成测试的人工测试实训和操作方法 122
习题 124
第9章 性能测试的实用技术 125
9.1性能测试概述 125
9.1.1性能测试的目的 125
9.1.2性能测试的先决条件 126
9.1.3性能测试的准备工作 126
9.2性能测试的基本要求 127
9.2.1性能测试所需相关文档 127
9.2.2对性能测试相关文档的要求 127
9.2.3对进行性能测试的人员的要求 127
9.3性能测试的内容 127
9.3.1性能测试的分类 128
9.3.2性能测试的方法 128
9.3.3性能测试的调优 129
9.4检查测试环境 130
9.5性能测试的执行流程 130
9.6性能测试常用的测试用例 131
9.7性能测试的自动化测试实训和操作方法 134
9.7.1待测测试模型介绍 135
9.7.2使用LoadRunner进行负载/压力测试 136
习题 140
第10章 系统测试的实用技术 141
10.1系统测试概述 141
10.1.1系统测试的目的 141
10.1.2系统测试的意义 141
10.1.3系统测试的主要内容 141
10.1.4系统测试的目标 143
10.1.5系统测试的测试类型 143
10.1.6系统测试过程 144
10.1.7系统测试策略 144
10.1.8系统测试环境 145
10.2系统测试的方法 145
10.2.1人工系统测试 145
10.2.2自动化工具系统测试 149
10.2.3多任务测试 149
10.2.4临界测试 150
10.2.5中断测试 150
10.2.6系统测试策略 150
10.3系统测试的过程 151
10.4系统测试的结果分析 151
10.5系统测试的文档资料 154
10.6系统测试的人工测试实训和操作方法 154
10.6.1对登录界面的测试 154
10.6.2对修改用户名和密码模块的测试 155
10.6.3手机信息管理系统界面测试 158
10.6.4易用性测试 161
习题 161
第11章 验收测试的实用技术 162
11.1验收测试的条件、目的和涉及的文档 162
11.1.1验收测试的首要条件 162
11.1.2验收测试的目的 163
11.1.3验收测试的过程 163
11.1.4验收测试的需求文档 163
11.1.5验收测试的设计思路 164
11.2应用系统验收测试 164
11.2.1验收工作 164
11.2.2验收报告 164
11.2.3鉴定工作程序和文档资料 165
11.3外包软件的验收测试 168
11.3.1外包软件验收测试的软件配置和配置审核 168
11.3.2非正式验收测试 169
11.3.3正式验收测试 170
11.4验收测试的组织过程 171
11.4.1验收测试组织方案 171
11.4.2项目进度审核 171
11.4.3验收测试计划 171
11.5验收测试的内容 172
11.5.1验收测试的要点 172
11.5.2验收测试结果及缺陷分析 173
11.5.3项目验收情况汇总 173
习题 174
第12章 回归测试的实用技术 175
12.1回归测试概述 175
12.1.1什么是回归测试 175
12.1.2回归测试的目的 176
12.1.3回归测试的范围 176
12.1.4回归测试的基本过程 176
12.1.5回归测试的策略 176
12.1.6回归测试人员 177
12.1.7选择有效的回归测试包 178
12.1.8人工回归测试流程 178
12.1.9自动化回归测试流程 178
12.1.10自动化回归测试框架、作用和框架的技术特点 178
12.2回归测试用例库的维护方法 180
12.2.1删除过时的测试用例 180
12.2.2改进不受控的测试用例 180
12.2.3删除冗余的测试用例 180
12.2.4增添新的测试用例 180
12.3回归测试的方法 180
12.3.1再测试全部用例 181
12.3.2基于风险进行测试 181
12.3.3基于操作进行测试 181
12.3.4仅测试修改部分 181
12.4总结回归测试的结果 181
12.5回归测试自动化的问题 182
12.6回归测试实践总结 182
12.7回归测试文档 183
12.8人工回归测试实训和操作方法 183
12.9回归测试的自动化测试实训和操作方法 185
12.9.1自动化回归测试工作中的问题 185
12.9.2自动化回归测试解决方案 186
12.9.3手机信息管理系统回归测试案例 186
习题 187
第13章 配置测试的实用技术 188
13.1配置测试概述 188
13.1.1软件测试配置管理的概念 188
13.1.2软件配置管理的定义 188
13.1.3软件测试配置管理的任务 189
13.1.4软件测试配置管理的目的 189
13.1.5软件测试配置管理的基本目标 189
13.1.6软件测试配置管理的执行约定 190
13.1.7软件测试配置管理的执行能力 190
13.1.8软件测试配置管理组负责协调的工作 191
13.1.9软件测试配置管理的流程 191
13.1.10软件测试配置管理的关键活动 191
13.1.11软件配置管理的要求 193
13.1.12配置测试的前提条件 194
13.1.13配置测试的范围 195
13.1.14配置测试的目标 195
13.1.15 软件测试配置管理人员工作的主要内容 195
13.2配置测试技术 197
13.2.1配置测试设计 197
13.2.2配置测试常用技术的使用 198
13.3配置测试的主要内容 199
13.3.1硬件环境配置测试 199
13.3.2软件环境配置测试 201
13.4配置测试工作的文档 203
13.5配置测试的人工测试实训和操作方法 203
习题 205
第14章 软件的其他测试技术 206
14.1可用性测试 206
14.1.1可用性测试的定义 206
14.1.2可用性测试的方法 206
14.1.3可用性测试的目的 207
14.2压力测试 207
14.2.1压力测试的定义、特点和核心原则 207
14.2.2压力测试的目标 208
14.3确认测试 208
14.3.1确认测试的定义 208
14.3.2确认测试的内容 208
14.4容错性测试 209
14.4.1容错性测试的定义 209
14.4.2容错性测试的内容 209
14.4.3容错性测试需考虑的特殊事项 209
14.5易用性测试 209
14.5.1易用性测试的定义 210
14.5.2易用性测试的内容 210
14.6安全性测试 210
14.6.1什么是软件安全 210
14.6.2安全性测试的内容和方法 210
14.7需求分析测试 211
14.7.1需求分析的定义和测试任务 211
14.7.2需求分析测试的内容 212
14.8可靠性测试 212
14.8.1可靠性测试概述 212
14.8.2软件可靠性测试中需注意的问题 213
14.8.3软件可靠性测试的流程 213
14.9风险测试 216
14.9.1风险表现的形式 216
14.9.2风险解决策略 216
14.9.3风险测试步骤 216
14.9.4风险管理 217
14.10缺陷测试 217
14.10.1缺陷测试的定义及其内容 217
14.10.2缺陷测试应注意的问题 218
14.10.3缺陷测试结论分析 218
14.11 Web测试 218
14.11.1 Web的功能测试 219
14.11.2 Web的性能测试 219
14.11.3 Web的用户界面测试 220
14.11.4 Web的兼容性测试 221
14.11.5 Web的安全性测试 221
14.11.6 Web的接口测试 221
14.12接口测试 222
14.12.1接口测试概述 222
14.12.2接口测试的内容 222
14.12.3接口测试的测试项目 223
14.13安装和反安装测试 223
14.13.1安装和反安装测试的工作 223
14.13.2安装和反安装测试的目标 224
14.13.3安装测试和反安装测试的内容 224
习题 224
第四部分 软件测试文档写作模板 227
第15章 软件测试所需的常用模板 227
15.1测试大纲写作模板 227
15.2测试计划写作模板 230
15.3测试任务说明书写作模板 243
15.4测试需求说明书写作模板 248
15.5单元测试写作模板 253
15.6代码检查写作模板 257
15.7程序错误报告写作模板 262
15.8程序设计写作模板 263
15.9测试用例写作模板 272
15.10软件测评写作模板 279
15.11功能测试写作模板 290
15.12性能测试写作模板 295
15.13可靠性测试写作模板 300
15.14集成测试写作模板 303
15.15 系统测试写作模板 309
15.16验收测试写作模板 313
15.17测试分析报告写作模板 320
15.18测试总结写作模板 327
15.19 Web测试写作模板 329
15.20软件安全性测试写作模板 334
习题 335
参考文献 336