理论篇 2
第一章 绪论 2
1.1 软件危机 2
1.1.1 软件危机的定义 2
1.1.2 软件危机的表现 2
1.1.3 软件危机实例 3
1.1.4 产生软件危机的原因 3
1.1.5 软件危机的解决途径 4
1.2 软件生命周期 6
1.2.1 瀑布模型 7
1.2.2 原型模型 8
1.2.3 迭代增量模型 9
1.2.4 构建组装模型 11
1.3 软件缺陷 12
1.3.1 软件缺陷的定义 12
1.3.2 软件缺陷的来源 13
1.3.3 软件缺陷的属性 14
1.4 软件质量 16
1.4.1 产品质量观念 16
1.4.2 软件质量的定义 17
1.5 软件质量模型 19
1.5.1 三种质量模型 19
1.5.2 软件质量模型关注 22
1.6 软件质量需求 26
1.6.1 白盒测试技术 29
1.6.2 黑盒测试技术 29
第二章 软件生命周期质量管理 31
2.1 软件科学管理 31
2.1.1 人员(People) 32
2.1.2 过程(Process) 33
2.1.3 项目(Project) 34
2.1.4 产品(Product) 35
2.2 项目计划 36
2.2.1 定义 36
2.2.2 可行性分析 36
2.2.3 建立进度计划 40
2.2.4 质量保证体系 40
2.2.5 项目配置管理体系 41
2.2.6 项目版本变更管理 42
2.3 需求分析的质量管理 43
2.3.1 软件需求的概述 43
2.3.2 软件需求分析的过程 47
2.3.3 软件需求分析的质量管理 49
2.3.4 需求分析建模 53
第三章 软件生命周期质量度量 65
3.1 概述 65
3.1.1 度量的原则 66
3.1.2 软件开发生命周期的度量活动 66
3.1.3 软件度量的实施过程 70
3.2 需求分析模型的度量 71
3.2.1 基于功能的度量 72
3.2.2 规约质量的度量 75
3.2.3 需求稳定性的度量 75
3.3 设计模型度量 76
3.3.1 体系结构设计度量 76
3.3.2 构件级设计度量 77
3.3.3 界面设计度量 80
3.4 源代码度量 80
3.4.1 代码行度量法 81
3.4.2 Halstead度量法 81
3.4.3 McCabe度量法 83
3.5 测试度量 85
3.6 维护度量 87
第四章 软件质量保证 89
4.1 概述 89
4.1.1 软件质量管理 89
4.1.2 软件质量保证 93
4.2 软件质量保证任务 96
4.3 软件质量保证目标 97
4.3.1 SQA需求分析目标 98
4.3.2 SQA软件开发计划目标 99
4.3.3 SQA设计目标 101
4.3.4 SQA编码目标 102
4.3.5 SQA测试目标 105
4.3.6 SQA维护目标 105
4.4 软件质量保证活动 106
4.5 软件质量体系 113
4.5.1 软件质量体系的概念 113
4.5.2 质量体系模型 114
第五章 软件测试概述 118
5.1 概述 118
5.1.1 软件测试概述 118
5.1.2 软件测试的发展途径 124
5.1.3 软件测试的意义与目的 125
5.1.4 软件测试的相关工作 127
5.1.5 软件测试原则 131
5.1.6 软件测试分类与层次 133
5.1.7 软件测试流程与要素 146
5.2 软件测试用例 148
5.3 软件测试模型 149
5.3.1 V模型 150
5.3.2 W模型 152
5.3.3 X模型 153
5.3.4 H模型 154
5.3.5 前置测试模型 155
5.4 软件测试生命周期 158
5.5 软件测试计划 162
5.6 软件测试实施过程 165
5.6.1 单元测试 166
5.6.2 集成测试 172
5.6.3 确认测试 180
5.6.4 系统测试 183
5.6.5 验收测试 185
5.6.6 回归测试 188
5.7 评估测试 189
第六章 黑盒测试 191
6.1 概述 191
6.2 边界值测试 192
6.2.1 边界值测试 192
6.2.2 健壮性测试 202
6.3 最坏情况测试 203
6.4 特殊值测试 206
6.5 等价类测试 206
6.5.1 等价类测试 206
6.5.2 等价类测试用例设计 210
6.5.3 弱等价类测试 211
6.6 因果图测试 213
6.7 错误推测法 220
6.8 基于决策表的测试 220
6.9 测试方法的选择 224
第七章 白盒测试 226
7.1 概述 226
7.2 动态测试 227
7.2.1 逻辑覆盖 227
7.2.2 路径测试 237
7.3 静态测试 248
7.3.1 程序结构分析 248
7.3.2 静态测试技术 255
7.3.3 静态测试的内容 261
实战篇 270
第八章 Python测试工具 270
8.1 Selenium模块 270
8.1.1 简介 270
8.1.2 示例 270
8.2 unittest测试框架 272
8.2.1 简介 272
8.2.2 示例 275
8.3 pytest测试框架 281
8.3.1 简介 281
8.3.2 实例 281
第九章 Web测试实战 291
9.1 登录功能测试 291
9.2 客户管理功能测试 295
9.3 订单管理功能测试 299
9.4 登录速率测试 306
9.4.1 网页登录速率测试 306
9.4.2 用户登录速率测试 308
9.5 压力测试 312
参考文献 320