书讯:《自动化软件测试实施指南》
自动化软件测试实施指南
信息
原书名: Implementing Automated Software Testing: How to Save Time and Lower Costs While Raising Quality
原出版社: Addison-Wesley Professional
作者: (美)Elfriede Dustin Thom Garrett Bernie Gauf
译者: 余昭辉;范春霞
丛书名: 开发人员专业技术丛书
出版社:机械工业出版社
ISBN:9787111302575
上架时间:2010-4-27
出版日期:2010 年4月
开本:16开
详细信息请查看:http://www.china-pub.com/196674
内容简介
本书讲解什么是自动化测试,为什么要进行自动化测试,以及实施自动化测试过程中的各种方法和需要注意的问题。
全书分为两部分。在第一部分,作者以自身的经验向我们阐释自动化测试的重要性以及好处。第二部分用6个要点来讲解需求收集、制定自动化测试的策略、开发自动化测试框架(主要是开发原则)、制定测试计划以及人员安排。附录A是一个测试阶段一览表,附录B快速地讲解了各种类型的测试以及在这些测试中如何应用自动化。附录C用了大量的篇幅介绍各种主流测试工具,以及评估这些工具的方法,附录D是一个真实的自动化框架的案例研究。
本书适合软件测试人员、质量评估人员、项目管理人员和软件开发人员阅读。
测试占新软件开发的时间和成本的百分比越来越大。使用自动化软件测试(AST),开发人员和软件测试人员可以优化软件测试生命周期,从而减少成本。随着技术和开发发展得越来越复杂,AST将变得不可或缺。本书是根据一些已经证明的实践和自动化测试生命周期方法学(ATLM)而写,提供了更新的实践,为成功实施AST提供了全面指导。
在本书中,三位权威专家详细地阐释了AST,系统地回顾了AST的组成元素、能力以及限制。他们利用在防御系统和商业中部署AST的经验,带领你浏览整个实施过程——确定最佳实践、关键的成功因素、关键隐患,以及避免这些隐患的解决方案。
本书内容
·为AST构建实际可行的商业案例,使用AST获取主动权
·澄清测试需求,并开发一个自动化策略反映这些需求
·构建高效的测试环境,为该环境选择合适的自动化工具和技术
·使用经过证明的指标持续地跟踪过程,并做出相应的调整
不管你是测试专业人员、QA专家、项目经理还是开发人员,本书都会带给你前所未有的有效测试,然后使用AST改进整个开发生命周期。
目录
译者序
序一
序二
前言
第一部分 什么是自动化软件测试和为什么需要自动化
第1章 自动化软件测试概述 1
1.1 自动化测试定义 1
1.2 自动化测试的方法 2
1.3 AST技术的发展 4
1.4 各种自动化测试类型 7
1.5 提供基于AST的产品支持 10
1.5.1 按照需要对定位和修复产品问题提供支持 10
1.5.2 对确定出修正给特定程序组件造成的影响提供支持 11
1.5.3 校验产品修正的准确性和质量 11
1.5.4 支持产品的STR分类方法 11
1.6 自动化评估标准 12
小结 13
第2章 为什么要使用自动化 15
2.1 当今测试软件面临的挑战 15
2.2 减少软件测试的时间和成本 17
.2.2.1 自动测试计划和开发—初始测试的工作量增加 18
2.2.2 生成测试数据—测试工作/计划减少 19
2.2.3 测试的执行—测试工作的减少/测试进度的加快 21
2.2.4 测试结果分析—测试工作的减少/测试进度的加快 22
2.2.5 错误状态/更正监测—测试工作的减少/测试进度的加快 23
2.2.6 报告的创建—测试工作的减少/测试进度的加快 25
2.2.7 其他需要考虑的降低因素 25
2.3 影响软件质量 26
2.4 改进软件测试程序 28
2.4.1 改进构建验证测试(冒烟测试) 29
2.4.2 改进回归测试 29
2.4.3 多平台兼容性测试和配置测试 30
2.4.4 改善日常测试的执行 30
2.4.5 改进重点关注的高级测试问题 30
2.4.6 完成手动测试无法完成的工作 30
2.4.7 重现软件缺陷的能力 31
2.4.8 加强系统专业知识 31
2.4.9 下班后“无人值守”测试 31
2.4.10 改进需求定义 31
2.4.11 改进性能测试 31
2.4.12 改进压力测试和耐力测试 32
2.4.13 质量度量和测试优化 32
2.4.14 改进系统开发生命周期 33
2.4.15 改进文档和可跟踪性 33
2.4.16 分布式工作负载和并发测试 33
小结 33
第3章 商业案例 35
3.1 商业案例的定义 35
3.2 确定业务需要 36
3.3 在成本和收益方面调整自动化 38
3.3.1 评估ROI 38
3.3.2 自动化测试的总节省 38
3.3.3 测试环境建立的时间节省 40
3.3.4 测试开发的时间节省 40
3.3.5 测试执行时间的节省 41
3.3.6 测试评估/诊断时间节省 42
3.3.7 ROI的其他几点考量 42
3.3.8 更多ROI指标 44
3.4 风险 44
3.5 其他考虑 45
小结 46
第4章 自动化测试失败的原因以及需要避免的陷阱 47
4.1 通常R&D不重视自动化测试或手动测试的工作 48
4.2 自动化测试的神话与现实 50
4.2.1 自动测试计划的生成 51
4.2.2 测试工具适合所有场景 51
4.2.3 测试工作立即减少 52
4.2.4 计划立即缩减 52
4.2.5 工具的易用性 52
4.2.6 任何应用都可以使用AST 53
4.2.7 100%测试覆盖率 54
4.2.8 捕获/回放等同AST 55
4.2.9 AST是手动测试活动 56
4.2.10 忘记了测试的目的是找出缺陷 56
4.2.11 侧重于系统测试自动化而非自动化单元测试 56
4.3 软件开发时缺乏针对AST的考虑 57
4.3.1 在应用中构建可测试性 57
4.3.2 遵循开放架构标准 59
4.3.3 遵循标准文档格式 60
4.3.4 标准化的文档测试用例 60
4.3.5 遵循编码标准 61
4.3.6 使用OMG的IDL 61
4.3.7 GUI测试建议 61
4.3.8 GUI对象命名标准 62
4.3.9 代码重用的库概念 63
4.4 只见树木不见森林—不知道如何选择工具 63
4.5 缺少工具供应商都遵循的自动化标准 65
4.6 缺乏企业案例 67
小结 67
第二部分 如何实现自动化:获得自动化回报最重要的6个要点
第5章 要点1:了解需求 69
5.1 理解AST所支持的需求 70
5.1.1 AUT或SUT需求 70
5.1.2 AST框架(ASTF)和工具的需求 71
5.1.3 AST数据需求 72
5.1.4 测试环境的需求 73
5.1.5 AST过程需求 76
5.2 支持AST需求的更多信息 78
5.2.1 手动测试过程 78
5.2.2 设计文档 78
5.2.3 原型 79
5.3 当信息不存在时 81
5.3.1 引导性的访谈 81
5.3.2 进一步增加知识面 82
5.3.3 基于遗留应用程序或遗留系统开发需求 83
5.4 开始实现需求跟踪矩阵(RTM) 85
5.4.1 RTM中的信息 85
5.4.2 RTM示例 86
小结 89
第6章 要点2:开发自动化测试策略 90
6.1 AST策略文档 91
6.2 范围和自动化测试目标 91
6.2.1 决定要自动化哪些测试 92
6.2.2 优先级—基于优先级的功能计划的自动化需求 95
6.2.3 定义测试目标:示例 96
6.3 确定方法 97
6.4 自动化软件测试框架 102
6.5 AST环境/配置 105
6.5.1 测试配置 106
6.5.2 其他测试环境的自动化测试需求 107
6.5.3 自动化测试环境管理—自动化CM 107
6.6 自动化RTM 112
6.6.1 需要标准的测试用例模板,对自动化框架极其有用 113
6.6.2 链接到测试用例 113
6.6.3 更新测试用例的步骤,包括通过/失败结果 113
6.6.4 更新RTM,包括通过/失败结果 114
6.7 自动化的缺陷跟踪 116
小结 116
第7章 要点3:测试自动化软件测试框架(ASTF) 117
7.1 验证ASTF是否满足特定需求,功能是否表现得如预期那样 118
7.2 对所有ASTF相关工件,包括设计、开发以及相关测试用例进行同级评审 118
7.2.1 作为软件开发生命周期一部分的同级评审 119
7.2.2 评估所有ASTF组件 121
7.2.3 评审测试用例 121
7.2.4 评审测试逻辑 123
7.2.5 评审测试数据 123
7.2.6 评审自动化的测试代码 125
7.3 验证需求和覆盖率 128
7.3.1 跟踪能力 129
7.3.2 覆盖率 129
7.4 举行一次用户审查 129
小结 130
第8章 要点4:持续跟踪过程,并作相应调整 131
8.1 AST程序跟踪和缺陷预防 131
8.1.1 技术交换和走查 132
8.1.2 内部检查 132
8.1.3 检查约束和相关风险 132
8.1.4 实现风险缓解策略 132
8.1.5 维护AST过程和环境的完整性 133
8.1.6 定义、沟通和跟踪进度和成本 133
8.1.7 跟踪工作、问题和缺陷 134
8.2 AST度量 134
8.2.1 可自动化的百分比或自动化指标 137
8.2.2 自动化进展 138
8.2.3 测试进度 139
8.2.4 自动化测试覆盖率百分比 140
8.2.5 缺陷密度 141
8.2.6 缺陷趋势分析 141
8.2.7 缺陷移除效率 142
8.2.8 自动化软件测试ROI 143
8.2.9 其他软件测试度量 144
8.3 根本原因分析 144
小结 145
第9章 要点5: 实施AST过程 146
9.1 AST的阶段和里程碑 147
9.2 AST阶段1:需求收集—分析自动化测试需求 147
9.3 AST阶段2:测试用例设计和开发 149
9.4 AST阶段3:开发自动化测试软件框架(ASTF)和测试脚本 150
9.5 AST阶段4:自动化测试的执行和结果报告 151
9.6 AST阶段5:程序审查和评估 152
9.7 虚拟质量门槛 153
9.8 过程度量 154
小结 154
第10章 要点6:人尽其才 155
10.1 程序管理 161
10.1.1 AST阶段1:需求收集—分析自动化测试需求 161
10.1.2 AST阶段2:测试用例设计与开发 161
10.1.3 AST阶段3:开发自动化软件测试框架和测试脚本 161
10.1.4 AST阶段4:自动化测试执行和结果报告 161
10.1.5 AST阶段5:审查并评估程序 161
10.2 系统工程 163
10.2.1 AST阶段1:需求收集—分析自动化测试需求 163
10.2.2 AST阶段2:测试用例设计和开发 164
10.2.3 AST阶段3:开发自动化测试框架和测试脚本 164
10.2.4 AST阶段4:自动化测试的执行和结果报告 164
10.2.5 AST阶段5:审查并评估程序 164
10.3 软件开发 165
10.3.1 AST阶段1:需求收集—分析自动化测试需求 165
10.3.2 AST阶段2:测试用例设计和开发 166
10.3.3 AST阶段3:开发自动化软件测试框架和测试脚本 166
10.3.4 AST阶段4:自动化测试的执行和结果报告 166
10.3.5 AST阶段5:程序审查和评估 166
10.4 配置管理 167
10.4.1 AST阶段1:需求收集—分析自动化测试需求 167
10.4.2 AST阶段2:测试用例设计和开发 167
10.4.3 AST阶段3:开发自动化软件测试框架和测试脚本 167
10.4.4 AST阶段4:自动化测试的执行和结果报告 168
10.4.5 AST阶段5:审查并评估程序 168
10.5 质量保证 168
10.5.1 AST阶段1:需求收集—分析自动化测试需求 168
10.5.2 AST阶段2:测试用例设计和开发 168
10.5.3 AST阶段3:开发自动化软件测试框架和测试脚本 169
10.5.4 AST阶段4:自动化测试的执行和结果报告 169
10.5.5 AST阶段5:审查并评估程序 169
10.6 领域专家(SME) 169
10.7 培训 169
小结 170
附录
附录A 过程一览表 173
附录B 将AST应用到的各种测试类型 177
附录C 工作中的利器 190
附录D 案例研究:自动化软件测试
框架(ASTF)示例 222