内容来源:2017年4月8日,饿了么物流产品研发部测试组高级经理陈琦在“饿了么技术沙龙【第四弹】北京研发中心·测试专场”进行《蜂鸟配送测试质量保障体系》演讲分享。IT大咖说(id:itdakashuo)作为独家视频合作方,经主办方和讲者审阅授权发布。
摘要
现在的人越来越宅,都是外卖给“惯”的。打开外卖APP动动手指,不久就有香喷喷的饭食送到家中。但如何在食物的最佳赏味期内将餐点送到客户手中?用餐高峰期的订单量剧增,外送速度又该怎样保证?本次饿了么物流配送研发团队任测试组高级经理将要分享测试团队在这个过程中质量保障工作的一点心得和方法。
嘉宾演讲视频地址及PPT:http://suo.im/4HfSQx
现状
目前饿了么配送研发团队大概有200个微服务,研发交付速度确实有了质的提高,但是对于运维和质量保障工作来说是一个灾难性的挑战。
平均每日发布17次。
每日的订单量达到了百万级。
流量入口主要是饿了么订单、开放平台订单和帮买帮送以及蜂鸟配送服务。
我们的配送模式有自营模式、代理商模式、众包模式和第三方模式。
挑战
价值观
质量是整个团队的任务。
作为测试来说,工作方式应该是简单的,以团队的交付价值为目标。测试的工作中心不应该仅仅是发现缺陷,而是能使业务更快地交付一个质量被认可的产品。
要做到快速沟通与反馈。
测试的任务
在工作项目中,应该针对产品形态,建立一个合适的质量测试标准。
建立快速反馈机制。
持续改进自动化测试。我们要求项目团队自己实现自动化,并根据产品变更去维护它的自动化用例。
应该关注如何提高工作效率缩短测试周期,而不仅仅是发现缺陷。
推进开发测试,提高系统可测试性。
微服务测试
我们关注完整的业务流程,做集成测试时的原则是自顶向下。
服务提供方需要提供符合契约的功能,服务消费方则要保证使用的正确姿势,基本上就能保证业务流程的完整性。
很重要的一点是要明确系统的性能要求。当一个新应用或者关键路径建立新请求的时候,我们会从个订单、骑手和用户三个角度来评估系统的性能。
发布过程
我们只有一个研发商户配送系统的团队是按版本发布的,其余每天的发布基本上都是按功能来发布。
环境管理
因为我们的环境交错复杂,所以整个测试只有一个环境。测试的原则是主干测试,主干回归和主干发布。
遇到很多环境问题都时候都可以采取这些措施。
自动化测试
我们的自动化测试主要是基于模块和接口层面的测试,关注业务流程。虽然团队内部的各个服务间变更频繁,但从上游和下游来说业务是相对固定的。
面向用户故事,建立有效的BVT。在整个研发过程中,对整个团队来说最有效的就是能通过系统或人为快速得到反馈。
自动化用例分为两组。一组是每个团队最核心的路径,还有一组是完整回归。
我们还在尝试一些UI上的自动化,更多是做专项性测试。
系统容量
系统容量是我们团队工作除了功能以外的第二个重心。
系统容量规划主要是通过压力测试来做。我们的目标是满足业务,评估性能要求。关键路径上如果有任何IO变化,我们都会及时做一个性能测试。
由于服务依赖严重,饿了么有一个生产环境的全链路压测,来模拟饿了么完整的业务场景。
分布系统服务无法做到百分百可靠,稳定性演练的目标就是当系统出现问题的时候,运维和研发团队能及时处理故障。
今天的分享就到这里,谢谢大家!
网友评论