3x3 移动app快速迭代与发布

29
3x3: App快速迭代与Keqiu Hu

Upload: keqiu-hu

Post on 12-Apr-2017

74 views

Category:

Internet


0 download

TRANSCRIPT

Page 1: 3x3  移动app快速迭代与发布

3x3: 移动App快速迭代与发布

Keqiu Hu

Page 2: 3x3  移动app快速迭代与发布

自我介绍

LinkedIn 移动基础设施组

移动(iOS, Android)基础库,工具

持续交付流水线 - 3x3

Page 3: 3x3  移动app快速迭代与发布

规模 - iOS150+ 开发人员

20+ App,70+ 库

2000 commits/月 -> 发布

60000 个diff代码提交

4,000,000 行代码 (55% Swift)

Page 4: 3x3  移动app快速迭代与发布

3x3 是啥

一天至少部署/交付 3 次

开发人员commit代码到内部发布最多3小时

Page 5: 3x3  移动app快速迭代与发布

3x3 之前

移动App: 一个月发布一次

移动服务器端:一周部署一次

Page 6: 3x3  移动app快速迭代与发布

3x3 之前

移动App: (> 一个月)发布一次

移动服务器端:(> 一周)部署一次

Page 7: 3x3  移动app快速迭代与发布

为什么要3x3快速迭代 A/B测试

确保交付流水线的可靠性

Page 8: 3x3  移动app快速迭代与发布

如何达成3x3 手动测试

测试部署全自动化

Page 9: 3x3  移动app快速迭代与发布

挑战 1 - 可靠性

单元测试

页面布局测试

情景(UI)测试

Page 10: 3x3  移动app快速迭代与发布

页面布局测试

Page 11: 3x3  移动app快速迭代与发布

情景(UI)测试

Page 12: 3x3  移动app快速迭代与发布

挑战 1 - 可靠性

企业Beta 版本测试

Page 13: 3x3  移动app快速迭代与发布

挑战 1 - 可靠性

服务端控制的A/B测试

Page 14: 3x3  移动app快速迭代与发布

挑战2 - 速度

编译器

Page 15: 3x3  移动app快速迭代与发布

挑战2 - 速度

优化测试框架

Page 16: 3x3  移动app快速迭代与发布

挑战2 - 速度

分布式测试

Page 17: 3x3  移动app快速迭代与发布

挑战3 - 稳定性

测试框架与基础设施的稳定性

编译发布工具与机器的稳定性

Page 18: 3x3  移动app快速迭代与发布

挑战3 - 稳定性

测试框架与基础设施的稳定性

Page 19: 3x3  移动app快速迭代与发布

挑战3 - 稳定性

测试框架与基础设施的稳定性

- 更稳定的API

Page 20: 3x3  移动app快速迭代与发布

挑战3 - 稳定性

测试框架与基础设施的稳定性

- 稳定的测试套装

99.9%1000 = ?

99% 95% 90% 80% 50%

Page 21: 3x3  移动app快速迭代与发布

挑战3 - 稳定性

测试框架与基础设施的稳定性

- 测试质量 = 产品质量

Page 22: 3x3  移动app快速迭代与发布

挑战3 - 稳定性

测试框架与基础设施的稳定性

- 测试质量 = 产品质量

Flaky Tests Are Worse Than No Tests

Page 23: 3x3  移动app快速迭代与发布

挑战3 - 稳定性

测试框架与基础设施的稳定性

- 代码守卫

Page 24: 3x3  移动app快速迭代与发布

挑战3 - 稳定性

工具及机器的稳定性

Page 25: 3x3  移动app快速迭代与发布

挑战3 - 稳定性

工具及机器的稳定性

- 机器池守卫

Page 26: 3x3  移动app快速迭代与发布

挑战3 - 稳定性

工具及机器的稳定性

- 分布式测试的不稳定性 95% -> 95%10 = 60%

Page 27: 3x3  移动app快速迭代与发布

挑战3 - 稳定性

工具及机器的稳定性

- 分布式测试的不稳定性 95% -> 95%10 = 60%

Page 28: 3x3  移动app快速迭代与发布

总结

产品的快速迭代

全自动化测试环境

高稳定性的编译测试部署系统