项目介绍 1
第1章 软件测试概述 3
1.1 行业背景 3
1.2 软件测试与软件质量 5
1.2.1 什么是软件测试 5
1.2.2 什么是软件缺陷 6
1.2.3 什么是软件质量 7
1.2.4 软件测试与软件质量保证的区别 8
1.3 软件测试的目的 8
1.4 测试用例 9
1.4.1 定义 9
1.4.2 测试用例的重要性 9
1.4.3 测试用例的评价标准 10
1.4.4 测试用例设计的基本原则 10
1.5 软件测试的原则 11
1.6 软件缺陷的修复成本 15
1.7 软件测试的对象 15
1.8 软件测试的分类 16
1.8.1 按照测试方式分类 16
1.8.2 按照测试方法分类 16
1.8.3 按照测试过程分类 17
1.8.4 按照测试目的分类 17
1.9 软件测试人员的基本素质 18
本章小结 19
习题 19
第2章 软件测试的流程 20
2.1 软件生命周期中的测试 20
2.1.1 软件生命周期 20
2.1.2 软件生命周期中的测试策略 21
2.1.3 软件测试通用流程 21
2.2 单元测试 22
2.2.1 单元测试的任务 22
2.2.2 单元测试的过程 24
2.3 集成测试 24
2.3.1 集成测试概念 24
2.3.2 集成测试策略 25
2.4 系统测试 27
2.4.1 系统测试的概念 27
2.4.2 系统的功能性测试 27
2.4.3 系统测试的非功能性测试 27
2.5 确认测试 30
2.5.1 确认测试的准则 30
2.5.2 程序修改后的确认测试 31
2.5.3 配置与审查 31
2.6 验收测试 31
2.6.1 验收测试的含义 31
2.6.2 验收测试的内容 32
2.6.3 软件文档验收测试 32
2.7 回归测试 33
2.7.1 软件维护测试 33
2.7.2 软件版本开发的测试 33
2.7.3 软件增量开发中的测试 34
2.8 软件自动化测试 34
2.8.1 软件自动化测试的定义 34
2.8.2 软件自动化测试的引入 35
2.8.3 软件自动化测试的优点 35
2.8.4 常用测试工具简介 36
实战演练:软件项目测试环境的搭建 38
本章小结 41
习题 41
第3章 软件测试管理 42
3.1 软件测试管理的概念 42
3.1.1 软件测试管理的定义 42
3.1.2 软件测试管理内容 43
3.1.3 软件测试工具 44
3.2 测试组织的管理 45
3.2.1 测试团队构成 45
3.2.2 测试人员职责分工 45
3.3 缺陷管理 46
3.3.1 缺陷的分类 46
3.3.2 缺陷的报告 46
3.3.3 缺陷的处理流程 48
3.4 缺陷工具Bugzilla 49
3.4.1 Bugzilla的安装 49
3.4.2 Bugzilla的使用 66
3.5 配置管理 66
3.6 配置管理工具SVN 68
3.6.1 SVN的安装配置 68
3.6.2 SVN的使用 73
实战演练:手工测试软件项目 75
本章小结 75
习题 75
第4章 黑盒测试技术 76
4.1 黑盒测试的概念 76
4.1.1 关于黑盒测试 76
4.1.2 测试用例 77
4.2 等价类划分方法 78
4.2.1 等价类的划分原则 78
4.2.2 等价类测试用例的设计 79
4.2.3 等价类划分测试的实例 80
4.3 边界值分析方法 83
4.3.1 边界值分析法概要 83
4.3.2 边界值分析测试的实例 84
4.4 因果图法 88
4.4.1 因果图法设计方法 88
4.4.2 因果图法测试的实例 90
4.5 判定表测试法 93
4.5.1 判定表测试法的组成 93
4.5.2 判定表测试法的实例 94
4.6 其他黑盒测试方法 97
4.6.1 特殊值测试 97
4.6.2 故障猜测法 97
4.7 黑盒测试方法选择的综合策略 98
实战演练 99
本章小结 103
习题 103
第5章 软件项目的功能测试 104
5.1 功能测试 104
5.1.1 功能测试的范围 104
5.1.2 功能易用性测试 105
5.2 软件功能测试工具及应用 106
5.2.1 UFT的安装 107
5.2.2 UFT的第一个测试脚本 112
5.2.3 设置检查点 120
5.2.4 参数化测试脚本 129
实战演练:UFT的测试应用 130
本章小结 133
习题 134
第6章 白盒测试技术 135
6.1 白盒测试概述 135
6.2 代码审查 136
6.2.1 代码审查的方法和范围 136
6.2.2 代码风格的审查 138
6.2.3 编程规则的审查 141
6.3 覆盖测试法 142
6.3.1 语句覆盖 143
6.3.2 其他逻辑覆盖方法 144
6.3.3 路径覆盖 145
实战演练:软件项目测试用例的实例分析 146
本章小结 149
习题 149
第7章 软件项目的单元测试 150
7.1 单元测试 150
7.1.1 单元测试的范围 150
7.1.2 单元测试解决方案 151
7.2 软件界面的测试 158
7.2.1 整体界面的测试 159
7.2.2 界面元素的测试 161
7.3 Web系统的单元测试 165
7.4 运用NUnit进行组件测试 173
实战演练:NUnit的工程应用 176
本章小结 184
习题 185
第8章 软件性能测试 186
8.1 软件性能 186
8.1.1 软件性能概述 186
8.1.2 软件性能指标 187
8.2 性能测试方法 189
8.2.1 负载测试 189
8.2.2 压力测试 189
8.2.3 并发测试 189
8.2.4 兼容性测试 190
8.3 Web系统的性能测试 190
8.3.1 Web系统的性能测试介绍 190
8.3.2 Web性能测试用例设计 192
8.4 软件系统性能测试工具 195
实战演练:RPT性能测试应用 195
本章小结 199
习题 199
第9章 软件安全测试 200
9.1 安全测试概述 200
9.1.1 安全性概述 200
9.1.2 安全性测试策略 201
9.2 安全性测试方法 202
9.3 Web应用安全测试 206
9.4 软件系统安全测试工具及测试应用 209
9.4.1 AppScan简介 209
9.4.2 AppScan的原理 209
9.4.3 AppScan的基本使用 210
实战演练:AppScan安全性测试应用 210
本章小结 215
习题 215
参考文献 216