1.背景介绍
1.1 得物pandora介绍
什么是流量录制回放?流量录制回放是应用端通过挂载注入录制器探针自动注册到服务端形成录制流量回流,将所有外部调用依赖的响应内容(如数据库、分布式缓存、外部服务响应等)进行完整记录。由平台向回放器分发流量回放指令。其核心价值是通过直接录制生产的真实数据,将生产真实数据转化成可复用、可执行的流量,快速地在测试环境中进行回放比对接口返回值和中间链路的验证。
得物版本的流量录制回放平台pandora在官方开源版本上进行了很大的拓展,支持了很多官方版本不支持的子调用和入口调用。此外,平台还对得物的中间件进行了诸多适配工作,避免了大量的回放失败噪音。
1.2 市场工具对比
目前市场上已知的流量录制回放平台大部分都是在Jvm-Sandbox-Repeater基础上进行二次开发和改造,并且多数都是只支持Java语言。核心原理也都是通过录制线上真实流量然后在测试环境进行回放,验证代码逻辑正确性。
2.实践落地
2.1 协作模式
在具体的实施层面,目前采用的是业务测试,平台研发,业务研发三方协同的模式。任务分拆如下图所示。
2.2 阶段应用
流量回放在各阶段的理想实施应用:
提测阶段卡点:聚焦核心场景,低成本验证每次提测对于核心场景的影响;
测试回归阶段卡点:全量场景,重点追求覆盖场景全面性,验证新功能对历史功能的影响;
预发环境回归:目前预发跟生产同库,未来会推动落地基于预发&生产环境的流量回放,尽可能拉近录制时环境和回放时环境的仿真差异,从而降低回放阶段的噪音影响;
在得物的整体QA体系中,流量回放短期聚焦在回归兜底保障上。
2.3 实践落地
流量回放的开展自发起后,在本域由探索尝试阶段逐渐过渡到应用场景拓展阶段。
订单流量回放模式
在经过一段时间的探索,摸索出了一套适用于本域迭代的模式。
Part1、尝试接入
团队开始开展流量回放的专项之后,通过调研,选取了40%的服务优先接入。
- 阶段目标
-
完成30%P0应用top10 接口100%场景覆盖,形成迭代落地质量