第1章 软件测试基础知识 1
1.1 软件及软件测试的发展 2
1.1.1 软件的定义 2
1.1.2 软件与软件测试的发展 3
1.1.3 软件测试的现状与发展趋势 5
1.2 软件分类及测试要求 7
1.3 软件测试定义 8
1.3.1 软件测试的定义 8
1.3.2 软件测试的目的 9
1.3.3 软件测试的原则 10
1.4 软件缺陷 11
1.4.1 软件缺陷的定义 11
1.4.2 软件缺陷产生的原因 12
1.4.3 软件缺陷与测试的关系 13
1.5 软件测试分类 14
1.5.1 黑盒测试和白盒测试 14
1.5.2 静态测试和动态测试 15
1.5.3 单元测试、集成测试、确认测试、系统测试和验收测试 15
1.5.4 功能测试和性能测试 17
1.5.5 回归测试、冒烟测试、随机测试 18
1.5.6 不同软件测试分类之间的关系 18
1.6 软件测试过程模型 18
1.7 软件测试岗位 21
1.7.1 软件测试部门的组织结构 21
1.7.2 软件测试团队 23
1.7.3 软件测试人员的基本素质与技能 23
1.7.4 软件测试人员的职业发展 27
本章小结 27
知识拓展与练习 28
第2章 软件测试设计与实施 30
2.1 软件测试流程 31
2.2 软件测试计划 34
2.2.1 制订测试计划的原则 34
2.2.2 制订测试计划可能面对的问题 34
2.2.3 测试计划的标准 35
2.2.4 制订测试计划 35
2.3 软件测试环境 41
2.3.1 什么是测试环境 41
2.3.2 软件环境的分类 41
2.3.3 怎样搭建测试环境 42
2.3.4 测试环境的维护和管理 43
2.4 软件测试用例 44
2.4.1 什么是测试用例 44
2.4.2 编写测试用例的注意事项 46
2.4.3 测试用例的组织和跟踪 47
2.4.4 测试用例案例 49
本章小结 51
能力拓展与训练 51
第3章 软件测试实施与管理 52
3.1 软件缺陷管理 53
3.1.1 软件缺陷的属性 53
3.1.2 软件缺陷报告 57
3.1.3 缺陷处理流程 60
3.1.4 缺陷的跟踪和管理 62
3.1.5 常用缺陷管理工具 64
3.2 软件测试管理 66
3.2.1 建立测试管理体系 66
3.2.2 软件测试管理的基本内容 68
3.2.3 软件测试管理原则 68
3.2.4 常用软件测试管理工具 69
3.3 软件测试工具 71
3.3.1 软件测试工具分类 71
3.3.2 常用软件测试工具 73
3.3.3 如何选择软件测试工具 74
3.4 软件测试文档 75
3.4.1 软件测试文档的作用 75
3.4.2 软件测试文档的类型 76
3.4.3 主要软件测试文档 77
本章小结 80
能力拓展与训练 80
第4章 单机软件测试的设计与实施 81
4.1 单机软件案例分析 82
4.1.1 项目及被测软件简介 82
4.1.2 测试目的与要求 82
4.2 测试知识扩展 83
4.2.1 已学相关知识回顾 83
4.2.2 黑盒测试技术 83
4.2.3 黑盒测试技术的综合运用 85
4.2.4 白盒测试技术 87
4.3 软件测试计划 88
4.4 软件测试的实施 93
4.5 测试总结 95
本章小结 98
知识拓展与练习 99
能力拓展与训练 99
第5章 网络软件测试的设计与实施 100
5.1 被测试软件项目介绍 101
5.1.1 被测试软件项目背景 101
5.1.2 门诊挂号子系统介绍 102
5.1.3 门诊挂号子系统的功能需求分析 102
5.1.4 门诊挂号子系统的性能及可用性要求 104
5.2 测试计划 105
5.3 HIS测试过程概述 109
5.4 测试用例设计 111
5.4.1 门诊挂号子系统测试大纲(表5-9) 112
5.4.2 其他可用性测试检查标准 113
5.4.3 功能测试用例 114
5.4.4 性能测试用例 123
5.5 缺陷报告 123
5.6 测试结果总结分析 125
5.7 软件测试自动化工具 129
5.7.1 黑盒测试工具介绍 129
5.7.2 黑盒功能测试工具——WinRunner 129
5.7.3 在项目中应用 132
5.8 文档测试 133
本章小结 134
能力拓展与训练 135
第6章 游戏软件测试的设计与实施 136
6.1 组合测试 137
6.1.1 问题的提出 137
6.1.2 组合测试的概念 137
6.1.3 组合测试表格的生成 138
6.1.4 组合测试的分析 141
6.2 TFD的要素 142
6.3 TFD设计活动 144
6.4 一个TFD的例子 145
6.5 数据词典 151
6.6 TFD路径 153
6.7 由路径创建测试案例 157
6.8 使用TFD或不使用TFD 159
本章小结 160
能力拓展与训练 160
第7章 数据仓库软件测试的设计与实施 161
7.1 数据仓库测试项目概述 162
7.2 数据仓库知识学习 163
7.3 数据仓库测试工作流程 167
7.4 数据仓库测试实施 167
7.5 有关工作表 171
本章小结 183
知识拓展与练习 183
能力拓展与训练 183
第8章 软件安全测试的设计与实施 184
8.1 软件安全测试 185
8.2 软件安全测试项目概述 188
8.3 软件安全测试的实施 190
8.4 总结 196
本章小结 197
知识拓展与练习 198
能力拓展与训练 198
第9章 嵌入式软件测试的设计与实施 199
9.1 嵌入式系统及测试 200
9.2 嵌入式软件测试 203
9.3 嵌入式软件测试环境 209
9.3.1 嵌入式软件测试环境综述 210
9.3.2 嵌入式软件测试环境的建立 212
9.3.3 嵌入式软件测试环境建立实例 213
9.4 嵌入式软件的特殊测试技术 216
9.4.1 状态转换测试 216
9.4.2 控制流测试 219
9.5 嵌入式软件测试工具 222
9.5.1 Logiscope 222
9.5.2 CodeTest 224
9.5.3 CRESTS/ATAT 225
9.5.4 TestManager 227
本章小结 228
知识拓展与练习 228
能力拓展与训练 228
第10章 开源软件测试的设计与实施 229
10.1 开源代码的有关概念 230
10.2 开源软件测试模型 232
10.2.1 开源软件测试模型概述 232
10.2.2 测试环境 233
10.2.3 产品元素 234
10.2.4 质量准则 236
10.2.5 测试技术选择 237
10.2.6 通用测试技术 237
10.3 开源软件测试模型常用工具 239
10.4 JUnit工具简介 239
10.5 Selenium工具 243
本章小结 250
知识拓展与练习 250
能力拓展与训练 250
第11章 软件测试拓展知识 251
11.1 ISTQB职业资格证书 252
11.1.1 证书介绍 252
11.1.2 ISTQB软件测试初级认证大纲 253
11.1.3 ISTQB软件测试高级认证大纲 254
11.2 服务外包岗位专业考试 254
11.2.1 证书介绍 254
11.2.2 信息技术外包(ITO)——软件外包测试工程师考试大纲 255
11.2.3 信息技术外包(ITO)——软件外包测试经理考试大纲 256
11.3 软件测试的拓展学习与研究学习 258
11.3.1 软件测试理论中的阴阳学说 258
11.3.2 游戏软件测试模式选择与测试估计研究 258
11.3.3 基于净室软件工程的游戏软件测试技术研究与分析 259
11.4 软件测试虚拟实训 259
11.4.1 虚拟实训 259
11.4.2 传统实训存在的主要问题 260
11.4.3 虚拟实验室 260
11.4.4 虚拟实验室国内外现状 261
11.4.5 虚拟实训室的功能特点 261
11.4.6 虚拟实验室的构建使用与管理 262
11.4.7 虚拟现实技术 263
11.4.8 虚拟企业简介 266
11.4.9 虚拟企业软件的开发语言与运行环境 267
11.5 常用计算机软件测试标准 268
11.6 GB/T 15532—2008计算机软件测试规范 268
11.7 GB/T 9386—2008计算机软件测试文档编制规范 269
11.8 IEEE美国电气和电子工程师协会简介 271
11.9 IEEE 829—1998软件测试文档编制标准 271
本章小结 273
知识拓展与练习 274
能力拓展与训练 274
参考文献 275