美团点评 梁士兴 - 从分层复用到自动化测试—看美团客户端架构的演变_部分2

苑友瑶

2017/12/18 发布于 技术 分类

美团点评伴随着业务的飞速发展,客户端研发团队的规模从初期的20余人的发展为数百人,且分散在不同的业务团队。如此大规模的研发团队,如何保证高效的内外部协同效率? 美团与大众点评原本是两家独立运营的大型互联网公司,分别有着不同的积累和储备。两家的合并为业务带来巨大的好处:更多的流量、更多的用户。但同时也为技术团队带来了巨大的挑战:如何能够同时高效的在美团和大众点评两个App上实施业务开发? 突破了这些难题之后,我们希望继续提高我们的研发效率。经过系统性的分析,我们判断测试效率当前阶段的效率瓶颈,对应的解决思路是实施自动化测试。那么问题又来了,类似美团点评的业务在不停的快速发展和迭代,是否适合实施大规模的自动化测试?

文字内容
1. 如何进⼀一步提升研发效率? 标准化 ⾃自动化
2. 针对什什么做⾃自动化? 测试周期分解 测试阶段 迭 代 周 期 开发阶段 新功能测试 回归测试 发布前验证 UI开发 业务逻辑开发 ⽹网络开发 API联调 新功能测试 回归测试 发布前验证 开发阶段时间占⽐比 业务逻辑开发 UI开发 ⽹网络开发 API联调 • ⾃自动化测试 • 代码脚⼿手架
3. ⾃自动化测试⽅方法—业务特点 多种⼊入⼝口 ⾸首⻚页 搜索 运营活动 … 主流程 列列表 详情 购买 售后 信息增值服务 攻略略 地图 相册 … 信息展示型⻚页⾯面 两种 ⻚页⾯面 类型 占⽐比80% 测试关注展示⾏行行为 交互逻辑型⻚页⾯面 占⽐比20% 通常对质量量要求更更⾼高 测试关注程序逻辑
4. ⾃自动化测试的⽅方法 ⼈人⼯工测试 ⿊黑盒 UI⾃自动化测试 UI截屏测试 ⽩白盒 ⾯面向UI接⼝口 集成测试 单元测试 信息展示型⻚页⾯面 交互逻辑型⻚页⾯面
5. ⾃自动化测试三部曲 设置上下⽂文环境 模拟⽤用户操作 校验结果
6. 截屏测试⽅方案 参考图 实际效果图 Diff分析 设置上下⽂文环境: 数据打桩,模拟登录层出, 设置时间…… 模拟⽤用户操作: 展示UI,滚动屏幕,点击按 钮…… 校验结果: 截屏 & 图⽚片⽐比较
7. ⾯面向UI接⼝口的集成测试 View 调⽤用功能 展示数据 设置上下⽂文环境:# 模拟⽤用户操作:! 校验结果:" $ ViewModel Presenter Model App视⻆角 ! " 调 校 ⽤用 验 功 状 能 态 TestCase #设置测试数据 $校验Request 记录Request Mock Response TestData 测试⽤用例例视⻆角
8. ⾃自动化测试的挑战 成本 开发测试⽤用例例⼈人⼒力力投⼊入 测试⽤用例例的维护成本 执⾏行行效率 CI单次执⾏行行时间 CI执⾏行行成功率 30% 20% 10% 0% 逻辑交互型 ⼈人⼒力力投⼊入 信息展示型 Case失效率 问题:构建 + 执⾏行行 约 30分钟 优化⽅方案:复⽤用⼆二进制构建结果 效果:6分钟 问题:15%概率失败 优化⽅方案: 优化CI执⾏行行逻辑,引⼊入重试机制
9. ⾃自动化测试带来的收益 线上质量量提升 故障数量量下降,故障等级降低 研发效率提升 减少了了⼈人⼯工测试成本,进⽽而提升迭代频率
10. 未来展望 • 测试管理理平台 • 代码脚⼿手架 场景1: ⽇日常测试 场景2: 新需求测试 多机型验证 场景3: 集中测试 新机型 报Bug 更更新Case 报Bug 确认Case 报Bug 确认Case
11. 邮箱:liangshixing@meituan.com 微信号:liangshixing