由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高50元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
正版 敏捷测试(以持续测试促进持续交付) 朱少民 李洁 人民邮电出
¥ ×1
第 1 章 铺垫:敏捷开发价值观、原则与实践/ 1
导读/ 1
1.1 敏捷开发模式的由来/ 2
1.1.1 新产品开发方式Scrum / 3
1.1.2 轻量级软件开发方法/ 5
1.1.3 敏捷宣言的诞生/ 6
1.2 敏捷价值观/ 7
1.3 敏捷开发原则/ 8
1.4 常见的敏捷开发框架/ 9
1.4.1 极限编程/ 9
1.4.2 行为驱动开发/ 13
1.4.3 特性驱动开发/ 15
1.4.4 Scrum 开发框架/ 17
1.5 敏捷与看板、精益的关系/ 20
1.5.1 看板/ 21
1.5.2 精益软件开发实践/ 23
1.6 敏捷与DevOps 的关系/ 26
本章小结/ 29
延伸阅读/ 29
第 2 章 基础:敏捷测试之道/ 31
导读/ 31
2.1 什么是敏捷测试/ 32
2.1.1 从一个真实的案例说起/ 32
2.1.2 敏捷测试的含义/ 35
2.1.3 敏捷测试的其他定义/ 36
2.2 传统测试与敏捷测试/ 38
2.2.1 凤凰项目:一个IT 运维的传奇故事/ 38
2.2.2 3 步工作法/ 39
2.2.3 凤凰项目改造前后对比/ 40
2.2.4 传统测试和敏捷测试的区别/ 41
2.3 敏捷测试的思维方式/ 41
2.3.1 固定性思维与敏捷思维/ 42
2.3.2 成长性思维/ 42
2.3.3 以实例来辨析不同思维的测试工程师/ 43
2.3.4 团队对质量负责的思维/ 44
2.3.5 上下文驱动的思维与用户思维/ 45
2.4 敏捷测试流程解析/ 45
2.4.1 Scrum 模式下的测试流程/ 45
2.4.2 敏捷测试的通用流程/ 47
2.4.3 敏捷测试流程闭环与持续测试/ 48
2.4.4 从敏捷项目管理角度来看测试流程/ 49
2.5 新的敏捷测试四象限/ 50
2.5.1 敏捷测试四象限之历史/ 50
2.5.2 新的敏捷测试四象限简介/ 52
本章小结/ 53
延伸阅读/ 54
第3 章 人是决定性因素/ 55
导读/ 55
3.1 敏捷团队究竟要不要专职的测试人员/ 56
3.1.1 问题的提出及各方的理由/ 56
3.1.2 根据上下文来确定是否需要/ 58
3.1.3 存在即合理/ 59
3.2 配备专职敏捷测试人员时的操作/ 60
3.2.1 Etsy 公司的优秀实践/ 60
3.2.2 敏捷测试人员的责任和具体任务/ 61
3.2.3 测试人员和开发人员的分工/ 63
3.2.4 测试敏捷化对团队意味着什么/ 64
3.3 没有专职的测试人员时的操作/ 64
3.3.1 是否借助灰度发布和一键回滚/ 65
3.3.2 消除系统测试不足带来的影响/ 66
3.3.3 加强敏捷验收测试和ATDD 的实践/ 67
3.3.4 应对其他挑战/ 67
3.4 借助测试负责人角色完成团队转型/ 68
3.4.1 冰冻三尺并非一日之寒/ 69
3.4.2 多数团队不是Google / 70
3.4.3 测试负责人角色的责任和具体实践/ 71
3.4.4 测试主负责人角色/ 72
3.5 如何创建有强烈质量意识的学习型团队/ 73
3.5.1 达成质量共识/ 73
3.5.2 营造良好的质量文化氛围/ 73
3.5.3 创建学习型团队/ 74
3.5.4 业务学习与缺陷根因分析/ 76
3.6 如何更好地为测试而学/ 76
3.6.1 系统性思维训练/ 77
3.6.2 创造性思维训练/ 79
3.6.3 如何提升测试自动化能力/ 80
3.6.4 如何学习测试建模/ 80
3.6.5 借力提升自己/ 81
3.7 如何与产品、开发等角色协作/ 82
3.7.1 团队协作的五大障碍/ 82
3.7.2 团队协作高于一切/ 84
3.7.3 达成对质量及其管理的共识/ 85
3.7.4 沟通的技巧/ 86
本章小结/ 87
延伸阅读/ 87
第4 章 构建强大的敏捷测试基础设施/ 89
导读/ 89
4.1 持续集成与持续交付意味着什么/ 90
4.1.1 敏捷的目标/ 91
4.1.2 持续集成中的测试活动/ 91
4.1.3 持续交付中的测试活动/ 93
4.1.4 持续集成+ 持续测试是关键/ 94
4.1.5 持续部署/ 95
4.1.6 持续运维/ 95
4.2 测试如何融入持续集成/ 持续交付环境/ 95
4.2.1 支撑持续集成的测试环境/ 96
4.2.2 支撑持续交付的测试环境/ 96
4.2.3 CI/CD 流水线中的测试过程/ 97
4.3 基于DevOps 的测试基础设施构成/ 99
4.3.1 DevOps 的测试/ 100
4.3.2 DevOps 测试基础设施/ 101
4.3.3 基础设施即代码/ 103
4.3.4 对基础设施进行验证——Testinfra / 104
4.4 虚拟机技术与容器技术的应用/ 105
4.4.1 虚拟化技术——虚拟机技术和容器技术/ 106
4.4.2 Sidecar 模式——容器的设计模式/ 107
4.4.3 虚拟化技术之NUMA 和DPDK / 108
4.4.4 服务虚拟化的利器——Hoverfly / 109
4.4.5 Molecule——虚拟化技术的自动化测试工具/ 111
4.4.6 Kubernetes 与测试环境/ 112
4.5 如何完成自动部署/ 113
4.5.1 配置即代码——CI 配置管理工具:Ansible、Chef / 114
4.5.2 微服务的容器化部署/ 116
4.5.3 微服务在CI 环境中的自动化部署/ 117
4.5.4 Docker 容器的集群管理之Kubernetes / 119
4.5.5 基础架构即代码的工具——Terraform、CloudFormation / 122
4.5.6 管道即代码的工具——Concourse、Drone / 123
4.5.7 新一代的部署体验——Serverless 软件系统架构/ 125
4.5.8 产品发布之导流模式/ 125
4.6 如何完成全自动的BVT / 126
4.6.1 BVT 要验证哪些点/ 126
4.6.2 不稳定的情况——Flaky / 128
4.7 自动的静态测试和测试报告生成/ 130
4.7.1 代码分析(静态测试)/ 130
4.7.2 优秀的静态测试工具/ 131
4.7.3 静态测试报告的自动生成/ 131
4.7.4 自动化测试报告的自动生成/ 135
4.8 测试分层策略与金字塔模型/ 139
4.9 搭建敏捷自动化测试框架及其案例分析/ 140
4.9.1 自动化测试框架的构成/ 140
4.9.2 自动化测试框架的分类/ 142
4.9.3 单元测试框架JUnit 5 / 143
4.9.4 API 层的TA 测试框架Karate / 144
4.9.5 验收测试框架Ginkgo / 146
本章小结/ 148
延伸阅读/ 149
第5 章 测试左移更体现敏捷测试的价值/ 150
导读/ 150
5.1 没有ATDD,就没有用户故事的可测试性/ 151
5.1.1 可测试性的概念/ 151
5.1.2 需求、设计和代码等不同层次的可测试性/ 152
5.1.3 用户故事的可测试性和ATDD / 153
5.1.4 ATDD 与TDD( UTDD)的关系/ 154
5.1.5 如何具体实施ATDD / 156
5.2 产品价值分析:商业画布、影响地图与用户故事地图/ 156
5.2.1 产品价值是基础/ 157
5.2.2 商业画布/ 158
5.2.3 影响地图/ 160
5.2.4 用户故事地图/ 161
5.3 从Epic 到用户故事完成需求评审/ 162
5.3.1 通用的评审标准/ 163
5.3.2 Epic 的评审/ 164
5.3.3 用户故事的评审/ 166
5.4 不可忽视的设计评审/ 169
5.4.1 设计评审的价值和重要性/ 170
5.4.2 如何完成架构评审/ 170
5.4.3 有层次的(组件)评审/ 172
5.4.4 接口定义的评审/ 173
5.4.5 设计的可测试性/ 173
5.5 BDD 及其自动化实践/ 174
5.5.1 什么是BDD / 174
5.5.2 BDD 和测试的关系/ 175
5.5.3 现有的BDD 自动化测试框架/ 177
5.5.4 BDD 实例/ 179
5.5.5 BDD 实践中的常见问题/ 183
5.6 再进一步,让实例化需求落地/ 183
5.6.1 什么是实例化需求/ 183
5.6.2 实例化需求的过程/ 185
5.6.3 RBE 的自动化实现/ 190
5.7 单元测试是否必须TDD / 191
5.7.1 为何TDD 是必需的/ 191
5.7.2 如何做好TDD / 192
5.7.3 UTDD 测试原则/ 193
5.7.4 UTDD 的具体实践/ 194
本章小结/ 195
延伸阅读/ 196
第6 章 敏捷测试的分析与计划/ 197
导读/ 197
6.1 基于上下文驱动思维的测试分析/ 198
6.1.1 上下文驱动测试流派/ 198
6.1.2 质量标准/ 201
6.1.3 项目背景/ 202
6.1.4 产品元素/ 204
6.2 如何培养自己的业务与用户体验分析技能/ 205
6.2.1 用户思维/ 205
6.2.2 场景是测试需求的灵魂/ 206
6.2.3 业务分析/ 207
6.2.4 用户体验要素/ 208
6.3 敏捷测试的主要风险在哪里/ 209
6.3.1 需求不清晰/ 210
6.3.2 需求频繁变更/ 211
6.3.3 时间太紧张/ 211
6.3.4 自动化测试的有效性/ 212
6.3.5 测试风险项目检查表/ 212
6.3.6 风险控制/ 213
6.4 启发式测试策略与测试策略的制定/ 215
6.4.1 什么是测试策略/ 215
6.4.2 启发式测试策略模型/ 216
6.4.3 快速、高效地制定测试策略/ 218
6.5 代码依赖性分析与精准测试/ 220
6.5.1 精准测试/ 221
6.5.2 如何建立测试用例和代码的映射关系/ 222
6.5.3 代码依赖性分析/ 223
6.5.4 代码的变更分析/ 225
6.5.5 测试用例集如何优化/ 225
6.5.6 优秀实践/ 226
6.6 敏捷测试要不要计划/ 227
6.6.1 测试计划的价值/ 227
6.6.2 一页纸的测试计划/ 228
6.6.3 如何编写一页纸的测试计划/ 229
6.7 探索式测试与基于脚本的测试/ 232
6.7.1 什么是探索式测试/ 232
6.7.2 探索式测试的应用场景/ 233
6.7.3 基于脚本的测试/ 234
6.7.4 探索式测试与基于脚本的测试的比较/ 235
6.7.5 敏捷拥抱探索式测试/ 236
6.8 SBTM 的由来及使用/ 237
6.8.1 SBTM 的由来/ 237
6.8.2 真正理解会话/ 237
6.8.3 测试计划分解成多个子目标/ 239
6.8.4 测试子目标进一步分解为会话/ 240
6.9 一个应用SBTM 的真实案例/ 241
6.9.1 案例背景/ 241
6.9.2 挑战在哪里/ 242
6.9.3 测试子目标分解的结果/ 242
6.9.4 几个典型的会话/ 243
6.9.5 会话表/ 246
6.9.6 口头汇报/ 247
6.10 敏捷测试分析与计划的案例/ 248
6.10.1 信息收集/ 249
6.10.2 测试目标/ 249
6.10.3 通过测试分析得到测试范围/ 250
6.10.4 根据测试分析进行风险分析和控制/ 251
6.10.5 基于风险的测试策略/ 252
6.10.6 测试计划/ 253
本章小结/ 254
延伸阅读/ 255
第7 章 敏捷测试的设计与执行/ 256
导读/ 256
7.1 正确理解DoD 与敏捷中的验收测试/ 257
7.1.1 什么是DoD / 257
7.1.2 如何创建DoD / 258
7.1.3 DoD 和敏捷验收测试的关系/ 260
7.1.4 如何验证DoD / 261
7.2 如何将用户故事转化为测试用例/ 261
7.2.1 转换为场景/ 262
7.2.2 场景离测试用例还差一步/ 263
7.2.3 用户故事转化为测试用例的模型/ 263
7.3 基于场景/ 事件流的测试用例设计/ 265
7.3.1 事件流图/ 265
7.3.2 在敏捷测试中的应用/ 266
7.3.3 状态图与有限状态机/ 268
7.4 探索式测试过程与生态/ 270
7.4.1 调查、分析、排序和实验/ 270
7.4.2 以分析为中心/ 270
7.4.3 自我管理环、学习环/ 271
7.4.4 协作环与测试环/ 272
7.5 探索式测试中的角色扮演与场景挖掘/ 272
7.5.1 批判性思维与探索式测试设计执行/ 272
7.5.2 角色扮演/ 273
7.5.3 场景挖掘/ 274
7.6 探索式测试的具体技巧/ 276
7.6.1 业务路径测试/ 277
7.6.2 遍历测试/ 279
7.6.3 极限情况的测试/ 279
7.6.4 异常情况的测试/ 280
7.7 测试自动化设计模式:一步到位/ 280
7.7.1 基于模型的自动化测试/ 281
7.7.2 状态图生成测试用例/ 281
7.7.3 测试数据的自动生成/ 284
7.8 UI 脚本开发与维护的常用技巧/ 287
7.8.1 脚本语言和测试框架的选择/ 287
7.8.2 UI 元素定位/ 288
7.8.3 测试代码的模块化和参数化/ 291
7.8.4 Selenium 集成自动化测试框架/ 293
7.8.5 Page Object 设计模式/ 295
7.8.6 隐式等待/ 296
7.9 质效合一:自动化测试和手工测试的完美融合/ 296
7.9.1 一个关于测试策略的案例/ 296
7.9.2 新功能手工测试,回归测试自动化/ 297
7.9.3 探索未知的,自动化已知的/ 299
7.9.4 自动化回归测试怎么做/ 300
7.10 优先实现面向接口的测试/ 300
7.10.1 接口(API)测试越来越重要/ 301
7.10.2 接口测试示例/ 301
7.10.3 如何获取接口信息/ 304
7.10.4 契约测试和微服务的接口测试/ 306
7.10.5 API 持续测试平台:API Fortress / 308
本章小结/ 308
延伸阅读/ 309
第8 章 测试右移:从敏捷到DevOps / 310
导读/ 310
8.1 在线性能测试/ 311
8.1.1 全链路压测/ 311
8.1.2 在线性能监控/ 313
8.1.3 流量回放技术/ 314
8.2 A/B 测试/ 316
8.2.1 什么是A/B 测试/ 316
8.2.2 A/B 测试的设计/ 317
8.2.3 A/B 测试平台与测试执行/ 319
8.2.4 关于用户体验的度量/ 320
8.3 监控告警系统/ 321
8.3.1 日志分析及Elastic Stack 的使用/ 323
8.3.2 调用链分析及SkyWalking 的使用/ 324
8.3.3 指标监控及Prometheus 的使用/ 327
8.3.4 监控系统解决方案/ 329
8.4 安全性监控/ 330
8.5 混沌工程/ 331
8.5.1 混沌工程的由来/ 332
8.5.2 基于故障注入的测试/ 333
8.5.3 混沌工程平台与工具/ 334
8.5.4 混沌工程的具体实施/ 336
8.5.5 为系统弹性做好设计/ 337
8.6 智能运维与测试/ 340
8.6.1 从自动化运维到智能运维/ 340
8.6.2 智能运维的典型场景/ 341
本章小结/ 342
延伸阅读/ 343
第9 章 敏捷测试的收尾与改进/ 344
导读/ 344
9.1 如何分析测试结果和评估测试工作的质量/ 345
9.1.1 如何评估敏捷测试过程/ 345
9.1.2 敏捷测试过程的度量体系/ 346
9.1.3 测试工作质量的分析/ 348
9.1.4 代码覆盖率/ 348
9.1.5 功能覆盖率/ 349
9.1.6 业务覆盖率/ 349
9.1.7 基于缺陷分析测试质量/ 350
9.2 如何获得良好的可追溯性、可视化/ 350
9.2.1 测试管理系统/ 351
9.2.2 需求与测试用例的映射关系,以及测试用例与缺陷的映射关系/ 352
9.2.3 示例:Jira + Zephyr 实现可追溯性/ 353
9.2.4 测试与质量度量的可视化/ 355
9.2.5 质量雷达图/ 357
9.3 敏捷测试优秀实践/ 357
9.3.1 微软的优秀实践/ 358
9.3.2 谷歌的优秀实践/ 359
9.3.3 亚马逊的优秀实践/ 360
9.3.4 ThoughtWorks 的优秀实践/ 361
9.3.5 腾讯的优秀实践/ 364
9.3.6 阿里巴巴的优秀实践/ 365
9.4 敏捷过程的反思与持续改进/ 366
9.4.1 敏捷过程的反思/ 367
9.4.2 敏捷测试过程的改进分析/ 368
9.4.3 数据驱动改进/ 369
9.4.4 PDCA 循环/ 369
9.4.5 根因分析/ 371
本章小结/ 372
延伸阅读/ 372
第 10 章 敏捷测试的展望/ 374
导读/ 374
10.1 大数据的测试/ 375
10.1.1 大数据的特性与挑战/ 376
10.1.2 大数据的测试方法/ 378
10.1.3 大数据的测试实践/ 380
10.1.4 大数据的测试工具/ 381
10.2 人工智能系统的测试/ 382
10.2.1 人工智能系统的不确定性和不可解释性/ 383
10.2.2 人工智能系统的白盒测试/ 384
10.2.3 人工智能系统的算法验证/ 386
10.2.4 示例:针对智能语音的设计与执行/ 388
10.3 人工智能助力敏捷测试/ 392
10.3.1 基于图像识别技术的UI测试/ 392
10.3.2 基于人工智能的、全自动化的API 测试/ 397
10.3.3 人工智能助力代码深度分析/ 399
10.3.4 人工智能驱动测试/ 401
10.3.5 人工智能测试工具/ 403
10.4 敏捷测试工具的未来/ 406
10.4.1 敏捷测试工具的发展趋势/ 406
10.4.2 MBT 的前景如何/ 408
10.4.3 无代码化的测试自动化/ 409
10.5 彻底实现持续测试/ 413
10.5.1 重新理解持续测试/ 414
10.5.2 持续测试的实现框架/ 415
10.5.3 持续测试成熟度模型/ 424
10.5.4 彻底的持续测试/ 425
本章小结/ 426
延伸阅读/ 427
附录A 基于Kubernetes 和Docker搭建Jenkins 可伸缩持续集成系统/ 428
导读/ 428
A.1 工作流程图/ 429
A.2 系统配置/ 429
A.3 安装Kubernetes 集群/ 430
A.3.1 安装前的准备/ 430
A.3.2 安装配置/ 430
A.4 Harbor 的安装部署/ 434
A.4.1 下载Harbor 离线安装包/ 434
A.4.2 安装Docker / 435
A.4.3 安装Docker Compose / 435
A.4.4 Harbor 的安装与配置/ 435
A.4.5 客户端访问Harbor 仓库/ 436
A.5 采用Jenkins Pipeline 实现自动构建并部署至k8s / 438
A.5.1 部署Jenkins / 438
A.5.2 新建Spring Boot Java工程/440
A.5.3 配置Jenkins Pipeline任务/ 444
A.5.4 测试Pipeline 任务/ 446
A.5.5 遇到的问题及解决方法/ 449
附录B 敏捷实践发展史/ 451
附录C 后敏捷时代暨DevOps发展史/ 461
附录D 中国敏捷测试大事记/ 463
参考文献/ 465
朱少民,国内知名测试专家、同济大学特聘教授、软件绿色联盟标准评测组组长、《软件学报》审稿人、QECon大会发起人。
近30年来,一直从事软件测试、质量管理等工作,先后获得安徽省、原机械工业部、青岛市等多项科技进步奖,出版《全程软件测试》《软件测试方法和技术》《软件质量保证和管理》《软件项目管理》等10余部著作。
近5年来,致力于帮助国内近百家企业提升其软件研发能力水平,并经常在国内外学术会议或技术大会上发表演讲,拥有个人公众号“软件质量报道”,曾任思科(中国)软件有限公司QA(质量保证)高级总监,及IEEE ICST论坛主席、IEEE QRS和DSA、NASAC程序委员等。
李洁,中科创达软件股份有限公司测试总监,曾任IBM研发经理,索尼瑞典分公司高级测试经理,诺基亚及Polycom QA总监。拥有20余年软件测试技术经验及管理经验。在测试专业杂志发表过多篇文章。
这本书作者对于“高效敏捷测试”的总结实际上是对于一个组织软件研发质量保障体系的剖析。面对云和智能技术的普及,很多敏捷测试理念的落地必然会有更多的选项,实施的门槛也会逐步降低。现在我们面临的优选的挑战仍然会是思想观念的转变,这也是我钦佩这本书作者之一朱少民老师之处。朱少民老师能够通过自己在敏捷测试领域的专业能力和热诚,影响一个又一个的组织和企业,让正确的敏捷测试思想为更多的团队所接受,朱少民老师还在不断地关注和吸纳更多的前沿技术。 最后,我相信这本书的出版仅仅是我们讨论敏捷测试如何更加高效地在组织落地的开始,也会推动这个领域的持续碰撞和总结。随着数字化的深入,这个领域会成为很多数字化业务的关注重点。让我们一起踏上这本书提倡的敏捷测试之旅吧! ——肖然,ThoughtWorks 创新总监,中国敏捷教练企业联盟秘书长 朱少民老师的这本新书旨在实现软件持续交付,并且更有效地推进DevOps 的实施。乔梁老师有句名言:流程和工具持续优化所能达到的优选境界就是让开发者成为瓶颈。而要达到这个“优选目标”,以及学会如何解决“测试瓶颈”的问题,读者也许可以从这本书中找到一些思路。这本书在每章开始用思维导图的方式概述本章内容,每章的结尾处有小结和延伸阅读,帮助读者思考。这本书一开始从测试四象限入手,总结了当前流行的分层测试框架,并结合近期新的思维方式和流程,提出新的敏捷测试四象限;接着,就是解决人的“思想”问题,只有了解影响变革的本质——人的思想问题,才能更好地使用后续章节所提到的工具和基础设施。 ——陈展文,招商银行总行信息技术部DevOps 推广负责人、资深专家 朱少民老师是国内测试领域的先行者,是敏捷测试的研究者和探索者,更是敏捷测试的实践者和推广者。这本书基于深入的研究与思考给出了敏捷测试的详细定义,认为持续测试是敏捷测试的实质,也是敏捷开发中真正需要的测试,并强调了思维模式转变在有效敏捷测试中的重要作用。这本书从人员/ 组织与技术基础设施两个方面建立了成功敏捷测试的基本保障,进而以测试左移与敏捷测试天然一致性、测试的分析与计划、测试的设计与执行,以及从敏捷到DevOps 的测试右移等若干主题为主线,给出了敏捷测试落地实施的一套完整的实践方法。这本书既能从概念和思维模式上给予指导,又提供了系统的方法论和完整的实践支持,相信能给大家带来帮助。此外,阅读这本书,也解决了我多年纠结的一个问题——既不能单纯“形而上”,又要避免陷于“术”。道、法、术、器兼备融合,才能真正做好一项开拓性的工作 。 ——陈晟,软通动力信息技术(集团)股份有限公司副总裁 目前全社会都在加速数字化转型,任何数字化产品都要求生产速度快而且质量高,数字化产品质量的把控已经不是测试团队单纯根据传统测试方法能够完成的。对于如何应对数字化转型过程中软件测试的挑战,敏捷测试是一个很好的解决方案。这本书将教给你几乎所有需要了解的关于敏捷测试的知识。最让我深有感触的是,它强调了“敏捷不只是方法,还是人和组织文化”。 ——付可,Poly 博诣优选研发副总裁 这本书从敏捷测试的定义入手,从人员及组织文化、思维方式、工作流程、基础设施、人员职责与培养等多角度阐述了敏捷测试如何落地,为传统测试向敏捷测试的转型指明了方向。鉴于作者的研究背景,这本书语言更为严谨,逻辑清晰,论证严密,既有深入思考,又有可以用来实践的具体建议,是一本很好好的敏捷测试实践指导手册。无论你是软件测试的管理者,还是初入行业的新人,这本书都值得细细品读。 ——李怀根,广发银行研发中心总经理 不同于传统的测试相关的图书,这本书从测试人员的角度阐述了如何在实际场景中落地“敏捷测试”,并提出一整套解决方案来保障产品质量与工程效能,有助于读者进行学习和应用。 ——邓月堂,腾讯微信测试中心总监 DevOps 的精髓在于“持续”。相比持续集成、持续部署等已广泛落地的技术,持续测试在国内才刚刚兴起。这本新书的出版正当其时,它不仅阐明敏捷测试之“道”,也能在“术”层面指导软件测试从业人员落地测试左移和测试右移,是一本的好书。 ——阮志敏,飞致云创始人兼CEO 任何时候我们开始讨论测试,总会有各种分歧和争论,与之相伴的是整个行业的困惑。测试的行为和角色在快速变化和模糊不确定的时代中演变。 测试是一种活动,而不是一个阶段;测试是覆盖全生命周期的,既要左移,又要右移;质量是内建的,而不是通过检查获得的;测试是属于团队的,而不是一种个人行为。 是否称之为敏捷并不重要,这一切都只是在回归软件开发的本源,回归测试这一活动的初心,回归测试本该有的样子。 朱少民老师在业界耕耘多年,有资深的行业背景,严谨的学术态度,勤于思考和写作,乐于学习与分享,是我极为佩服与敬重的一位师长。这本书体现了他对测试这一领域的专注和热情。希望广大读者可以享受测试,享受它给你带来的启发和乐趣。 ——姚冬,华为云应用平台部首席技术布道师,中国DevOps 社区核心组织者,IDCF 社区联合发起人 2020 年注定是不平凡的一年,也许会成为新一轮数字化转型浪潮的起点。在《敏捷宣言》诞生近20 年、DevOps 运动风靡优选10 多年之后的今天,如何在保证质量的前提下快速交付有效的产品价值依然是摆在很多企业面前的难题。交付速度可以是变量,追求越来越快,而交付质量和安全性必须是要力保的常量,测试已经成为很多企业敏捷交付过程中优选的瓶颈。这本书有别于市场上其他讨论测试实践的书,它在数字化时代的大背景下从敏捷的视角来谈测试,系统地阐述了敏捷测试的理念、原则、方法、实践和工具如何落地,既有整体方法框架,又有大量落地实践和通过真实案例总结出来的经验。更难能可贵的是,作者希望能“授之以渔”,即让读者不仅能够学习如何做敏捷测试,还能体会如何在敏捷测试中,培养出敏捷测试的思维,打开更广的专业视野。这本书的编排很好用心,每章开头通过思维导图进行引导,每章结尾有延伸阅读,很好有指导性和实践价值。我将本书推荐给测试领域和对测试感兴趣的朋友。 ——张乐,京东DevOps 与研发效能技术总监、首席架构师 我是从互联网企业成长起来的测试人。传统软件以年为单位制定、迭代规划,而互联网时代,期待更快速、更灵活的模式。大量研发组织正在或即将从传统转型至敏捷,在理念、方法、技术和团队等方面都面临着迭代升级。本书作者经历和观察这个领域多年,具备丰富的理论与对本书的实操经验,他的新书能提供有价值的参考,值得一读。 ——钱承君,哔哩哔哩测试中心负责人 “这是一个优选的时代,这是一个最坏的时代。”这是写于158 年前的经典名句,放在今天来看,依旧不过时。软件测试的理念在敏捷开发模式的冲击下正发生着天翻地覆的底层逻辑变化,如果不能系统地掌握高效敏捷测试的理论体系与方法,就很难在瞬息万变的VUCA 时代立足,而这本书可以带你进入敏捷测试殿堂,很好值得你仔细阅读。 ——茹炳晟,腾讯技术工程事业群基础架构部T4 级专家,腾讯研究院特约研究员,畅销书《测试工程师全栈技术进阶与实践》作者 敏捷测试是DevOps 时代很好质量工程解决方案,已经“火”了许多年,但目前为止仍有不少同行对它处于不甚了解的状态。 这本书作者学识渊博,尤其是对敏捷测试这一新领域钻研多年,本书是他的厚积薄发之作。这本书讲透了敏捷测试的道、法、术、器,是业内先验者凝练的经验总结,相信读者看完后一定能够刷新认知、升级技能,并且受用终身。 ——殷柱伟,腾讯WeTest 产品总监 随着移动化、云化和智能化技术的飞速发展,敏捷测试也面临着新的挑战。如何升级你的敏捷测试解决方案?敏捷测试中引入了哪些新的方法、技术和工具?如何做到持续测试来支撑持续交付?相信读者可以从这本书中逐一找到想要的答案。这本书既有关于敏捷测试体系化的道、法、术、器的阐述,又有丰富的业界很好实践案例。 ——金晖(定源),阿里巴巴淘系技术部不错测试开发专家 能够快速适应市场需求的变化,根据需求调整开发的内容和进度是每一个互联网公司努力追求的目标。在这种情况下,敏捷开发模式以高速迭代、频繁交付、灵活适应需求变化等特点,在各个工程领域得到了广泛应用。随着敏捷开发的发展,软件测试工程师也面临着更多的挑战。 这本书针对“敏捷”娓娓道来:开篇回顾了敏捷开发的原则、方法及其框架技术;接下来对敏捷测试涉及的测试方法、测试流程、测试技术、测试工具和很好实践等进行了深入且细致的阐述;最后,把敏捷测试这一实践性很强的技术提高到一个新的高度,对提高测试效率进而提升产品交付质量具有重大的指导意义。 ——陈洋,小米IoT 开发者平台测试中心总监 当“黑天鹅”事件越来越多地发生在我们的身边时,如何适应变化,并且在快速变化中持续交付高质量产品,成为当下研发团队的核心目标。而在高频的持续交付下如何保证产品的高质量,如何让测试团队从瀑布模式转化为与团队共担的敏捷模式,形成质量内建,这本书从敏捷发展历史到理念,再到工具,给出了全局性指导,是落地敏捷测试的一本佳作。 ——云层,TestOps 测试运维开拓者,《敏捷测试实战指南》作者 随着敏捷开发的广泛应用,敏捷测试也逐渐受到广泛关注,并引得“百家争鸣”。这本书是作者多年的经验总结,从敏捷测试的理论基础到实践操作,系统地介绍了敏捷测试的各个方面,是一本很好的学习敏捷测试的参考书。 ——刘冉,ThoughtWorks 首席测试与质量咨询师 当前国内敏捷领域测试相关的著作很好少,这本书作为补充,系统地介绍了敏捷测试的体系,不仅有完善的理论,还包括了丰富的实践和案例,很好值得读者仔细阅读。 ——陈晓鹏,德勤管理咨询(上海)有限公司系统集成业务线测试负责人 敏捷测试并不是一个新概念。我拜读这本新书,至今意犹未尽。这本书实际上是一本介绍在当今开发高速迭代的情况下软件测试策略的书。这本书融会了敏捷的方方面面,并基于实际问题提出了具体建议,恰如其分地融合了新的观点与技术,对软件团队及管理者关于软件质量构建具有重要的指导意义。 ——耿晓倩,Splunk 公司总部测试开发总监 这是一本将近年来领域内近期新的理论与实践相结合的的好书!随着敏捷和DevOps 的兴起,软件测试的方法、工具和从业人员都面临着巨大的挑战。一方面,这本书更加体系化地梳理并构建了敏捷测试的理论基础;另一方面,这本书以深入浅出的方式介绍了在实际工程中如何应用理论与工具落地敏捷测试,给软件测试工程师和管理者提供了敏捷环境下具体可行的指导办法。它将带您开启敏捷测试的探索之旅! ——陈飞,独立敏捷教练、质量教练 作为最早在国内推进敏捷测试的践行者之一,作者将自己多年关于敏捷测试的心得体会汇聚于此。这本书循序渐进地为读者理清一整条敏捷测试脉络,同时将业界公司实际使用的工具、框架、方案完整地以图文、代码的方式呈现,实操性极强。对于想要了解敏捷测试,并希望从中获益的个人或正从传统模式转型敏捷模式的团队,这本书十分值得认真阅读。读者可以跟随全书的主脉络及每章结尾处的延伸阅读构建出适用于自身和团队的敏捷测试图谱。 ——张宏博,字节跳动资深测试开发工程师
第 1 章 铺垫:敏捷开发价值观、原则与实践/ 1 导读/ 1 1.1 敏捷开发模式的由来/ 2 1.1.1 新产品开发方式Scrum / 3 1.1.2 轻量级软件开发方法/ 5 1.1.3 敏捷宣言的诞生/ 6 1.2 敏捷价值观/ 7 1.3 敏捷开发原则/ 8 1.4 常见的敏捷开发框架/ 9 1.4.1 极限编程/ 9 1.4.2 行为驱动开发/ 13 1.4.3 特性驱动开发/ 15 1.4.4 Scrum 开发框架/ 17 1.5 敏捷与看板、精益的关系/ 20 1.5.1 看板/ 21 1.5.2 精益软件开发实践/ 23 1.6 敏捷与DevOps 的关系/ 26 本章小结/ 29 / 29 第 2 章 基础:敏捷测试之道/ 31 导读/ 31 2.1 什么是敏捷测试/ 32 2.1.1 从一个真实的案例说起/ 32 2.1.2 敏捷测试的含义/ 35 2.1.3 敏捷测试的其他定义/ 36 2.2 传统测试与敏捷测试/ 38 2.2.1 凤凰项目:一个IT 运维的传奇故事/ 38 2.2.2 3 步工作法/ 39 2.2.3 凤凰项目改造前后对比/ 40 2.2.4 传统测试和敏捷测试的区别/ 41 2.3 敏捷测试的思维方式/ 41 2.3.1 固定性思维与敏捷思维/ 42 2.3.2 成长性思维/ 42 2.3.3 以实例来辨析不同思维的测试工程师/ 43 2.3.4 团队对质量负责的思维/ 44 2.3.5 上下文驱动的思维与用户思维/ 45 2.4 敏捷测试流程解析/ 45 2.4.1 Scrum 模式下的测试流程/ 45 2.4.2 敏捷测流程/ 47 2.4.3 敏捷测试流程闭环与持续测试/ 48 2.4.4 从敏捷项目管理角度来看测试流程/ 49 2.5 新的敏捷测试四象限/ 50 2.5.1 敏捷测试四象限之历史/ 50 2.5.2 新的敏捷测试四象限简介/ 52 本章小结/ 53 / 54 第3 章 人是决定性因素/ 55 导读/ 55 3.1 敏捷团队究竟要不要专职的测试人员/ 56 3.1.1 问题的提出及各方的理由/ 56 3.1.2 根据上下文来确定是否需要/ 58 3.1.3 存在即合理/ 59 3.2 配备专职敏捷测试人员时的操作/ 60 3.2.1 Etsy 公司的优秀实践/ 60 3.2.2 敏捷测试人员的责任和具体任务/ 61 3.2.3 测试人员和开发人员的分工/ 63 3.2.4 测试敏捷化对团队意味着什么/ 64 3.3 没有专职的测试人员时的操作/ 64 3.3.1 是否借助灰度发布和一键回滚/ 65 3.3.2 消除系统测试不足带来的影响/ 66 3.3.3 加强敏捷验收测试和ATDD 的实践/ 67 3.3.4 应对其他挑战/ 67 3.4 借助测试负责人角色完成团队转型/ 68 3.4.1 冰冻三尺并非一日之寒/ 69 3.4.2 多数团队不是Google / 70 3.4.3 测试负责人角色的责任和具体实践/ 71 3.4.4 测试主负责人角色/ 72 3.5 如何创建有强烈质量意识的学队/ 73 3.5.1 达成质量共识/ 73 3.5.2 营造良好的质量文化氛围/ 73 3.5.3 创建学队/ 74 3.5.4 业务学陷根因分析/ 76 3.6 如何更好地为测试而学/ 76 3.6.1 系统性思维训练/ 77 3.6.2 创造性思维训练/ 79 3.6.3 如何提升测试自动化能力/ 80 3.6.4 如何学建模/ 80 3.6.5 借力提升自己/ 81 3.7 如何与产品、开发等角色协作/ 82 3.7.1 团队协作的五大障碍/ 82 3.7.2 团队协作高于一切/ 84 3.7.3 达成对质量及其管理的共识/ 85 3.7.4 沟通的技巧/ 86 本章小结/ 87 / 87 第4 章 构建强大的敏捷测试基础设施/ 89 导读/ 89 4.1 持续集成与持续交付意味着什么/ 90 4.1.1 敏捷的目标/ 91 4.1.2 持续集成中的测试活动/ 91 4.1.3 持续交付中的测试活动/ 93 4.1.4 持续集成 持续测试是关键/ 94 4.1.5 持续部署/ 95 4.1.6 持续运维/ 95 4.2 测试如何融入持续集成/ 持续交付环境/ 95 4.2.1 支撑持续集成的测试环境/ 96 4.2.2 支撑持续交付的测试环境/ 96 4.2.3 CI/CD 流水线中的测试过程/ 97 4.3 基于DevOps 的测试基础设施构成/ 99 4.3.1 DevOps 的测试/ 100 4.3.2 DevOps 测试基础设施/ 101 4.3.3 基础设施即代码/ 103 4.3.4 对基础设行验证——Testinfra / 104 4.4 虚拟机技术与容器技术的应用/ 105 4.4.1 虚拟化技术——虚拟机技术和容器技术/ 106 4.4.2 Sidecar 模式——容器的设计模式/ 107 4.4.3 虚拟化技术之NUMA 和DPDK / 108 4.4.4 服务虚拟化的利器——Hoverfly / 109 4.4.5 Molecule——虚拟化技术的自动化测试工具/ 111 4.4.6 Kubernetes 与测试环境/ 112 4.5 如何完成自动部署/ 113 4.5.1 配置即代码——CI 配置管理工具:Anle、Chef / 114 4.5.2 微服务的容器化部署/ 116 4.5.3 微服务在CI 环境中的自动化部署/ 117 4.5.4 Docker 容器的集群管理之Kubernetes / 119 4.5.5 基础架构即代码的工具——Terraform、CloudFormation / 122 4.5.6 管道即代码的工具——Concourse、Drone / 123 4.5.7 新一代的部署体验——Serverless 软件系统架构/ 125 4.5.8 产品发布之导流模式/ 125 4.6 如何自动的BVT / 126 4.6.1 BVT 要验证哪些点/ 126 4.6.2 不稳定的情况——Flaky / 128 4.7 自动的静态测试和测试报告生成/ 130 4.7.1 代码分析(静态测试)/ 130 4.7.2 优秀的静态测试工具/ 131 4.7.3 静态测试报告的自动生成/ 131 4.7.4 自动化测试报告的自动生成/ 135 4.8 测试分层策略与金字塔模型/ 139 4.9 搭建敏捷自动化测试框架及其案例分析/ 140 4.9.1 自动化测试框架的构成/ 140 4.9.2 自动化测试框架的分类/ 142 4.9.3 单元测试框架JUnit 5 / 143 4.9.4 API 层的TA 测试框架Karate / 144 4.9.5 验收测试框架Ginkgo / 146 本章小结/ 148 / 149 第5 章 测试左移更体现敏捷测试的价值/ 150 导读/ 150 5.1 没有ATDD,就没有用户故事的可测试性/ 151 5.1.1 可测试性的概念/ 151 5.1.2 需求、设计和代码等不同层次的可测试性/ 152 5.1.3 用户故事的可测试性和ATDD / 153 5.1.4 ATDD 与TDD( UTDD)的关系/ 154 5.1.5 如何具体实施ATDD / 156 5.2 产品价值分析:商业画布、影响地图与用户故事地图/ 156 5.2.1 产品价值是基础/ 157 5.2.2 商业画布/ 158 5.2.3 影响地图/ 160 5.2.4 用户故事地图/ 161 5.3 从Epic 到用户故事完成需求评审/ 162 5.3.1 通用的评审标准/ 163 5.3.2 Epic 的评审/ 164 5.3.3 用户故事的评审/ 166 5.4 不可忽视的设计评审/ 169 5.4.1 设计评审的价值和重要性/ 170 5.4.2 如何完成架构评审/ 170 5.4.3 有层次的(组件)评审/ 172 5.4.4 接口定义的评审/ 173 5.4.5 设计的可测试性/ 173 5.5 BDD 及其自动化实践/ 174 5.5.1 什么是BDD / 174 5.5.2 BDD 和测试的关系/ 175 5.5.3 现有的BDD 自动化测试框架/ 177 5.5.4 BDD 实例/ 179 5.5.5 BDD 实践中的常见问题/ 183 5.6 一步,让实例化需求落地/ 183 5.6.1 什么是实例化需求/ 183 5.6.2 实例化需求的过程/ 185 5.6.3 RBE 的自动化实现/ 190 5.7 单元测试是否必须TDD / 191 5.7.1 为何TDD 是必需的/ 191 5.7.2 如何做好TDD / 192 5.7.3 UTDD 测试原则/ 193 5.7.4 UTDD 的具体实践/ 194 本章小结/ 195 / 196 第6 章 敏捷测试的分析与计划/ 197 导读/ 197 6.1 基于上下文驱动思维的测试分析/ 198 6.1.1 上下文驱动测试流派/ 198 6.1.2 质量标准/ 201 6.1.3 项目背景/ 202 6.1.4 产品元素/ 204 6.2 如何培养自己的业务与用户体验分析技能/ 205 6.2.1 用户思维/ 205 6.2.2 场景是测试需求的灵魂/ 206 6.2.3 业务分析/ 207 6.2.4 用户体验要素/ 208 6.3 敏捷测试的主要风险在哪里/ 209 6.3.1 需求不清晰/ 210 6.3.2 需求频繁变更/ 211 6.3.3 时间太紧张/ 211 6.3.4 自动化测试的有效性/ 212 6.3.5 测试风险项目检查表/ 212 6.3.6 风险控制/ 213 6.4 启发式测试策略与测试策略的制定/ 215 6.4.1 什么是测试策略/ 215 6.4.2 启发式测试策略模型/ 216 6.4.3 快地制定测试策略/ 218 6.5 代码依赖性分析与精准测试/ 220 6.5.1 精准测试/ 221 6.5.2 如何建立测例和代码的映射关系/ 222 6.5.3 代码依赖性分析/ 223 6.5.4 代码的变更分析/ 225 6.5.5 测例集如何优化/ 225 6.5.6 优秀实践/ 226 6.6 敏捷测试要不要计划/ 227 6.6.1 测试计划的价值/ 227 6.6.2 一页纸的测试计划/ 228 6.6.3 如何编写一页纸的测试计划/ 229 6.7 探索式测试与基于脚本的测试/ 232 6.7.1 什么是探索式测试/ 232 6.7.2 探索式测场景/ 233 6.7.3 基于脚本的测试/ 234 6.7.4 探索式测试与基于脚本的测试的比较/ 235 6.7.5 敏捷拥抱探索式测试/ 236 6.8 SBTM 的由来及使用/ 237 6.8.1 SBTM 的由来/ 237 6.8.2 真正理解会话/ 237 6.8.3 测试计划分解成多个子目标/ 239 6.8.4 测试子目一步分解为会话/ 240 6.9 一个应用SBTM 的真实案例/ 241 6.9.1 案例背景/ 241 6.9.2 挑战在哪里/ 242 6.9.3 测试子目标分解的结果/ 242 6.9.4 几个典型的会话/ 243 6.9.5 会话表/ 246 6.9.6 口头汇报/ 247 6.10 敏捷测试分析与计划的案例/ 248 6.10.1 信息收集/ 249 6.10.2 测试目标/ 249 6.10.3 通过测试分析得到测试范围/ 250 6.10.4 根据测试分行风险分析和控制/ 251 6.10.5 基于风险的测试策略/ 252 6.10.6 测试计划/ 253 本章小结/ 254 / 255 第7 章 敏捷测试的设计与执行/ 256 导读/ 256 7.1 正确理解DoD 与敏捷中的验收测试/ 257 7.1.1 什么是DoD / 257 7.1.2 如何创建DoD / 258 7.1.3 DoD 和敏捷验收测试的关系/ 260 7.1.4 如何验证DoD / 261 7.2 如何将用户故事转化为测例/ 261 7.2.1 转换为场景/ 262 7.2.2 场景离测例还差一步/ 263 7.2.3 用户故事转化为测例的模型/ 263 7.3 基于场景/ 事件流的测例设计/ 265 7.3.1 事件流图/ 265 7.3.2 在敏捷测试中的应用/ 266 7.3.3 状态图与有限状态机/ 268 7.4 探索式测试过程与生态/ 270 7.4.1 调查、分析、排序和实验/ 270 7.4.2 以分析为中心/ 270 7.4.3 自我管理环、学 271 7.4.4 协作环与测试环/ 272 7.5 探索式测试中的角色扮演与场景挖掘/ 272 7.5.1 批判性思维与探索式测试设计执行/ 272 7.5.2 角色扮演/ 273 7.5.3 场景挖掘/ 274 7.6 探索式测试的具体技巧/ 276 7.6.1 业务路径测试/ 277 7.6.2 遍历测试/ 279 7.6.3 极限情况的测试/ 279 7.6.4 异常情况的测试/ 280 7.7 测试自动化设计模式:一步到位/ 280 7.7.1 基于模型的自动化测试/ 281 7.7.2 状态图生成测例/ 281 7.7.3 测试数据的自动生成/ 284 7.8 UI 脚本开发与维护的常用技巧/ 287 7.8.1 脚本语言和测试框架的选择/ 287 7.8.2 UI 元素定位/ 288 7.8.3 测试代码的模块化和参数化/ 291 7.8.4 Selenium 集成自动化测试框架/ 293 7.8.5 Page Object 设计模式/ 295 7.8.6 隐式等待/ 296 7.9 质效合一:自动化测试和手工测试的融合/ 296 7.9.1 一个关于测试策略的案例/ 296 7.9.2 能手工测试,回归测试自动化/ 297 7.9.3 探索未知的,自动化已知的/ 299 7.9.4 自动化回归测试怎么做/ 300 7.10 优先实现面向接口的测试/ 300 7.10.1 接口(API)测试越来越重要/ 301 7.10.2 接口测试示例/ 301 7.10.3 如何获取接口信息/ 304 7.10.4 契约测试和微服务的接口测试/ 306 7.10.5 API 持续测试平台:API Fortress / 308 本章小结/ 308 / 309 第8 章 测试右移:从敏捷到DevOps / 310 导读/ 310 8.1 在线性能测试/ 311 8.1.1 全链路压测/ 311 8.1.2 在线性能监控/ 313 8.1.3 流量回放技术/ 314 8.2 A/B 测试/ 316 8.2.1 什么是A/B 测试/ 316 8.2.2 A/B 测试的设计/ 317 8.2.3 A/B 测试平台与测试执行/ 319 8.2.4 关于用户体验的度量/ 320 8.3 监控告警系统/ 321 8.3.1 日志分析及Elastic Stack 的使用/ 323 8.3.2 调用链分析及SkyWa 的使用/ 324 8.3.3 指标监控及Prometheus 的使用/ 327 8.3.4 监控系统解决方案/ 329 8.4 性监控/ 330 8.5 混沌工程/ 331 8.5.1 混沌工程的由来/ 332 8.5.2 基于故障注入的测试/ 333 8.5.3 混沌工程平台与工具/ 334 8.5.4 混沌工程的具体实施/ 336 8.5.5 为系统弹性做好设计/ 337 8.6 智能运维与测试/ 340 8.6.1 从自动化运维到智能运维/ 340 8.6.2 智能运维的典型场景/ 341 本章小结/ 342 / 343 第9 章 敏捷测试的收尾与/ 344 导读/ 344 9.1 如何分析测试结果和评估测试工作的质量/ 345 9.1.1 如何评估敏捷测试过程/ 345 9.1.2 敏捷测试过程的度量体系/ 346 9.1.3 测试工作质量的分析/ 348 9.1.4 代码覆盖率/ 348 9.1.5能覆盖率/ 349 9.1.6 业务覆盖率/ 349 9.1.7 基于缺陷分析测试质量/ 350 9.2 如何获得良好的可追溯性、可视化/ 350 9.2.1 测试管理系统/ 351 9.2.2 需求与测例的映射关系,以及测例与缺陷的映射关系/ 352 9.2.3 示例:Jira Zephyr 实现可追溯性/ 353 9.2.4 测试与质量度量的可视化/ 355 9.2.5 质量雷达图/ 357 9.3 敏捷测试优秀实践/ 357 9.3.1 微软的优秀实践/ 358 9.3.2 谷歌的优秀实践/ 359 9.3.3 的优秀实践/ 360 9.3.4 ThoughtWorks 的优秀实践/ 361 9.3.5 腾讯的优秀实践/ 364 9.3.6 的优秀实践/ 365 9.4 敏捷过程的反思与持续/ 366 9.4.1 敏捷过程的反思/ 367 9.4.2 敏捷测试过程的分析/ 368 9.4.3 数据驱动/ 369 9.4.4 PDCA 循环/ 369 9.4.5 根因分析/ 371 本章小结/ 372 / 372 第 10 章 敏捷测试的展望/ 374 导读/ 374 10.1 大数据的测试/ 375 10.1.1 大数据的特性与挑战/ 376 10.1.2 大数据的测试方法/ 378 10.1.3 大数据的测试实践/ 380 10.1.4 大数据的测试工具/ 381 10.2 人工智能系统的测试/ 382 10.2.1 人工智能系统的不确定性和不可解释性/ 383 10.2.2 人工智能系统的白盒测试/ 384 10.2.3 人工智能系统的算法验证/ 386 10.2.4 示例:针对智能语音的设计与执行/ 388 10.3 人工智能助力敏捷测试/ 392 10.3.1 基于图像识别技术的UI测试/ 392 10.3.2 基于人工智能的、全自动化的API 测试/ 397 10.3.3 人工智能助力代码深度分析/ 399 10.3.4 人工智能驱动测试/ 401 10.3.5 人工智能测试工具/ 403 10.4 敏捷测试工具的未来/ 406 10.4.1 敏捷测试工具的发展趋势/ 406 10.4.2 MBT 的前景如何/ 408 10.4.3 无代码化的测试自动化/ 409 10.5 实现持续测试/ 413 10.5.1 重新理解持续测试/ 414 10.5.2 持续测试的实现框架/ 415 10.5.3 持续测试成熟度模型/ 424 10.5.4 的持续测试/ 425 本章小结/ 426 / 427 附录A 基于Kubernetes 和Docker搭建Jenkins 可伸缩持续集成系统/ 428 导读/ 428 A.1 工作流程图/ 429 A.2 系统配置/ 429 A.3 安装Kubernetes 集群/ 430 A.3.1 安装前的准备/ 430 A.3.2 安装配置/ 430 A.4 Harbor 的安装部署/ 434 A.4.1 下载Harbor 离线安/ 434 A.4.2 安装Docker / 435 A.4.3 安装Docker Compose / 435 A.4.4 Harbor 的安装与配置/ 435 A.4.5 客户端访问Harbor 仓库/ 436 A.5 采用Jenkins Pipeline 实现自动构建并部署至k8s / 438 A.5.1 部署Jenkins / 438 A.5.2 新建Spring Boot Java工程/440 A.5.3 配置Jenkins Pipeline任务/ 444 A.5.4 测试Pipeline 任务/ 446 A.5.5 遇到的问题及解决方法/ 449 附录B 敏捷实践发展史/ 451 附录C 后敏捷时代暨DevOps发展史/ 461 附录D 中国敏捷测试大事记/ 463 参考文献/ 465
1.测试领域大咖朱少民20余年关于敏捷测试的思考和实践总结 2.给出敏捷测试落地实施的一套完整的实践方法,帮助读者显著提升个人的测试能力。 3.每章开头均有思维导图来引导读者学章结尾均有。 4.以业界实践为基础,典型敏捷测试真实案例贯穿全书始末。 5.帮助研发经理或项目经理提升对敏捷测试全局的理解。 6.20余名亲历一线的测试开发工程师、管理者及咨询师!
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格