返回

软件开发:软件测试-236页

搜索
推荐 最新 热门

软件开发:软件测试-236页

资料简介

本书内容全面讲述了软件质量保证与测试的发展过程、基本概念、核心思想、基本原理、基本方法、主要过程、常用技术和工具,内容包括绪论、软件测试策略、黑盒测试、白盒测试、软件测试过程、面向对象测试、自动化测试、软件评审、软件质量与质量保证、测试的组织和管理及软件测试热点。本书以大量源程序代码和测试代码作为示例来进行讲解,结合软件开发,培养学生的测试分析、测试设计和测试开发能力。

前言
第 1 章 绪论 1
1.1 软件测试的产生与发展 2
1.1.1 软件测试的产生 2
1.1.2 软件测试的第一类测试方法 2
1.1.3 软件测试的第二类测试方法 2
1.1.4 软件测试与软件质量 3
1.1.5 软件测试及软件测试观念的发展过程 4
1.2 软件缺陷、软件错误、软件失败 4
1.2.1 第一个 Bug 4
1.2.2 软件缺陷 5
1.2.3 缺陷产生的原因 5
1.2.4 PIE 模型 7
1.3 软件测试的意义、原则和挑战 9
1.3.1 软件发展特点对软件测试的影响 9
1.3.2 软件缺陷导致的事故案例 10
1.3.3 软件测试的意义 11
1.3.4 软件测试的基本原则 13
1.3.5 关于测试的错误认识 14
1.3.6 软件测试面临的挑战 14
习题 14
第 2 章 软件测试策略 18
2.1 软件测试的模型、过程和生命周期 19
2.1.1 软件测试的模型 19
2.1.2 软件测试的过程 21
2.1.3 软件测试的生命周期 21
2.2 软件测试的方法和技术 24
2.2.1 静态测试与动态测试 24
2.2.2 黑盒测试和白盒测试 25
2.2.3 手工测试与自动化测试 27
2.2.4 软件测试的基本策略 27
习题 27
第 3 章 黑盒测试 29
3.1 黑盒测试简介 30
3.2 等价类划分测试法 31
3.2.1 等价类划分 31
3.2.2 等价类划分测试 34
3.2.3 等价类的组合 35
3.3 边界值测试法 36
3.3.1 边界值 37
3.3.2 边界值测试用例设计 38
3.3.3 边界值的组合 38
3.4 错误推测法 39
3.4.1 错误推测法简介 39
3.4.2 登录测试错误推测法应用 40
3.4.3 数据表操作测试错误推测法应用及示例 41
3.5 判定表驱动法 41
3.5.1 判定表 41
3.5.2 判定表的建立 43
3.5.3 判定表驱动测试示例 43
3.6 因果图法 44
3.6.1 因果图介绍 45
3.6.2 因果图法设计测试用例的步骤 46
3.6.3 因果图法设计测试用例示例 46
3.7 场景法 48
3.7.1 事件流 48
3.7.2 场景法设计测试用例的步骤 48
3.7.3 场景法应用示例 49
3.8 正交实验法 50
3.8.1 正交实验法应用背景 50
3.8.2 正交实验法简介 51
3.8.3 正交实验法应用步骤和原则 52
3.8.4 正交实验法应用示例 52
习题 54
第 4 章 白盒测试 57
4.1 白盒测试简介 58
4.2 静态白盒测试 58
4.2.1 代码检查 58
4.2.2 静态结构分析 60
4.2.3 程序流程分析 60
4.2.4 编程规范 62
4.2.5 静态测试扫描工具 65
4.2.6 静态测试扫描工具安装与使用 68
4.3 逻辑覆盖 71
4.3.1 逻辑覆盖简介 71
4.3.2 语句覆盖 72
4.3.3 判定覆盖 73
4.3.4 条件覆盖 74
4.3.5 条件/判定覆盖 74
4.3.6 条件组合覆盖 75
4.3.7 修正条件/判定覆盖 76
4.3.8 覆盖标准 76
4.4 基本路径覆盖 77
4.4.1 控制流图 77
4.4.2 环路复杂度 79
4.4.3 基本路径覆盖及实例 80
4.5 测试覆盖分析工具 84
4.5.1 JaCoCo 84
4.5.2 JCov 84
4.5.3 Cobertura 85
4.6 循环测试 85
4.6.1 基本循环结构测试 85
4.6.2 复合循环结构测试 86
4.7 程序变异测试 87
4.7.1 程序变异 88
4.7.2 变异测试 89
4.7.3 变异测试的优缺点 91
4.8 符号执行 91
4.8.1 符号执行简介 91
4.8.2 符号执行示例 92
4.8.3 符号执行的特点和作用 93
4.9 程序插桩和调试 93
4.9.1 断言 93
4.9.2 设计插桩 94
4.9.3 程序调试 96
习题 98
第 5 章 软件测试过程 103
5.1 单元测试 104
5.1.1 单元测试简介 104
5.1.2 单元测试的任务 107
5.1.3 JUnit 单元测试入门 111
5.2 集成测试 114
5.2.1 集成测试简介 114
5.2.2 一次性集成与增量式集成 119
5.2.3 自顶向下集成与自底向上集成 120
5.2.4 基于调用图的集成 122
5.2.5 其他集成测试方法 124
5.3 系统测试 128
5.3.1 系统测试简介 128
5.3.2 系统测试项目 129
5.4 验收测试 138
5.4.1 验收测试简介 138
5.4.2 验收测试的分类 139
5.5 回归测试 140
5.5.1 回归测试简介 140
5.5.2 实施回归测试 141
习题 142
第 6 章 面向对象测试 146
6.1 面向对象特点对测试的影响 147
6.1.1 封装对测试的影响 147
6.1.2 继承对测试的影响 147
6.1.3 多态对测试的影响 148
6.1.4 复杂的依赖关系对测试的影响 148
6.2 面向对象测试技术 149
6.2.1 面向对象测试技术简介 149
6.2.2 类测试 149
习题 150
第 7 章 自动化测试 151
7.1 自动化测试技术和工具 152
7.1.1 自动化测试简介 152
7.1.2 自动化测试的优点、
局限性和适用情况 152
7.1.3 自动化测试工具 154
7.2 自动化黑盒测试 155
7.2.1 自动化黑盒测试的基本原理 155
7.2.2 自动化黑盒测试的相关技术 156
7.3 自动化白盒测试 158
7.3.1 自动化白盒测试工具Logiscope 158
7.3.2 Logiscope 的功能 159
习题 160
第 8 章 软件评审 162
8.1 软件评审简介 163
8.1.1 软件评审的概念 163
8.1.2 软件评审的作用 163
8.1.3 软件评审的特点 164
8.2 软件评审活动 164
8.2.1 需求评审 165
8.2.2 概要设计评审 166
8.2.3 详细设计评审 167
8.2.4 数据库设计评审 168
8.2.5 测试评审 170
8.2.6 验收评审 170
8.3 软件评审技术和工具 171
8.4 软件评审的组织和相关因素 171
8.4.1 软件评审的组织 171
8.4.2 软件评审的相关因素 172
习题 173
第 9 章 软件质量与质量保证 174
9.1 软件错误及分类 175
9.1.1 各种软件错误 175
9.1.2 程序正确性的标准 176
9.1.3 软件错误的分类 176
9.2 程序中隐藏错误数量估计 177
9.2.1 种子模型法 177
9.2.2 Hyman 估算法 178
9.2.3 回归分析 179
9.3 软件质量 180
9.3.1 软件质量基本概念 180
9.3.2 相关概念 181
9.3.3 软件质量特性 181
9.4 软件质量模型和质量度量 182
9.4.1 软件质量模型 182
9.4.2 软件质量的度量 184
9.4.3 不同质量之间的关系 185
9.5 软件质量管理与质量保证 186
9.5.1 软件质量管理 186
9.5.2 软件质量保证 187
9.5.3 软件质量保证体系 188
习题 190
第 10 章 测试的组织和管理 192
10.1 人员和资源组织 193
10.1.1 软件测试工作的特点 193
10.1.2 软件测试人员组织 193
10.1.3 软件测试资源组织 195
10.2 过程和进度管理 195
10.2.1 软件测试项目的生命周期 195
10.2.2 测试进度管理 199
10.3 测试文档、测试用例和缺陷管理 199
10.3.1 测试文档管理 199
10.3.2 测试用例管理 200
10.3.3 缺陷管理 202
习题 203
第 11 章 软件测试热点 204
11.1 安全测试 205
11.1.1 安全测试简介 205
11.1.2 安全测试方法 206
11.1.3 安全测试示例 211
11.2 移动应用测试 218
11.2.1 移动应用测试简介 218
11.2.2 移动应用自动化测试工具简介 219
11.2.3 移动应用测试示例 221
习题 228
参考文献 231