猜你喜欢
阿里测试之道

阿里测试之道

书籍作者:阿里巴巴技术质量小组 ISBN:9787121429361
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:10301
创建日期:2023-02-16 发布日期:2023-02-16
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

本书是阿里巴巴集团自成立以来第一本全面记录阿里测试技术的书籍。围绕测试团队经常面临的困局,介绍了一系列技术创新、经验和方法。结合电商、移动、搜索、推荐、广告、IoT、金融、物流等业务场景,总结了阿里在大促保障、移动App测试、大数据测试、AI系统测试、云计算测试、资损防控、物流类测试等领域的方法、技术和工具平台,以及故障快恢、灰度发布、突袭演练等安全生产技术。全书聚焦技术亮点和增量,总结实战经验和教训,呈现技术体系和思考,与业界同人交流。本书适合互联网行业中的高级测试管理和技术人员阅读,这些人员有比较深厚的测试基础,面对诸多质量挑战,迫切需要寻求测试技术的突破以支撑业务的快速增长。对于想在类似业务领域建立完整测试体系的从业人员,无论经验背景如何,本书都将提供一些有益的启发。对于高校学生和学术界科研人员,本书也提供了一个了解阿里测试实践的窗口。

作者简介

阿里巴巴技术质量小组负责横向拉通、组织协调各条业务线测试技术的探索和布局,提升测试技术专业能力,促进人才发展,实现突破和创新。对外的分享交流合作包括“阿里巴巴技术质量”公众号、年度行业会议――阿里巴巴质量创新大会(TICA)、校企合作研究项目等。

编辑推荐

◇阿里官方首本测试书,思辨测试要义,细解技术创新

◇电商、移动、搜索、推荐、广告、IoT、金融、物流等业务场景全覆盖

◇技术创新、经验、方法、工具、平台一应俱全

◇涉及大促保障、移动App测试、大数据测试、AI系统测试、云计算测试、资损防控、物流类测试等领域

◇更有故障快恢、灰度发布、突袭演练等安全生产技术

◇有亮点、有增量、有经验、有教训,更有体系和思考


前言

保障一个大规模在线数字系统的质量,是一件充满挑战又值得敬畏的事情。每一分每

一秒,系统都在开发变更中迭代、在用户行为下学习、在环境变化中适应、还不时要面对

突发的流量、攻击或基础设施的故障。保障这样的系统准确、稳定、安全地运行,和保障

一个鲜活生命体的健康一样,需要一些“魔法”。

互联网技术带来的变革,已经深入商业、民生、社会的方方面面,数字系统成为社会

的生命系统。保障数字系统质量的方法,必须变成可复制的工程实践经验,被所有从业者

掌握。阿里的技术质量团队分享了过去二十余年保障大规模电商、物流、支付、云系统顺

利运行的经验,写成此书,希望在这个方向上做出一份绵薄贡献。

解决质量问题,需要以求真务实的态度,根据场景与技术栈的实际情况,给出具体的

解决方案。但一切质量技“术”的背后,还是能够看到大家不约而同的“道”。

一是“质量左移”。追本溯源定位引发质量问题的源头,并且在最靠近源头处采取有效

的措施进行缺陷控制,是成本最低的方式。大到架构层面的容灾容错设计,小到代码门禁

的严格纪律,都是质量左移的实践。

二是“端到端验证”。只有通过端到端的方式才能对质量进行真正可靠的验证。阿里在

保障“双 11”流量洪峰顺利通过的实践中沉淀下来的全链路压测技术就是一个有代表性的

案例。

三是“持续验证与恢复”。对系统的正确性、性能、稳定性、用户体验等方面进行在线

监控、持续验证,在问题出现的第一时间发现并快速修复——我们常常把这种能力比作系

统内在的免疫能力。有了这种系统内在的免疫能力,搭配各种灰度发布验证技术,就可以

极大地降低缺陷可能造成的影响。

系统的质量就像一面镜子,能反映出一个技术团队的综合水平,不仅包括技术能力,

也包括管理水平与技术素养。抓质量的根本是建立整个团队的质量意识,提升团队的质量素养。每一次对故障的复盘,都是提升质量意识与水平的绝好机会。然而,通过真实故障

来学习,毕竟成本较高,且随着系统越来越健康,通过真实故障进行学习的机会也越来越

少。这时就需要建立有效的故障演练体系,让系统质量与团队能力可以持续增长。在本书

中,大家也可以了解到阿里在这方面的有效实践。

身处数字革命大潮中,我们能感受到技术的快速演进。当然,质量技术也在与时俱进。

很多记录在这本书中的实践,在出版时已经被更新,或者被更好的方法替代了。我们能做

的,一方面是把握变化背后的不变之道,另一方面是持续分享。

2019 年,阿里质量团队发起了 TICA 质量创新大会,与行业伙伴一起打造面向质量技

术创新前沿的论坛。TICA 的主题从 2019 年的“测思未来”,到 2020 年的“云端智测”,再

到 2021 年的“智测美好”,一直都把握住了质量技术的发展脉搏。我也希望有越来越多的

读者能够相会在 TICA,共同推动质量技术的持续进步。

美好质量,是我们的共同向往。

程立

阿里巴巴集团首席技术官

2022 年 2 月


目录
目 录

第 1 章 测试团队的发展之路 .................................................................................... 1
1.1 测试团队面临的困局 ........................................................................................... 1
1.2 建立代码门禁 ....................................................................................................... 2
1.2.1 什么是代码门禁 ....................................................................................... 3
1.2.2 代码门禁的效果 ....................................................................................... 3
1.2.3 落地和优化 ............................................................................................... 4
1.2.4 更多的用途 ............................................................................................... 5
1.3 理解测试的本质 ................................................................................................... 5
1.4 缩短反馈弧 ........................................................................................................... 7
1.4.1 为什么缩短反馈弧是关键 ....................................................................... 7
1.4.2 怎么才算反馈弧短 ................................................................................... 8
1.4.3 缩短反馈弧的成本和投入产出比 ........................................................... 9
1.5 提升测试的稳定性 ............................................................................................. 10
1.5.1 高频 ......................................................................................................... 10
1.5.2 隔离 ......................................................................................................... 13
1.5.3 用完即抛 ................................................................................................. 14
1.5.4 不自动重跑 ............................................................................................. 15
1.6 提升测试的有效性 ............................................................................................. 16
1.6.1 测试有效性需要面对的挑战 ................................................................. 16
1.6.2 变异测试和 Bug 注入 ............................................................................ 17
1.6.3 更多的注入类型 ..................................................................................... 21
1.7 提升测试的充分性 ............................................................................................. 25
1.7.1 用例自动生成 ......................................................................................... 25
1.7.2 业务覆盖率度量 ..................................................................................... 30
1.8 从测到不测 ......................................................................................................... 31
1.8.1 防错设计 ................................................................................................. 31
1.8.2 静态代码分析和 Bug 自动识别 ............................................................ 41
1.9 本章小结 ............................................................................................................. 42
第 2 章 大促质量保障 ............................................................................................. 44
2.1 大促全链路的风险与挑战 ................................................................................. 44
2.1.1 全球最大流量洪峰下的高可用挑战 ..................................................... 44
2.1.2 纷繁复杂的用户场景 ............................................................................. 45
2.1.3 无处不在的用户体验 ............................................................................. 46
2.1.4 三位一体的保障体系 ............................................................................. 46
2.2 全链路压测 ......................................................................................................... 47
2.2.1 全链路影子体系 ..................................................................................... 47
2.2.2 全链路压测模型 ..................................................................................... 48
2.2.3 全链路压测执行策略 ............................................................................. 49
2.2.4 常态化智能压测 ..................................................................................... 50
2.3 全链路功能 ......................................................................................................... 52
2.3.1 统一环境隔离 ......................................................................................... 52
2.3.2 全链路影子数据 ..................................................................................... 54
2.3.3 全链路大促用例精简 ............................................................................. 56
2.4 全民预演 ............................................................................................................. 59
2.4.1 什么是全民预演 ..................................................................................... 59
2.4.2 全民预演的核心目标 ............................................................................. 60
2.4.3 全民预演如何实施 ................................................................................. 61
2.4.4 预演执行策略的制定 ............................................................................. 63
2.4.5 预演问题的收集和跟进 ......................................................................... 64
2.4.6 大促持续集成 ......................................................................................... 64
2.4.7 全民预演平台化支撑 ............................................................................. 65
2.5 预案开关 ............................................................................................................. 68
2.5.1 预案的使用场景 ..................................................................................... 68
2.5.2 预案评估方式 ......................................................................................... 69
2.5.3 预案流程 ................................................................................................. 70
2.5.4 预案平台 ................................................................................................. 70
2.5.5 预案与攻防 ............................................................................................. 72
2.5.6 预案的目标与展望 ................................................................................. 72
2.6 全链路预热 ......................................................................................................... 73
2.6.1 解法 ......................................................................................................... 73
2.6.2 适用的业务场景 ..................................................................................... 75
2.6.3 核心应用场景 ......................................................................................... 76
2.7 快速扩/缩容 ........................................................................................................ 78
2.7.1 分析 ......................................................................................................... 79
2.7.2 方案 ......................................................................................................... 79
2.7.3 优化 ......................................................................................................... 80
2.7.4 演练 ......................................................................................................... 84
2.7.5 效果 ......................................................................................................... 84
2.7.6 展望 ......................................................................................................... 85
2.8 风控识别引擎压测 ............................................................................................. 85
2.8.1 分析问题 ................................................................................................. 86
2.8.2 延伸 ......................................................................................................... 89
2.9 本章小结 ............................................................................................................. 89
第 3 章 移动 App 测试 ............................................................................................ 90
3.1 移动 App 测试的主要类型、方法和工具 ......................................................... 90
3.1.1 功能性测试――从手工到自动化 ......................................................... 90
3.1.2 专项测试――从简单到专业好用 ......................................................... 95
3.1.3 稳定性测试――智能化测试的初次尝试 ............................................. 99
3.1.4 兼容性测试――智能推荐 ................................................................... 109
3.2 移动测试的标准、流程和经验 ....................................................................... 125
3.2.1 深度专项验收――大促 ....................................................................... 125
3.2.2 前端发布管控 ....................................................................................... 127
3.2.3 客户端代码持续集成 ........................................................................... 132
3.3 移动端线上质量保障 ....................................................................................... 140
3.3.1 性能监控 ............................................................................................... 140
3.3.2 性能分级与降级 ................................................................................... 146
第 4 章 大数据测试 .............................................................................................. 151
4.1 大数据应用测试的介绍 ................................................................................... 151
4.1.1 大数据应用测试要解决的问题是什么 ............................................... 151
4.1.2 大数据应用的技术质量体系综述 ....................................................... 153
4.2 算法系统质量 ................................................................................................... 155
4.2.1 算法测试的定义 ................................................................................... 155
4.2.2 算法工程质量 ....................................................................................... 156
4.2.3 特征质量与评估 ................................................................................... 162
4.2.4 模型质量的评估 ................................................................................... 163
4.2.5 深度学习平台质量(大规模分布式训练系统的测试) ................... 167
4.3 工程系统质量 ................................................................................................... 168
4.3.1 功能测试平台 Markov ......................................................................... 168
4.3.2 无人值守的性能测试 ........................................................................... 182
4.4 效果评估 ........................................................................................................... 185
4.4.1 效果评估的挑战 ................................................................................... 186
4.4.2 用户体验保障 ....................................................................................... 186
4.5 对大数据应用测试的预判 ............................................................................... 190
第 5 章 AI 系统测试 .............................................................................................. 193
5.1 语音类产品测试――智能音箱测试 ................................................................ 193
5.1.1 智能音箱业务介绍 ............................................................................... 193
5.1.2 语音类产品测试的挑战 ....................................................................... 195
5.1.3 天猫精灵测试策略 ............................................................................... 196
5.1.4 端端语音测试 ....................................................................................... 197
5.1.5 算法评测 ............................................................................................... 208
5.1.6 总结 ....................................................................................................... 211
5.2 计算机视觉类产品测试方案 ........................................................................... 211
5.2.1 计算机视觉类业务流程介绍 ............................................................... 212
5.2.2 计算机视觉类测试分析 ....................................................................... 215
5.2.3 计算机视觉类测试方案 ....................................................................... 217
5.2.4 总结 ....................................................................................................... 230
第 6 章 云计算测试 .............................................................................................. 231
6.1 专有云质量定义及挑战 ................................................................................... 231
6.2 高可用测试――坚如磐石 ................................................................................ 233
6.2.1 设计思想 ............................................................................................... 233
6.2.2 异常模拟 ............................................................................................... 234
6.2.3 复杂场景测试 ....................................................................................... 235
6.2.4 自动化测试 ........................................................................................... 236
6.3 性能容量压测――分层覆盖 ............................................................................ 238
6.3.1 单产品性能――基础能力 ................................................................... 239
6.3.2 平台性能容量――集成视角 ............................................................... 240
6.3.3 用户场景性能――业务视角 ............................................................... 242
6.4 热升级――给飞行中的飞机更换发动机 ........................................................ 244
6.4.1 技术原理 ............................................................................................... 244
6.4.2 测试挑战 ............................................................................................... 245
6.5 用户场景测试――知己知彼 ............................................................................ 247
第 7 章 金融类测试之资损风险防控 ..................................................................... 251
7.1 资损风险防控体系 ........................................................................................... 251
7.1.1 怎么防 ................................................................................................... 252
7.1.2 怎么控 ................................................................................................... 252
7.1.3 止损 ....................................................................................................... 252
7.2 资损风险防范 ................................................................................................... 253
7.2.1 资金产品测试要点 ............................................................................... 253
7.2.2 资金系统测试要点 ............................................................................... 255
7.2.3 资金项目变更规范 ............................................................................... 266
7.2.4 资金测试框架/平台 .............................................................................. 268
7.3 资损风险识别 ................................................................................................... 271
7.3.1 数据核对体系 ....................................................................................... 271
7.3.2 数据核对平台 ....................................................................................... 275
7.4 资损风险应急 ................................................................................................... 278
7.5 资损防控文化 ................................................................................................... 278
第 8 章 物流类测试 .............................................................................................. 280
8.1 物流类通用测试技术 ....................................................................................... 280
8.1.1 基于测试服务化的可编排测试 ........................................................... 280
8.1.2 基于业务流量的采集和回放平台 ....................................................... 283
8.2 仓储实操类测试技术 ....................................................................................... 285
8.2.1 仓储实操机器人业务介绍 ................................................................... 285
8.2.2 仓储实操机器人业务面临的质量挑战 ............................................... 285
8.2.3 仓储实操机器人自动化测试方案及结果 ........................................... 286
8.3 末端 IoT 设备测试技术 .................................................................................... 290
8.3.1 末端物流业务介绍 ............................................................................... 290
8.3.2 硬件服务与系统服务质量保证的挑战 ............................................... 291
8.3.3 阿里巴巴菜鸟末端 IoT 设备通用的测试产品及方案 ....................... 291
8.3.4 硬件服务与系统服务质量保障成果 ................................................... 296
8.4 全球化物流骨干网测试技术 ........................................................................... 298
8.4.1 全球化物流骨干网业务简介 ............................................................... 298
8.4.2 全球化物流骨干网质量挑战 ............................................................... 299
8.4.3 全球化物流骨干网测试方案 ............................................................... 300
第 9 章 安全生产 .................................................................................................. 303
9.1 资金安全 ........................................................................................................... 303
9.1.1 资损定义 ............................................................................................... 304
9.1.2 资损解决方法 ....................................................................................... 304
9.1.3 资金安全策略 ....................................................................................... 306
9.1.4 体系化解决方案 ................................................................................... 307
9.1.5 资金安全产品介绍 ............................................................................... 309
9.1.6 资金安全展望 ....................................................................................... 314
9.2 故障快恢 ........................................................................................................... 315
9.2.1 功能介绍 ............................................................................................... 315
9.2.2 关键技术 ............................................................................................... 316
9.3 灰度发布 ........................................................................................................... 318
9.3.1 抓手――变更三板斧 ........................................................................... 318
9.3.2 灰度生态建设 ....................................................................................... 319
9.3.3 灰度常坚守,安全无止境 ................................................................... 320
9.4 信息安全风险 ................................................................................................... 321
9.4.1 风险识别 ............................................................................................... 321
9.4.2 风险应对 ............................................................................................... 323
9.4.3 持续优化 ............................................................................................... 326
9.5 突袭演练 ........................................................................................................... 327
9.5.1 背景 ....................................................................................................... 327
9.5.2 突袭演练策略 ....................................................................................... 327
9.5.3 突袭演练技术大图 ............................................................................... 329
第 10 章 回顾和展望 ............................................................................................ 331
10.1 阿里测试的昨天和今天 ................................................................................. 331
10.2 测试是软件开发的一个领域 ......................................................................... 334
10.3 软件质量的挑战和不变量 ............................................................................. 336
10.4 展望未来 ......................................................................................................... 341
10.5 写在最后 ......................................................................................................... 347
产品特色