书籍详情
软件测试管理
作者:郑文强,马均飞 编著
出版社:电子工业出版社
出版时间:2010-07-01
ISBN:9787121112218
定价:¥49.00
购买这本书可以去
内容简介
《软件测试管理》将软件测试管理知识和项目测试实践经验紧密结合,详细阐述了如何有效地开展软件测试过程中不同的测试管理活动。《软件测试管理》内容覆盖了测试估算、基于风险的测试、测试过程监控、测试外包、测试行业价值分析等测试管理过程中比较棘手的问题;分析了复杂的综合系统和安全关键系统的测试管理的难点;结合ISO 9126质量模型和IEEE 1044事件管理等国际标准,阐述了实际项目中缺陷管理的解决方案;结合软件测试领域的国际标准和能力模型(TMM、TPI、CTP和SETP等),阐述了测试过程和测试能力改进的方法,为测试团队的过程改进提供了指导性的方法。《软件测试管理》还为自动化测试工具、测试团队管理和测试人员考核等难题的解决提供了非常具有参考价值的实践。《软件测试管理》适用于测试工程师、测试经理和质量改进人员,同时也可以作为国际软件测试认证委员会(ISTQB)高级测试管理模块的培训参考教材。
作者简介
郑文强,CSTQB(中国软件测试认证委员会)高级专家,首批ISTQB高级证书(高级测试管理)获得者。先后在中兴通讯、阿尔卡特、朗讯等大型通讯,软件企业从事软件测试、软件测试管理、软件质量管理以及软件测试过程改进等工作。精通软件测试生命周期各个测试阶段的控制和管理,熟悉软件测试活动相关技术和方法,以及对测试能力改进有深入的研究和实践。马均飞,先后就职于华为、阿尔卡特上海贝尔、IBM,从事通信以及企业级存储设备的软件测试及相关工作,有近10年的测试实践经验。中国软件测试认证委员会(CSTQB)专家组成员,国内首批ISTQB高级测试管理证书获得者。熟悉测试流程、测试技术和方法,熟悉软件质量管理体系,精通软件测试自动化平台的搭建和开发工作。在软件测试过程和软件测试相关技术理论和实践结合方面有深入的研究。
目录
第1章 软件测试基础 1
1.1 简介 1
1.2 软件开发生命周期中的测试 1
1.2.1 软件开发生命周期模型 2
1.2.1.1 顺序模型 2
1.2.1.2 增量迭代模型 6
1.2.1.3 模型中的测试 12
1.2.2 软件测试级别 13
1.2.2.1 组件测试 13
1.2.2.2 集成测试 17
1.2.2.3 系统测试 22
1.2.2.4 验收测试 23
1.2.2.5 维护测试 25
1.3 特定系统 26
1.3.1 综合系统 26
1.3.2 安全关键系统 29
1.4 度量和测度 34
1.4.1 测度的意义和要求 36
1.4.1.1 测度的意义 36
1.4.1.2 测度的要求 40
1.4.2 基本过程 42
1.4.2.1 确立和维持测度承诺 44
1.4.2.2 计划测度过程 45
1.4.2.3 实施测度过程 47
1.4.2.4 评估测度 48
1.4.3 度量数据应用 49
1.4.3.1 案例分析:测试用例设计进度 49
1.4.3.2 案例分析:测试用例执行进度 50
1.4.3.3 案例分析:测试的充分性 51
1.4.3.4 案例分析:产品发布准则 53
1.5 道德规范 55
1.6 小结 55
第2章 测试过程 57
2.1 简介 57
2.2 测试过程模型 58
2.3 测试计划和控制 59
2.3.1 主要活动 59
2.3.2 测试计划 64
2.3.3 测试执行进度 64
2.3.4 阶段度量指标 65
2.4 测试分析和设计 66
2.4.1 主要活动 67
2.4.2 阶段度量指标 68
2.5 测试实现和执行 68
2.5.1 主要活动 69
2.5.2 测试实现 71
2.5.2.1 测试规程规格说明 71
2.5.2.2 测试环境搭建 71
2.5.2.3 测试执行准备 75
2.5.3 测试执行 77
2.5.3.1 入口准则 78
2.5.3.2 测试结果比较 78
2.5.3.3 测试日志 79
2.5.3.4 确认测试和回归测试 79
2.5.4 阶段度量指标 80
2.6 评估出口准则和报告 81
2.6.1 主要活动 81
2.6.2 评估出口准则 82
2.6.3 测试报告 83
2.6.4 阶段度量指标 83
2.7 测试结束活动 84
2.7.1 主要活动 84
2.7.2 数据收集和分析 86
2.7.3 经验总结报告 86
2.8 小结 89
第3章 测试管理 90
3.1 简介 90
3.2 测试管理文档 93
3.2.1 测试方针 94
3.2.2 测试策略 95
3.2.3 主测试计划 96
3.2.3.1 介绍 97
3.2.3.2 详细内容 99
3.2.3.3 其他 101
3.2.4 级别测试计划 106
3.2.4.1 测试项和不测试项 107
3.4.2.2 测试的质量属性 107
3.2.4.3 测试时间进度 109
3.2.4.4 测试准则定义 110
3.2.4.5 测试风险 112
3.2.4.6 测试文档输出 113
3.2.4.7 角色和职责 114
3.2.5 级别测试设计规格说明 115
3.2.6 级别测试用例规格说明 116
3.2.7 级别测试规程规格说明 117
3.2.8 级别测试日志 118
3.2.9 异常报告 119
3.2.10 级别测试报告 121
3.2.11 主测试报告 122
3.3 测试计划裁减 123
3.4 测试估算 124
3.4.1 影响因素 127
3.4.2 基于百分比的方法 130
3.4.3 基于专家团队的方法 131
3.4.4 基于类似项目的方法 132
3.4.5 基于工作分解结构的方法 133
3.5 测试计划制定 134
3.5.1 尽早制定测试计划 134
3.5.2 测试计划的迭代 137
3.6 测试过程监控 139
3.6.1 风险 140
3.6.2 测试 143
3.6.2.1 案例分析:测试用例设计进度 144
3.6.2.2 案例分析:测试用例设执行进度 145
3.6.3 覆盖率 147
3.6.3.1 案例分析:基于需求的测试覆盖率 147
3.3.6.2 案例分析:基于平台的测试覆盖率 148
3.6.4 缺陷 149
3.6.4.1 案例分析:缺陷发现阶段分布 149
3.6.4.2 案例分析:缺陷所属模块分布 150
3.6.4.3 案例分析:发现缺陷的测试类型分布 151
3.6.5 信心 152
3.6.5.1 案例分析:测试发现缺陷状态变化 152
3.6.5.2 案例分析:测试用例通过率 153
3.7 测试商业价值 154
3.7.1 预防成本 155
3.7.2 检测成本 155
3.7.3 内部失效成本 156
3.7.4 外部失效成本 156
3.8 分布式测试、外包测试和内包测试 161
3.8.1 分布式测试 161
3.8.2 外包测试 162
3.8.3 内包测试 163
3.8.4 风险 164
3.9 基于风险的测试 167
3.9.1 什么是基于风险的测试 167
3.9.1.1 风险的定义 167
3.9.1.2 产品风险和项目风险 168
3.9.1.3 基于风险的测试策略 170
3.9.2 风险管理过程 174
3.9.2.1 风险识别 175
3.9.2.2 风险分析 182
3.9.2.3 风险应对 184
3.9.2.4 ISO/IEC 16805 190
3.9.3 风险管理实践 197
3.9.4 基于风险的测试方法 199
3.9.4.1 作用和优点 200
3.9.4.2 基于FMEA的测试 204
3.9.4.3 注意点和误区 213
3.10 失效模式和影响分析 215
3.10.1 什么是FMEA 215
3.10.2 应用领域 218
3.10.2.1 产品 219
3.10.2.2 过程 220
3.10.3 实现步骤 221
3.10.3.1 了解分析对象 223
3.10.3.2 识别失效模式 224
3.10.3.3 分析失效影响 224
3.10.3.4 确定严重程度 225
3.10.3.5 确定可能性 225
3.10.3.6 确定检测难度 226
3.10.3.7 分析潜在原因 226
3.10.3.8 计算风险优先级因子 227
3.10.3.9 确定处理优先级 227
3.10.3.10 采取应对措施 228
3.10.3.11 重新计算RPN 228
3.10.4 收益与成本 229
3.10.5 确定RPN 230
3.11 测试管理难题 231
3.11.1 探索性测试 231
3.11.1.1 什么是探索性测试 231
3.11.1.2 基于会话的测试管理 233
3.11.2 综合系统 234
3.11.3 安全关键系统 236
3.11.4 非功能性测试 237
3.12 小结 239
第4章 评审 241
4.1 简介 241
4.2 基本原则 244
4.3 选择合适的评审类型 246
4.3.1 审查 246
4.3.2 技术评审 248
4.3.3 走查 249
4.3.4 非正式评审 249
4.3.4 管理评审和审计 250
4.3.6 特殊工作产品的评审 251
4.3.7 正式评审的开展 252
4.4 有效的评审过程 253
4.4.1 计划阶段 254
4.4.2 预备会阶段 255
4.4.3 个人准备阶段 255
4.4.4 评审会议阶段 256
4.4.5 返工阶段 257
4.4.6 跟踪结果阶段 257
4.5 评审成功因素 259
4.6 小结 261
第5章 缺陷管理 262
5.1 简介 262
5.2 缺陷发现阶段 264
5.3 缺陷生命周期 264
5.3.1 识别 265
5.3.2 调查 266
5.3.3 改正 267
5.3.4 总结 268
5.3.5 案例 269
5.4 缺陷要素 273
5.5 缺陷度量 275
5.5.1 缺陷发现进度 276
5.5.2 缺陷修复进度 277
5.5.3 缺陷优先级 278
5.5.4 缺陷严重程度 279
5.6 缺陷沟通 281
5.7 小结 287
第6章 标准和测试过程改进 288
6.1 简介 288
6.2 相关标准 288
6.2.1 标准的来源和有效性 288
6.2.2 国际标准 290
6.2.2.1 ISO 290
6.2.2.2 IEEE 291
6.2.3 国家标准 292
6.2.4 特定领域标准 294
6.2.4.1 航空电子系统 294
6.2.4.2 航天工业 295
6.2.4.3 食品与药物管理局 295
6.2.5 其他标准 295
6.3 测试改进过程 296
6.3.1 改进的方法 296
6.3.2 改进的类型 297
6.4 测试过程优化 297
6.5 TMM 298
6.5.1 成熟度等级 299
6.5.2 内部结构 301
6.5.3 评估模型 304
6.6 TPI 306
6.6.1 模型结构 306
6.6.2 评估过程 311
6.7 CTP 312
6.7.1 模型结构 312
6.7.2 评估模型 316
6.8 STEP 317
6.8.1 组成 317
6.8.2 架构 318
6.8.3 活动时序 319
6.8.4 工作产品 320
6.8.5 角色和职责 321
6.9 CMMI 321
6.9.1 模型组成 322
6.9.1.1 表述方式 323
6.9.1.2 过程域 325
6.9.1.3 评估方法 326
6.9.2 验证和确认 326
6.10 小结 329
第7章 测试工具与自动化 330
7.1 简介 330
7.2 测试工具的概念 330
7.2.1 成本效益和风险 331
7.2.2 测试工具策略 335
7.2.3 测试工具集成 335
7.2.4 脚本和脚本语言 337
7.2.5 测试准则 340
7.2.6 测试工具部署 343
7.2.6.1 工具引入的成本效益 344
7.2.6.2 工具选择 344
7.2.6.3 工具引入 345
7.2.7 开源测试工具 346
7.2.8 测试工具开发 348
7.2.9 测试工具分类 350
7.3 测试工具分类 351
7.3.1 测试管理工具 351
7.3.2 测试执行工具 352
7.3.3 调试工具 354
7.3.4 错误传播和注入工具 355
7.3.5 模拟器与仿真器 356
7.3.6 静态和动态分析工具 356
7.3.6.1 静态分析工具 356
7.3.6.2 动态分析工具 357
7.3.7 关键字驱动测试自动化 358
7.3.8 性能测试工具 358
7.3.9 Web测试工具 359
7.4 小结 360
第8章 个人技能和团队构成 330
8.1 简介 330
8.2 个人技能 330
8.2.1 角色和职责 331
8.2.2 软技能 334
8.2.3 个人技能评估 337
8.3 团队能力 341
8.3.1 团队角色分类 341
8.3.2 案例:测试团队分析 343
8.3.3 测试团队优化 345
8.4 测试团队独立性 347
8.4.1 测试组织结构 347
8.4.2 测试外包 351
8.5 激励 352
8.5.1 激励方式 352
8.5.2 量化管理 358
8.6 沟通 359
8.6.1 正确对待缺陷 360
8.6.2 开发和测试的合作 360
8.7 小结 361
参考文献 362
附录A IGMP需求列表 364
1.1 简介 1
1.2 软件开发生命周期中的测试 1
1.2.1 软件开发生命周期模型 2
1.2.1.1 顺序模型 2
1.2.1.2 增量迭代模型 6
1.2.1.3 模型中的测试 12
1.2.2 软件测试级别 13
1.2.2.1 组件测试 13
1.2.2.2 集成测试 17
1.2.2.3 系统测试 22
1.2.2.4 验收测试 23
1.2.2.5 维护测试 25
1.3 特定系统 26
1.3.1 综合系统 26
1.3.2 安全关键系统 29
1.4 度量和测度 34
1.4.1 测度的意义和要求 36
1.4.1.1 测度的意义 36
1.4.1.2 测度的要求 40
1.4.2 基本过程 42
1.4.2.1 确立和维持测度承诺 44
1.4.2.2 计划测度过程 45
1.4.2.3 实施测度过程 47
1.4.2.4 评估测度 48
1.4.3 度量数据应用 49
1.4.3.1 案例分析:测试用例设计进度 49
1.4.3.2 案例分析:测试用例执行进度 50
1.4.3.3 案例分析:测试的充分性 51
1.4.3.4 案例分析:产品发布准则 53
1.5 道德规范 55
1.6 小结 55
第2章 测试过程 57
2.1 简介 57
2.2 测试过程模型 58
2.3 测试计划和控制 59
2.3.1 主要活动 59
2.3.2 测试计划 64
2.3.3 测试执行进度 64
2.3.4 阶段度量指标 65
2.4 测试分析和设计 66
2.4.1 主要活动 67
2.4.2 阶段度量指标 68
2.5 测试实现和执行 68
2.5.1 主要活动 69
2.5.2 测试实现 71
2.5.2.1 测试规程规格说明 71
2.5.2.2 测试环境搭建 71
2.5.2.3 测试执行准备 75
2.5.3 测试执行 77
2.5.3.1 入口准则 78
2.5.3.2 测试结果比较 78
2.5.3.3 测试日志 79
2.5.3.4 确认测试和回归测试 79
2.5.4 阶段度量指标 80
2.6 评估出口准则和报告 81
2.6.1 主要活动 81
2.6.2 评估出口准则 82
2.6.3 测试报告 83
2.6.4 阶段度量指标 83
2.7 测试结束活动 84
2.7.1 主要活动 84
2.7.2 数据收集和分析 86
2.7.3 经验总结报告 86
2.8 小结 89
第3章 测试管理 90
3.1 简介 90
3.2 测试管理文档 93
3.2.1 测试方针 94
3.2.2 测试策略 95
3.2.3 主测试计划 96
3.2.3.1 介绍 97
3.2.3.2 详细内容 99
3.2.3.3 其他 101
3.2.4 级别测试计划 106
3.2.4.1 测试项和不测试项 107
3.4.2.2 测试的质量属性 107
3.2.4.3 测试时间进度 109
3.2.4.4 测试准则定义 110
3.2.4.5 测试风险 112
3.2.4.6 测试文档输出 113
3.2.4.7 角色和职责 114
3.2.5 级别测试设计规格说明 115
3.2.6 级别测试用例规格说明 116
3.2.7 级别测试规程规格说明 117
3.2.8 级别测试日志 118
3.2.9 异常报告 119
3.2.10 级别测试报告 121
3.2.11 主测试报告 122
3.3 测试计划裁减 123
3.4 测试估算 124
3.4.1 影响因素 127
3.4.2 基于百分比的方法 130
3.4.3 基于专家团队的方法 131
3.4.4 基于类似项目的方法 132
3.4.5 基于工作分解结构的方法 133
3.5 测试计划制定 134
3.5.1 尽早制定测试计划 134
3.5.2 测试计划的迭代 137
3.6 测试过程监控 139
3.6.1 风险 140
3.6.2 测试 143
3.6.2.1 案例分析:测试用例设计进度 144
3.6.2.2 案例分析:测试用例设执行进度 145
3.6.3 覆盖率 147
3.6.3.1 案例分析:基于需求的测试覆盖率 147
3.3.6.2 案例分析:基于平台的测试覆盖率 148
3.6.4 缺陷 149
3.6.4.1 案例分析:缺陷发现阶段分布 149
3.6.4.2 案例分析:缺陷所属模块分布 150
3.6.4.3 案例分析:发现缺陷的测试类型分布 151
3.6.5 信心 152
3.6.5.1 案例分析:测试发现缺陷状态变化 152
3.6.5.2 案例分析:测试用例通过率 153
3.7 测试商业价值 154
3.7.1 预防成本 155
3.7.2 检测成本 155
3.7.3 内部失效成本 156
3.7.4 外部失效成本 156
3.8 分布式测试、外包测试和内包测试 161
3.8.1 分布式测试 161
3.8.2 外包测试 162
3.8.3 内包测试 163
3.8.4 风险 164
3.9 基于风险的测试 167
3.9.1 什么是基于风险的测试 167
3.9.1.1 风险的定义 167
3.9.1.2 产品风险和项目风险 168
3.9.1.3 基于风险的测试策略 170
3.9.2 风险管理过程 174
3.9.2.1 风险识别 175
3.9.2.2 风险分析 182
3.9.2.3 风险应对 184
3.9.2.4 ISO/IEC 16805 190
3.9.3 风险管理实践 197
3.9.4 基于风险的测试方法 199
3.9.4.1 作用和优点 200
3.9.4.2 基于FMEA的测试 204
3.9.4.3 注意点和误区 213
3.10 失效模式和影响分析 215
3.10.1 什么是FMEA 215
3.10.2 应用领域 218
3.10.2.1 产品 219
3.10.2.2 过程 220
3.10.3 实现步骤 221
3.10.3.1 了解分析对象 223
3.10.3.2 识别失效模式 224
3.10.3.3 分析失效影响 224
3.10.3.4 确定严重程度 225
3.10.3.5 确定可能性 225
3.10.3.6 确定检测难度 226
3.10.3.7 分析潜在原因 226
3.10.3.8 计算风险优先级因子 227
3.10.3.9 确定处理优先级 227
3.10.3.10 采取应对措施 228
3.10.3.11 重新计算RPN 228
3.10.4 收益与成本 229
3.10.5 确定RPN 230
3.11 测试管理难题 231
3.11.1 探索性测试 231
3.11.1.1 什么是探索性测试 231
3.11.1.2 基于会话的测试管理 233
3.11.2 综合系统 234
3.11.3 安全关键系统 236
3.11.4 非功能性测试 237
3.12 小结 239
第4章 评审 241
4.1 简介 241
4.2 基本原则 244
4.3 选择合适的评审类型 246
4.3.1 审查 246
4.3.2 技术评审 248
4.3.3 走查 249
4.3.4 非正式评审 249
4.3.4 管理评审和审计 250
4.3.6 特殊工作产品的评审 251
4.3.7 正式评审的开展 252
4.4 有效的评审过程 253
4.4.1 计划阶段 254
4.4.2 预备会阶段 255
4.4.3 个人准备阶段 255
4.4.4 评审会议阶段 256
4.4.5 返工阶段 257
4.4.6 跟踪结果阶段 257
4.5 评审成功因素 259
4.6 小结 261
第5章 缺陷管理 262
5.1 简介 262
5.2 缺陷发现阶段 264
5.3 缺陷生命周期 264
5.3.1 识别 265
5.3.2 调查 266
5.3.3 改正 267
5.3.4 总结 268
5.3.5 案例 269
5.4 缺陷要素 273
5.5 缺陷度量 275
5.5.1 缺陷发现进度 276
5.5.2 缺陷修复进度 277
5.5.3 缺陷优先级 278
5.5.4 缺陷严重程度 279
5.6 缺陷沟通 281
5.7 小结 287
第6章 标准和测试过程改进 288
6.1 简介 288
6.2 相关标准 288
6.2.1 标准的来源和有效性 288
6.2.2 国际标准 290
6.2.2.1 ISO 290
6.2.2.2 IEEE 291
6.2.3 国家标准 292
6.2.4 特定领域标准 294
6.2.4.1 航空电子系统 294
6.2.4.2 航天工业 295
6.2.4.3 食品与药物管理局 295
6.2.5 其他标准 295
6.3 测试改进过程 296
6.3.1 改进的方法 296
6.3.2 改进的类型 297
6.4 测试过程优化 297
6.5 TMM 298
6.5.1 成熟度等级 299
6.5.2 内部结构 301
6.5.3 评估模型 304
6.6 TPI 306
6.6.1 模型结构 306
6.6.2 评估过程 311
6.7 CTP 312
6.7.1 模型结构 312
6.7.2 评估模型 316
6.8 STEP 317
6.8.1 组成 317
6.8.2 架构 318
6.8.3 活动时序 319
6.8.4 工作产品 320
6.8.5 角色和职责 321
6.9 CMMI 321
6.9.1 模型组成 322
6.9.1.1 表述方式 323
6.9.1.2 过程域 325
6.9.1.3 评估方法 326
6.9.2 验证和确认 326
6.10 小结 329
第7章 测试工具与自动化 330
7.1 简介 330
7.2 测试工具的概念 330
7.2.1 成本效益和风险 331
7.2.2 测试工具策略 335
7.2.3 测试工具集成 335
7.2.4 脚本和脚本语言 337
7.2.5 测试准则 340
7.2.6 测试工具部署 343
7.2.6.1 工具引入的成本效益 344
7.2.6.2 工具选择 344
7.2.6.3 工具引入 345
7.2.7 开源测试工具 346
7.2.8 测试工具开发 348
7.2.9 测试工具分类 350
7.3 测试工具分类 351
7.3.1 测试管理工具 351
7.3.2 测试执行工具 352
7.3.3 调试工具 354
7.3.4 错误传播和注入工具 355
7.3.5 模拟器与仿真器 356
7.3.6 静态和动态分析工具 356
7.3.6.1 静态分析工具 356
7.3.6.2 动态分析工具 357
7.3.7 关键字驱动测试自动化 358
7.3.8 性能测试工具 358
7.3.9 Web测试工具 359
7.4 小结 360
第8章 个人技能和团队构成 330
8.1 简介 330
8.2 个人技能 330
8.2.1 角色和职责 331
8.2.2 软技能 334
8.2.3 个人技能评估 337
8.3 团队能力 341
8.3.1 团队角色分类 341
8.3.2 案例:测试团队分析 343
8.3.3 测试团队优化 345
8.4 测试团队独立性 347
8.4.1 测试组织结构 347
8.4.2 测试外包 351
8.5 激励 352
8.5.1 激励方式 352
8.5.2 量化管理 358
8.6 沟通 359
8.6.1 正确对待缺陷 360
8.6.2 开发和测试的合作 360
8.7 小结 361
参考文献 362
附录A IGMP需求列表 364
猜您喜欢