《软件测试》针对高校计算机相关专业软件测试课程的需要而编写,系统介绍软件测试的基础知识与应用技术,并阐述近年来一些新的软件测试理论和方法,内容包含软件测试基础、软件测试计划和管理、软件测试的基本技术、软件测试的过程管理、测试用例设计、软件测试项目管理、Web应用测试、自动化测试与应用、面向对象软件的测试、第三方测试与云测试,最后给出了一个实际软件项目的测试案例,可使读者淸晰地了解软件测试的整个过程,理解如何做好软件测试工作。
《软件测试》内容全面、深入浅出、理论和实践相结合,适合作为高校计算机科学与技术、软件工程等专业软件测试课程的教材,以及软件测试应用型人才的培训教材,也可供软件测试、软件质量保证、软件开发和软件项目管理从业人员参考。
更多科学出版社服务,请扫码获取。
目录
前言
第1章 软件测试基础 1
1.1 软件测试的基本概念 1
1.1.1 软件测试的定义 1
1.1.2 软件测试的目的 2
1.1.3 软件测试的流程 2
1.2 软件缺陷 3
1.2.1 软件缺陷概述 3
1.2.2 软件缺陷的生命周期 4
1.3 软件质量及其度量与保证 5
1.3.1 软件质量概论 5
1.3.2 软件质量度量 7
1.3.3 软件质量保证 8
1.4 软件测试的分类 9
1.5 软件测试的发展历程和趋势 11
小结 12
习题 12
第2章 软件测试计划和管理 13
2.1 软件测试计划的目标 13
2.2 制订软件测试计划的原则 14
2.3 衡量软件测试计划的标准 15
2.4 制订软件测试计划的步骤 15
2.5 测试需求及分析 17
2.5.1 测试需求分类 17
2.5.2 测试需求的收集 18
2.5.3 测试需求的整理分析 18
2.5.4 测试需求的评审 19
2.6 制订测试计划 19
2.6.1 确定测试范围 20
2.6.2 选择测试方法 21
2.6.3 确定测试标准 22
2.6.4 自动化测试工具的选择 24
2.6.5 测试软件的编写 24
2.6.6 合理减少测试的工作量 25
2.6.7 测试计划的实施 25
2.6.8 编写系统测试计划文档 26
2.7 测试进度管理 28
2.7.1 测试结束标准 28
2.7.2 进度管理方法 28
小结 29
习题 29
第3章 软件测试的基本技术 30
3.1 静态测试和动态测试 30
3.1.1 静态测试 30
3.1.2 动态测试 31
3.2 黑盒测试 31
3.2.1 黑盒测试概述 31
3.2.2 等价类划分法 32
3.2.3 边界值分析法 35
3.2.4 决策表法 38
3.2.5 因果图法 41
3.2.6 黑盒测试方法的优缺点及选择原则 45
3.3 白盒测试 46
3.3.1 逻辑覆盖测试 46
3.3.2 路径分析测试 52
3.3.3 白盒测试方法的优缺点 56
小结 57
习题 57
第4章 软件测试的过程管理 58
4.1 软件测试过程 58
4.1.1 软件测试过程模型介绍 58
4.1.2 软件测试过程模型的选取策略 62
4.2 敏捷测试过程 63
4.2.1 敏捷测试的特征 63
4.2.2 敏捷测试流程 63
4.2.3 基于脚本的测试和探索式测试 65
4.3 软件测试各个阶段的工作 65
4.3.1 需求分析阶段 65
4.3.2 计划与设计阶段 66
4.3.3 测试实施阶段 67
4.3.4 测试结束阶段 67
4.3.5 测试验收和归档阶段 68
4.4 按阶段和测试内容进行测试分类 68
4.4.1 按阶段进行测试分类 68
4.4.2 按测试内容进行测试分类 70
小结 73
习题 73
第5章 测试用例设计 74
5.1 测试用例的基本概念 74
5.2 测试用例的设计 75
5.2.1 设计基本原则 75
5.2.2 测试用例编写标准 76
5.2.3 测试用例考虑的因素 78
5.2.4 测试用例设计举例 78
5.2.5 测试用例的分类 81
5.3 测试用例的管理 84
5.3.1 测试用例的组织 84
5.3.2 测试用例的跟踪 87
5.3.3 测试用例的维护 89
5.3.4 测试用例的评价 90
小结 91
习题 91
第6章 软件测试项目管理 92
6.1 软件测试项目管理概述 92
6.2 软件测试文档 93
6.2.1 测试文档的作用 93
6.2.2 测试文档的类型 93
6.2.3 主要的软件测试文档 94
6.3 软件测试的组织与人员管理 95
6.3.1 测试的过程 96
6.3.2 测试方法的应用 97
6.3.3 测试的人员组织 97
6.3.4 软件测试文件 98
6.4 软件测试过程 99
6.4.1 测试过程管理 99
6.4.2 测试过程管理理念 100
6.4.3 测试过程管理实践 101
6.4.4 测试过程可持续改进 102
6.5 软件测试配置管理 103
6.5.1 测试配置管理的必要性 103
6.5.2 测试配置管理的方法和内容 103
6.5.3 测试配置管理的应用 106
6.5.4 软件测试的版本控制 107
6.6 软件测试风险管理 111
6.7 软件测试成本管理 113
小结 115
习题 116
第7章 Web应用测试 117
7.1 Web应用测试概述 117
7.2 Web应用测试分类 117
7.2.1 功能测试 117
7.2.2 性能测试 120
7.2.3 用户界面测试 122
7.2.4 易用性测试 124
7.2.5 兼容性测试 125
7.2.6 安全性测试 126
7.3 Web应用测试环境搭建 129
7.4 Web应用测试工具概述 129
7.4.1 Selenium 129
7.4.2 JMeter 136
7.4.3 JProfiler 137
7.4.4 安全性测试工具 142
小结 144
习题 144
第8章 自动化测试与应用 145
8.1 自动化测试的概念 145
8.1.1 自动化测试的定义 145
8.1.2 软件自动化测试的优势 146
8.2 自动化测试的实现原理 146
8.2.1 代码分析 146
8.2.2 对象识别 147
8.2.3 脚本技术 147
8.2.4 自动化测试系统的构成 148
8.3 自动化测试的实施 149
8.3.1 测试工具的分类 149
8.3.2 测试工具的选择 149
8.3.3 自动化测试普遍存在的问题 150
8.4 软件功能测试 150
8.4.1 如何开展功能自动化测试 150
8.4.2 使用QTP开展功能自动化测试 151
8.4.3 使用QTP录制脚本 151
8.4.4 使用关键字视图和专家视图编辑脚本 153
8.4.5 回放脚本 153
8.4.6 插入检查点 153
8.4.7 参数化 156
8.4.8 输出值 158
8.4.9 构建功能自动化测试框架 159
8.5 软件性能测试 161
8.5.1 开展性能测试的方法 161
8.5.2 使用LoadRunner开展性能测试 163
8.5.3 使用LoadRunner的基本方法和步骤 164
8.5.4 Vuser发生器 166
8.5.5 Controller控制器 174
8.5.6 Analysis分析器 176
小结 179
习题 179
第9章 面向对象软件的测试 180
9.1 面向对象的测试概述 180
9.1.1 面向对象的基本概念 180
9.1.2 面向对象的开发方法 181
9.1.3 面向对象的分析和设计 182
9.1.4 面向对象模型 184
9.1.5 面向对象软件的测试策略 186
9.2 面向对象的软件测试模型 186
9.3 面向对象软件测试的层次 188
9.4 面向对象的单元测试 190
9.4.1 以方法为单元 190
9.4.2 以类为单元 191
9.5 面向对象的集成测试 192
9.5.1 面向对象的集成测试概述 192
9.5.2 面向对象交互测试 193
9.6 面向对象的系统测试 194
9.7 面向对象的测试和传统测试的比较 195
小结 196
习题 196
第10章 第三方测试与云测试 197
10.1 第三方测试的基本概念 197
10.1.1 第三方软件测试 197
10.1.2 第三方测试的意义和分类 197
10.2 第三方测试的测试过程 199
10.3 云测试技术 201
10.3.1 云测试概述 201
10.3.2 云测试的特点 203
10.4 云测试抽象模型 203
10.5 云测试关键技术 204
10.6 云测试平台实例——浪潮测试云平台解决方案 205
小结 207
习题 207
第11章 测试实践——个实际软件项目的测试案例 208
11.1 被测试项目介绍 208
11.1.1 被测试系统概述 208
11.1.2 用户登录模块介绍 210
11.1.3 论文管理模块介绍 210
11.2 测试计划 216
11.3 测试过程概述 219
11.4 测试用例设计 221
11.4.1 论文管理子系统测试大纲 221
11.4.2 测试用例 223
11.5 缺陷报告 225
11.6 测试结果总结分析 226
11.7 软件自动化测试工具 227
11.8 文档测试 229
小结 229
习题 230
参考文献 231