Janet Gregory和Lisa Crispin此前所著的《敏捷软件测试》开创了敏捷测试学科,而《深入敏捷测试——整个敏捷团队的学习之旅》则收录了她们从那时起至今的所学所获,旨在解决新出现的重大问题,与读者分享不断演进的敏捷实践,解答敏捷测试人员曾追问的关键问题。 本书的见解极其深刻,列举大量来自真实团队的新实例,详细描述如何根据自身环境调整敏捷测试策略,如何从经验中学习并持续改善测试流程,如何将敏捷测试扩展到多个团队以及克服自动化测试的弊端。你将发现敏捷测试已涵盖以下新领域:企业、分布式团队、移动/嵌入式系统、受管制环境、数据仓库/BI系统和DevOps实践。 读者将从本书中收获: 如何在团队内澄清测试活动 与业务专家协作以确定高价值特性并交付正确功能 如何设计极、易于维护的自动化测试 敏捷团队成员们如何提高和扩展测试技能 计划如何做到“刚刚好”,在小增量与大特性集和整个系统之间保持平衡 如何通过测试来识别和降低当前敏捷流程的相关风险,并预防缺陷 如何应对产品或组织环境中的挑战 如何使用“角色人物”和“旅程”执行探索式测试 采用带动全队参与的探索式测试方法,基于会话或线索来管理测试规程 如何快速培养敏捷测试新手又不会给他们制造太大压力
本书对敏捷测试进行了深入剖析,从企业文化、工具、方法、原则到角色和过程,提供了大量来自工作现场的实例和故事,清晰展现了成功敏捷测试人员需要具备的所有技能。不论你是测试人员、开发人员、业务人员还是项目经理,相信本书都将成为你重要的工作手册来指导你更好地在敏捷团队中发挥作用。而如果你是一名寻求理解自身角色的敏捷测试人员,我认为本书是适合你的教材
Janet Gregory是敏捷质量流程咨询和培训公司DragonFire的创始人。Janet热衷于帮助团队构建高质量的系统。作为一名教练和测试人员,Janet近十五年来将敏捷实践引入各种规模的公司,帮助用户和测试人员理解他们的敏捷角色。Janet经常在敏捷和测试软件会议上发表演讲,是敏捷测试社区的一名主要贡献者。 Lisa Crispin是一位经验丰富的敏捷测试从业者和教练,她定期举办敏捷测试研讨会,经常为敏捷软件出版物撰稿。Lisa十分享受加盟敏捷团队与他人携手构建高质量软件的过程。从1982年至今,Lisa曾在多个行业的软件团队担任多个角色。从2000年首次加入敏捷团队开始,Lisa一直孜孜不倦地向其他团队和从业者学习,不断充实和提高自己的技术能力。
第Ⅰ部分 简 介
第1章 敏捷测试有了什么样的发展 3
第2章 组织文化的重要性 7
2.1 时间投入 8
2.2 学习型文化的重要性 11
2.3 培养学习型文化 11
2.4 透明度和反馈周期 13
2.5 教育组织 13
2.6 测试人员管理 15
2.7 总结 15
第Ⅱ部分 为更好地测试而学习
第3章 角色和能力 19
3.1 能力与角色 20
3.2 T型技能集 22
3.3 泛才化专家 26
3.4 招募正确的人才 28
3.5 测试人员的入职 29
3.6 总结 29
第4章 测试的思维技能 31
4.1 引导 32
4.2 问题解决 32
4.3 给予和接受反馈 33
4.4 学习业务领域知识 34
4.5 辅导和倾听的技能 35
4.6 差异化思维 36
4.7 组织 37
4.8 协作 38
4.9 总结 39
第5章 技术意识 41
5.1 用示例指导开发 41
5.2 自动化和编码技能 42
5.3 常规技术能力 43
5.4 开发环境 44
5.5 测试环境 44
5.6 持续集成和源码控制系统 45
5.7 测试质量属性 47
5.8 测试设计技术 48
5.9 总结 49
第6章 如何学习 51
6.1 学习方式 51
6.2 学习资源 53
6.2.1 大会、课程、聚会和协作 53
6.2.2 出版物、播客和在线社区 55
6.3 学习的时间 56
6.4 帮助其他人学习 58
6.5 总结 60
第Ⅲ部分 计划——不要忘了全局
第7章 计划的精度层级 63
7.1 不同的观点 63
7.1.1 产品版本层 64
7.1.2 特性层 66
7.1.3 故事层 69
7.1.4 任务级 69
7.2 回归测试计划 70
7.3 可视化你正在测试什么 70
7.4 总结 72
第8章 使用模型帮助制定计划 73
8.1 敏捷测试象限 73
8.1.1 针对Q1测试的计划 76
8.1.2 针对Q2测试的计划 76
8.1.3 针对Q3测试的计划 76
8.1.4 针对Q4测试的计划 77
8.2 针对此象限的质疑 77
8.3 使用其他模型对计划的影响 81
8.4 针对测试自动化的计划 82
8.5 总结 83
第Ⅳ部分 商业价值的测试
第9章 你在做正确的产品吗? 87
9.1 从“为什么”开始 87
9.2 客户契约工具 88
9.2.1 影响地图 88
9.2.2 故事地图 90
9.2.3 7个产品维度 92
9.3 用于尽早探索的更多工具或
技术 95
9.4 在正确的事项上投资 95
9.5 总结 96
第10章 拓展测试人员的思维:这是我
的工作吗? 97
10.1 这是谁的工作? 97
10.1.1 业务分析技能 97
10.1.2 用户体验设计能力 99
10.1.3 文档技能 100
10.2 积极主动 100
10.3 总结 101
第11章 获取实例 103
11.1 使用实例的威力 103
11.2 用实例指导开发 105
11.2.1 ATDD 106
11.2.2 BDD 108
11.2.3 SBE 108
11.3 在哪里获取实例 109
11.4 使用实例的好处 111
11.5 使用实例的陷阱 112
11.5.1 陷入细节 112
11.5.2 缺乏投入 112
11.5.3 过多的回归测试 113
11.5.4 还不够清楚 113
11.6 使用实例去指导编码的原理 113
11.7 总结 114
第Ⅴ部分 研究型测试
第12章 探索式测试 117
12.1 制定测试规程 119
12.2 形成测试规程思路 121
12.2.1 以人物角色进行探索 121
12.2.2 边漫游边探索 123
12.2.3 其他思路 124
12.3 测试规程管理 124
12.3.1 基于会话的测试管理 125
12.3.2 基于线索的测试管理 126
12.4 分组探索 129
12.5 记录探索式测试会话的结果 131
12.6 敏捷测试的哪些地方适用
探索式测试 133
12.7 总结 134
第13章 其他类型的测试 135
13.1 如此多的测试需求 135
13.2 并发测试 137
13.3 国际化和本地化 138
13.4 回归测试的挑战 141
13.5 用户验收测试 142
13.6 A/B测试 142
13.7 用户探索式测试 144
13.8 总结 145
第Ⅵ部分 测试自动化
第14章 测试中的技术债 149
14.1 使其可见 150
14.2 整个团队共同解决最严重的
问题 153
14.3 总结 155
第15章 自动化金字塔 157
15.1 金字塔原型 157
15.2 替代形式的金字塔模型 158
15.3 放弃自动化测试的危险 161
15.4 使用金字塔去展示不同的
维度 163
15.5 总结 165
第16章 测试自动化设计模式和
方法 167
16.1 全员参与 167
16.2 正确的开始 168
16.3 设计原则和模式 169
16.3.1 通过API进行测试
(服务层) 169
16.3.2 通过用户界面进行测试 171
16.4 测试维护 174
16.5 总结 176
第17章 选择测试自动化方案 177
17.1 针对转型团队的解决方案 177
17.2 和整个团队一起应对新的
自动化挑战 180
17.3 团队就自动化解决方案达成
共识 182
17.4 多少自动化才够充分? 183
17.5 针对工具选择的协作解决
方案 184
17.6 将自动化范围扩大到大型
组织 185
17.7 其他自动化注意事项 187
17.8 总结 187
第Ⅶ部分 你的环境是什么?
第18章 企业级敏捷测试 193
18.1 我们所说的“企业”是指
什么? 193
18.2 “扩展”敏捷测试 194
18.3 协调多个团队 198
18.4 一致的工具 202
18.4.1 通过持续集成进行协调 202
18.4.2 版本控制方法 203
18.4.3 测试覆盖 204
18.5 依赖的管理 204
18.5.1 与第三方合作伙伴一起
工作 204
18.5.2 让客户参与到大型
组织中 206
18.6 冲出交付团队之外的好处 207
18.7 总结 207
第19章 分布式团队的敏捷测试 209
19.1 为什么不在同一地点? 211
19.2 共性的挑战 211
19.2.1 文化问题 211
19.2.2 语言 212
19.2.3 时区 213
19.2.4 依赖 213
19.2.5 计划 213
19.3 应对策略 215
19.3.1 整合团队 215
19.3.2 沟通和协作 216
19.3.3 通过测试进行协作 217
19.4 近岸外包测试 218
19.5 分布式团队工具思想 222
19.5.1 沟通工具 222
19.5.2 协作工具 222
19.6 总结 224
第20章 移动应用和嵌入式系统的
敏捷测试 225
20.1 相似,但不同 226
20.2 测试是关键 227
20.3 敏捷方法 228
20.4 总结 232
第21章 监管环境中的敏捷测试 233
21.1 “缺乏文档”的神话 233
21.2 敏捷与合规性 233
21.3 总结 237
第22章 数据仓库和商业智能系统的
敏捷测试 239
22.1 商业智能或数据仓库的测试
有什么独特性? 239
22.2 使用敏捷原则 241
22.3 数据——关键资产 242
22.4 大数据 245
22.5 总结 247
第23章 测试和DevOps 249
23.1 DevOps简介 249
23.2 DevOps和质量 250
23.3 测试人员如何增加DevOps的
价值 255
23.4 总结 258
第Ⅷ部分 实践中的敏捷测试
第24章 可视化你的测试 263
24.1 沟通测试的重要性 263
24.2 针对持续改进的可视化 267
24.3 测试及测试结果的可视化 270
24.4 总结 271
第25章 综述 273
25.1 增强信心的实践 273
25.1.1 运用实例 274
25.1.2 探索式测试 275
25.1.3 特性测试 275
25.1.4 持续学习 276
25.1.5 环境制约 277
25.1.6 实事求是 278
25.2 营造共同的愿景 279
25.3 总结 281
附录A Page对象实践实例 283
附录B 诱导初学者 289
术语表 291
参考资料 295
参考文献 303