鱼C论坛

 找回密码
 立即注册
查看: 2403|回复: 3

[技术交流] 软件测试与持续质量改进(第3版)

[复制链接]
发表于 2013-6-25 23:49:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x


内容介绍:
  《软件测试与持续质量改进:第3版》为软件测试过程提供了一个质量框架,目的是提出一个持续改进软件质量的途径,以提高测试效率。书中详细列举基本的软件测试技巧,并基于一种持续改进过程介绍deming 的质量概念,将“计划、执行、检查、改进”(plan, do, check, act, pdca)这样一个质量循环引入软件测试过程,阐述现代质量保证理论及最佳实践方法。此外,附录中提供软件测试过程中可能涉及的各种文档的格式样本,非常便于查阅和参考。
   《软件测试与持续质量改进:第3版》既适合软件测试领域的专业技术人员作为参考手册,又适合作为计算机及相关专业软件测试课程的教材。
目录:
第一部分 软件质量透视
第1 章 软件测试简史 2
1.1 历史上软件测试和开发并行 4
1.2 极限编程 5
1.3 自动化测试工具的发展 6
1.3.1 静态捕获/回放工具(不附带脚本语言) 7
1.3.2 静态捕获/回放工具(具有脚本语言) 7
1.3.3 可变的捕获/回放工具 7
第2 章 质量保证框架 9
2.1 什么是质量 9
2.2 预防与检测 10
2.3 验证与确认 10
2.4 软件质量保证 11
2.5 质量保证的组成 12
2.5.1 软件测试 12
2.5.2 质量控制 13
2.5.3 软件配置管理 14
2.6 软件质量保证计划 16
2.7 质量标准 18
.2.7.1 萨班斯—奥克斯利法案 18
2.7.2 iso9000 19
2.7.3 能力成熟度模型 20
2.7.4 pcmm 23
2.7.5 cmmi 23
2.7.6 美国波多里奇国家质量奖 23
2.8 注释 25
第3 章 测试技术概述 26
3.1 黑盒测试(功能测试) 26
3.2 白盒测试(结构测试) 27
3.3 灰盒测试(功能与结构测试) 27
3.4 手工测试与自动化测试 27
3.5 静态测试与动态测试 27
3.6 软件测试技术的分类 28
第4 章 将需求转换成可测试的测试用例 33
4.1 概述 33
4.2 将软件需求作为测试的基础 33
4.3 需求质量因素 34
4.3.1 可理解 34
4.3.2 必需 34
4.3.3 可修改 34
4.3.4 非冗余 34
4.3.5 简洁 35
4.3.6 可测试 35
4.3.7 可跟踪 35
4.3.8 在范围内 35
4.4 评估需求质量的数值方法 35
4.5 根据好的需求创建测试用例的过程 36
4.5.1 步骤1:评审需求 36
4.5.2 步骤2:编写测试计划 38
4.5.3 步骤3:确定测试套件 38
4.5.4 步骤4:命名测试用例 40
4.5.5 步骤5:编写测试用例描述及目标 41
4.5.6 步骤6:创建测试用例 41
4.5.7 步骤7:评审测试用例 42
4.6 将用例转换为测试用例 42
4.6.1 步骤1:绘制用例图 42
4.6.2 步骤2:编写详细的用例文本 43
4.6.3 步骤3:确定用例场景 44
4.6.4 步骤4:生成测试用例 45
4.6.5 步骤5:生成测试数据 45
4.6.6 小结 46
4.7 需求不存在或编写粗劣时怎么办 46
4.7.1 即兴测试 46
4.7.2 探索性测试 47
第5 章 质量的持续改进过程 49
5.1 edward deming的贡献 49
5.2 统计方法扮演的角色 49
5.2.1 因果图 50
5.2.2 流程图 50
5.2.3 帕累托图 50
5.2.4 运行图 50
5.2.5 直方图 50
5.2.6 散布图 50
5.2.7 控制图 50
5.3 deming的14条质量原则 50
5.3.1 第1条:树立始终如一的目标 51
5.3.2 第2条:采用新的质量观念 51
5.3.3 第3条:停止对大量审查的依赖 51
5.3.4 第4条:结束仅靠价签来激励企业的实践活动 51
5.3.5 第5条:坚持不懈地、永久地改进生产和服务系统 52
5.3.6 第6条:组织培训及再培训 52
5.3.7 第7条:确立领导职责 52
5.3.8 第8条:驱除恐惧 53
5.3.9 第9条:打破员工区域之间的壁垒 53
5.3.10 第10条:解除工作口号、训词及目标 53
5.3.11 第11条:去除数字化目标 53
5.3.12 第12条:消除阻碍员工自豪感的壁垒 54
5.3.13 第13条:开设有关教育和再培训方面的强有力的课程 54
5.3.14 第14条:采取行动完成转变 54
5.4 通过“计划、执行、检查、改进”实现持续改进 54
5.5 遵循pdca循环 55
第二部分 瀑布测试概述
第6 章 概述 58
6.1 瀑布式开发方法 58
6.2 “阶段化”持续改进方法 58
6.3 生命周期测试的心理学 59
6.4 将软件测试作为持续改进过程 59
6.5 测试的圣经:软件测试计划 61
6.6 制定测试计划的主要步骤 63
6.6.1 步骤1:定义测试目标 63
6.6.2 步骤2:确定测试方法 63
6.6.3 步骤3:定义测试环境 63
6.6.4 步骤4:制定测试规约 63
6.6.5 步骤5:确定测试日程表 63
6.6.6 步骤6:评审及批准测试计划 64
6.7 测试计划的组成 64
6.8 将技术评审作为持续改进过程 66
6.9 技术评审的动机 66
6.10 评审的类型 67
6.10.1 结构化走查 67
6.10.2 审查 67
6.11 参与人员角色 69
6.12 有效评审的步骤 70
6.12.1 步骤1:规划评审过程 70
6.12.2 步骤2:安排评审进度 70
6.12.3 步骤3:制定评审议程 70
6.12.4 步骤4:创建评审报告 70
第7 章 需求的静态测试 72
7.1 通过歧义性评审测试需求 73
7.2 通过技术评审测试需求 73
7.3 审查和走查 73
7.4 检查表 74
7.5 需求可追溯性矩阵 74
7.6 制定系统/验收测试计划 74
第8 章 逻辑设计的静态测试 77
8.1 数据模型、过程模型及其联系 77
8.2 通过技术评审测试逻辑设计 78
8.3 细化系统/验收测试计划 79
第9 章 物理设计的静态测试 80
9.1 通过技术评审测试物理设计 80
9.2 创建集成测试用例 81
9.3 集成测试方法 81
9.3.1 步骤1:标识出单元接口 81
9.3.2 步骤2:全面协调接口 81
9.3.3 步骤3:创建集成测试条件 82
9.3.4 步骤4:评估集成测试条件的完整性 82
第10 章 程序单元设计的静态测试 83
10.1 通过技术评审测试程序单元设计 83
10.1.1 顺序结构 83
10.1.2 选择结构 83
10.1.3 循环结构 83
10.2 编写单元测试用例 84
第11 章 代码的静态测试与动态测试 85
11.1 用技术评审测试编码 85
11.2 执行测试计划 86
11.3 单元测试 86
11.4 集成测试 87
11.5 系统测试 87
11.6 验收测试 87
11.7 缺陷记录 88
第三部分 螺旋(敏捷)软件测试方法:计划、执行、检查、改进第12 章 开发方法概述 91
12.1 生命周期开发的局限性 91
12.2 客户/服务器架构的挑战 92
12.3 客户/服务器架构中螺旋测试的心理学 93
12.3.1 新思想 93
12.3.2 对测试人员/开发人员的理解 93
12.3.3 项目的目标:把质量保证和开发结合起来 94
12.3.4 迭代/螺旋式开发方法 94
12.4 jad的角色 96
12.5 原型法的角色 96
12.6 开发原型的方法 97
12.6.1 步骤1:开发原型 97
12.6.2 步骤2:向管理层演示原型 98
12.6.3 步骤3:向用户演示原型 98
12.6.4 步骤4:修订并定稿规约 99
12.6.5 步骤5:开发产品系统 99
12.7 持续改进螺旋测试方法 100
第13 章 信息收集(计划) 103
13.1 步骤1:准备访谈 104
13.1.1 任务1:确定参加访谈的人 104
13.1.2 任务2:确定议程 104
13.2 步骤2:执行访谈 104
13.2.1 任务1:理解项目 105
13.2.2 任务2:理解项目目标 105
13.2.3 任务3:理解项目状态 106
13.2.4 任务4:理解项目计划 107
13.2.5 任务5:理解项目开发方法 107
13.2.6 任务6:确定总体业务需求 108
13.2.7 任务7:进行风险分析 108
13.3 步骤3:总结访谈成果 110
13.3.1 任务1:总结访谈 110
13.3.2 任务2:确认访谈成果 110
第14 章 测试计划(计划) 111
14.1 步骤1:建立测试计划 112
14.1.1 任务1:准备引言部分 112
14.1.2 任务2:定义总体功能需求 113
14.1.3 任务3:确定手动/自动化测试的类型 114
14.1.4 任务4:确定测试退出标准 114
14.1.5 任务5:制定回归测试策略 115
14.1.6 任务6:定义测试可交付物 117
14.1.7 任务7:组建测试团队 117
14.1.8 任务8:搭建测试环境 118
14.1.9 任务9:定义依赖关系 119
14.1.10 任务10:创建测试进度表 119
14.1.11 任务11:选择测试工具 122
14.1.12 任务12:建立缺陷报告/跟踪规程 122
14.1.13 任务13:建立变更请求规程 123
14.1.14 任务14:建立版本控制规程 124
14.1.15 任务15:定义配置构建规程 125
14.1.16 任务16:定义项目问题解决规程 125
14.1.17 任务17:建立报告规程 125
14.1.18 任务18:定义批准规程 126
14.2 步骤2:定义度量目标 126
14.2.1 任务1:定义度量标准 126
14.2.2 任务2:定义度量要点 127
14.3 步骤3:测试计划的评审和批准 129
14.3.1 任务1:评审的日程安排/执行 129
14.3.2 任务2:获得批准 129
第15 章 测试用例设计(执行) 131
15.1 步骤1:设计功能测试 131
15.1.1 任务1:完善功能测试需求 131
15.1.2 任务2:建立功能/测试矩阵 136
15.2 步骤2:设计图形用户界面测试 137
15.2.1 任务1:确定应用程序图形用户界面组件 137
15.2.2 任务2:设计图形用户界面测试 138
15.3 步骤3:定义系统/验收测试 139
15.3.1 任务1:确定可能的系统测试 139
15.3.2 任务2:设计阶段性系统测试 140
15.3.3 任务3:确定可能的验收测试 141
15.4 步骤4:测试设计的评审和批准 141
15.4.1 任务1:评审的日程安排/准备 141
15.4.2 任务2:获得批准 142
第16 章 测试开发(执行) 143
16.1 步骤1:开发测试脚本 143
16.1.1 任务1:开发手工/自动化图形用户界面/功能测试脚本 143
16.1.2 任务2:开发手工/自动化的阶段性系统测试脚本 144
16.2 步骤2:测试开发的评审和批准 144
16.2.1 任务1:评审的日程安排/准备 144
16.2.2 任务2:获得批准 145
第17 章 通过可追溯性实现测试覆盖 146
17.1 用例和可追溯性 147
17.2 小结 148
第18 章 测试执行/评价(执行/检查) 149
18.1 步骤1:组织测试内容并进行测试 149
18.1.1 任务1:回归测试手工/自动化修复上次螺旋过程中的缺陷 149
18.1.2 任务2:执行新的螺旋测试中的手工/自动化测试 150
18.1.3 任务3:记录螺旋测试中发现的缺陷 150
18.2 步骤2:测试评价 150
18.3 步骤3:发布中期报告 151
18.3.1 任务1:细化测试进度表 151
18.3.2 任务2:确定需求变更 151
第19 章 准备下一次螺旋测试(改进) 153
19.1 步骤1:细化测试 154
19.1.1 任务1:更新功能/图形用户界面测试 154
19.1.2 任务2:更新阶段性系统测试 154
19.1.3 任务3:更新验收测试 154
19.2 步骤2:重新评价测试团队、规程和环境 155
19.2.1 任务1:评价测试团队 155
19.2.2 任务2:评审测试控制规程 155
19.2.3 任务3:更新测试环境 156
19.3 步骤3:发布中期测试报告 156
第20 章 进行系统测试 158
20.1 步骤1:完成系统测试计划 158
20.1.1 任务1:确定系统测试类型 158
20.1.2 任务2:确定系统测试的日程安排 160
20.1.3 任务3:组建系统测试团队 161
20.1.4 任务4:搭建系统测试环境 162
20.1.5 任务5:安装系统测试工具 162
20.2 步骤2:完成系统测试用例 162
20.2.1 任务1:设计/脚本化性能测试 163
20.2.2 任务2:设计/脚本化安全性测试 164
20.2.3 任务3:设计/脚本化容量测试 165
20.2.4 任务4:设计/脚本化压力测试 166
20.2.5 任务5:设计/脚本化兼容性测试 167
20.2.6 任务6:设计/脚本化转换测试 167
20.2.7 任务7:设计/脚本化易用性测试 168
20.2.8 任务8:设计/脚本化文档测试 168
20.2.9 任务9:设计/脚本化备份测试 169
20.2.10 任务10:设计/脚本化恢复性测试 169
20.2.11 任务11:设计/脚本化安装测试 170
20.2.12 任务12:设计/脚本化其他类型的系统测试 170
20.3 步骤3:系统测试的评审和批准 171
20.3.1 任务1:评审的日程安排/执行 171
20.3.2 任务2:获得批准 171
20.4 步骤4:执行系统测试 172
20.4.1 任务1:对系统测试中的修正进行回归测试 172
20.4.2 任务2:执行新的系统测试 172
20.4.3 任务3:将系统缺陷记录在文档中 172
第21 章 进行验收测试 173
21.1 步骤1:完成验收测试计划 173
21.1.1 任务1:确定验收测试类型 173
21.1.2 任务2:确定验收测试的日程安排 174
21.1.3 任务3:组建验收测试团队 174
21.1.4 任务4:建立验收测试环境 174
21.1.5 任务5:安装验收测试工具 175
21.2 步骤2:完成验收测试用例 175
21.2.1 任务1:确定系统级测试用例的子集 175
21.2.2 任务2:设计/脚本化附加的验收测试 175
21.3 步骤3:验收测试计划的评审和批准 176
21.3.1 任务1:评审的日程安排/执行 176
21.3.2 任务2:获得批准 176
21.4 步骤4:执行验收测试 176
21.4.1 任务1:对验收测试中的修正进行回归测试 176
21.4.2 任务2:执行新的验收测试 177
21.4.3 任务3:将验收测试缺陷记录在文档中 177
第22 章 总结/报告测试结果 178
22.1 步骤1:执行数据精简 178
22.1.1 任务1:确保所有的测试均已执行/解决 178
22.1.2 任务2:通过测试编号整理测试缺陷 178
22.1.3 任务3:将剩余的缺陷写入一个矩阵 179
22.2 步骤2:准备最终的测试报告 179
22.2.1 任务1:准备项目概述 179
22.2.2 任务2:总结测试活动 179
22.2.3 任务3:分析/创建度量图 179
22.2.4 任务4:总结测试成果/建议 184
22.3 步骤3:最终测试报告的评审和批准 185
22.3.1 任务1:评审的日程安排/执行 185
22.3.2 任务2:获得批准 186
22.3.3 任务3:发布最终测试报告 186
第四部分 项目管理方法
第23 章 项目管理框架 188
23.1 项目框架 188
23.2 产品质量与项目质量 188
23.3 项目框架的组成 188
23.4 项目框架与持续质量改进 189
23.5 项目框架的各个阶段 189
23.5.1 启动阶段 189
23.5.2 计划阶段 190
23.5.3 执行、监视和控制阶段 190
23.5.4 收尾阶段 191
23.6 划定项目范围以确保产品质量 191
23.7 产品范围和项目范围 191
23.8 项目规章 191
23.9 范围陈述 192
23.10 项目经理在质量管理中的作用 192
23.11 测试经理在质量管理中的作用 193
23.11.1 分析需求 193
23.11.2 进行差距分析 193
23.11.3 避免重复 193
23.11.4 定义测试数据 194
23.11.5 确认测试环境 194
23.11.6 分析测试结果 194
23.11.7 提交质量 194
23.12 给测试经理的建议 194
23.12.1 请求别人的帮助 194
23.12.2 出现问题时及时沟通 194
23.12.3 不断更新自身的业务知识 195
23.12.4 学习新的测试技术和工具 195
23.12.5 改进过程 195
23.12.6 创建知识库 195
23.13 质量项目管理和项目框架的好处 195
第24 章 项目质量管理 197
24.1 项目质量管理过程 197
24.2 质量计划 197
24.3 确定高级项目活动 197
24.4 测试工作量估算 198
24.5 测试计划 198
24.6 工作量估算:项目建模 200
24.7 质量标准 202
第25 章 缺陷管理过程 203
25.1 质量控制与缺陷管理 203
25.2 缺陷发现与分类 203
25.3 缺陷的优先级 204
25.4 缺陷的种类 204
25.5 缺陷跟踪 205
25.6 缺陷报告 205
25.7 缺陷总结 206
25.8 缺陷会议 206
25.9 缺陷度量 206
25.10 质量标准 207
第26 章 测试与开发的整合 208
26.1 质量控制与测试整合 208
26.2 测试整合 208
26.2.1 步骤1:组建测试团队 208
26.2.2 步骤2:确定将要整合的任务 209
26.2.3 步骤3:定制测试步骤及任务 209
26.2.4 步骤4:选择整合时间点 209
26.2.5 步骤5:修改开发方法 209
26.2.6 步骤6:对测试方法进行培训 209
26.2.7 步骤7:合并缺陷记录 210
26.3 整合后的团队 210
第27 章 测试管理的约束 211
27.1 组织架构 211
27.2 已建立得很好的质量保证部门的特征 211
27.3 职责划分 211
27.4 组织关系 212
27.5 在质量基础设施不存在的情况下使用项目框架 213
27.6 即兴测试和项目框架 213
27.7 使用可追溯性/确认矩阵 213
27.8 进度报告 214
第五部分 软件测试中的新兴专业领域第28 章 测试过程评估和自动化评估 216
28.1 测试过程评估 216
28.2 过程评估方法 217
28.2.1 步骤1:标识关键元素 217
28.2.2 步骤2:收集和分析信息 218
28.2.3 步骤3:分析测试成熟度 218
28.2.4 步骤4:记录和呈现结果 221
28.3 测试自动化评估 221
28.3.1 标识需要自动化的应用 222
28.3.2 确定最佳测试自动化工具 223
28.3.3 编写测试脚本的方法 223
28.3.4 测试执行的方法 224
28.3.5 测试脚本维护 224
28.4 测试自动化框架 224
28.4.1 自动化框架的基本特性 225
28.4.2 标准自动化框架 227
第29 章 非功能测试 231
29.1 性能测试 231
29.2 负载测试 231
29.3 压力测试 231
29.4 容量测试 231
29.5 性能监视 232
29.6 性能测试的方法 232
29.7 知识获取过程 232
29.8 测试开发 233
29.9 性能测试可交付物 237
29.10 安全性测试 237
29.10.1 步骤1:确定安全性测试的范围 238
29.10.2 步骤2:生成测试用例并执行 238
29.11 安全性测试的类型 239
29.11.1 网络扫描 239
29.11.2 漏洞扫描 239
29.11.3 密码破译 240
29.11.4 日志评审 240
29.11.5 文件完整性检查器 241
29.11.6 病毒检测器 241
29.11.7 渗透测试 242
29.12 易用性测试 242
29.13 易用性测试的目的 243
29.13.1 方法和执行 243
29.13.2 易用性测试的原则 244
29.13.3 可访问性测试和《康复法案》第508条 244
29.14 合规性测试 246
第30 章 soa 测试 248
第31 章 敏捷测试 250
31.1 敏捷用户故事与正式需求对比 250
31.2 什么是用户故事 250
31.3 敏捷计划 251
31.4 敏捷测试的类型 251
第32 章 测试卓越中心 254
32.1 行业最佳过程 256
32.2 测试度量 257
32.3 运营模型 257
32.4 测试自动化框架 257
32.5 能力的持续提升 258
第33 章 本土/离岸模型 259
33.1 步骤1:分析 259
33.2 步骤2:确定经济上的得失 260
33.3 步骤3:确定选择标准 260
33.4 项目管理和监控 260
33.5 外包方法 260
33.5.1 本土活动 261
33.5.2 离岸活动 261
33.6 实现本土/离岸模型 262
33.6.1 知识转移 262
33.6.2 详细设计 262
33.6.3 基于里程碑的转移 263
33.6.4 稳定状态 263
33.6.5 应用管理 263
33.7 先决条件 263
33.7.1 关系模型 263
33.7.2 标准 264
33.8 本土/离岸方法的收益 265
33.9 本土/离岸模型的未来 267
第六部分 现代软件测试工具第34 章 软件测试趋势 270
34.1 自动捕获/回放测试工具 270
34.2 测试用例构建工具 270
34.3 必要条件和充分条件 271
34.4 测试数据生成策略 271
34.4.1 生产数据抽样 271
34.4.2 从零开始 272
34.4.3 数据播种 272
34.4.4 根据数据库生成数据 273
34.4.5 一种基于需求的有效测试用例生成器 273
第35 章 软件测试工具的分类 278
35.1 测试工具选择检查表 278
35.2 商业厂商工具描述 279
35.3 开源自由件厂商工具 285
35.4 应该考虑使用测试自动化的情况 290
35.5 不应该考虑测试自动化的情况 291
第36 章 自动化测试工具的评价方法 293
36.1 步骤1:定义测试需求 293
36.2 步骤2:设定工具目标 293
36.3 步骤3a:非正式采购模式下的选择活动 293
36.3.1 任务1:制定采购计划 293
36.3.2 任务2:定义选择标准 294
36.3.3 任务3:确定候选工具 294
36.3.4 任务4:进行候选工具评审 294
36.3.5 任务5:为候选工具打分 294
36.3.6 任务6:选择工具 294
36.4 步骤3b:正式采购模式下的选择活动 295
36.4.1 任务1:制定采购计划 295
36.4.2 任务2:创建技术需求文档 295
36.4.3 任务3:评审需求 295
36.4.4 任务4:生成请求建议 295
36.4.5 任务5:简化建议 295
36.4.6 任务6:进行技术评估 295
36.4.7 任务7:选择工具来源 296
36.5 步骤4:采购测试工具 296
36.6 步骤5:制定评价计划 296
36.7 步骤6:制定工具经理的计划 296
36.8 步骤7:创建培训计划 297
36.9 步骤8:接收工具 297
36.10 步骤9:执行验收测试 297
36.11 步骤10:召开推介会议 297
36.12 步骤11:实施修改 297
36.13 步骤12:培训工具的使用户 298
36.14 步骤13:在操作环境中使用工具 298
36.15 步骤14:撰写评估报告 298
36.16 步骤15:确定目标是否实现 298
第七部分 附录
附录a 螺旋(敏捷)测试法 300
附录b 软件质量保证计划 308
附录c 需求规约 310
附录d 变更请求表 312
附录e 测试模板 313
附录f 检查表 341
附录g 软件测试技术 375
术语表 425
参考文献 430
索引 434

游客,如果您要查看本帖隐藏内容请回复


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-11-9 09:37:00 | 显示全部楼层
谢谢楼主。。。辛苦了。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-5 18:37:29 | 显示全部楼层
感谢楼主
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-1 11:52:50 | 显示全部楼层
感谢楼主
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-21 23:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表