得物质量测试沙龙:流量回放实践与技术挑战

版权申诉
5星 · 超过95%的资源 4 下载量 32 浏览量 更新于2024-07-03 收藏 3.18MB PDF 举报
"得物流量-录制回放实践 - 2022质量测试沙龙.pdf" 在得物技术部-质量团队面临业务快速增长和系统复杂度增加的背景下,他们需要找到新的提效手段来应对电商领域特有的长链路依赖问题。传统的自动化测试虽然能够帮助优化流程,但随着用例数量的增长,质量侧的维护成本也在增加,同时自动化成功率的提升难度大,这阻碍了持续集成和持续交付(CICD)中的质量控制。 为了解决这些问题,得物团队引入了流量回放作为自动化升级方案。流量回放通过记录真实用户流量,以高仿真度进行测试,大大降低了用例创建成本,并保持了执行成功率的稳定。这种方案执行高效,能够快速校验系统功能,选用了Jvm-Sandbox-Repeater这一开源项目作为基础,因为它具备不重启、不侵入系统的优势。 流量回放平台的构建策略是不追求一次性实现所有功能,而是专注于回归测试阶段,部分替代接口自动化测试,通过单点落地并逐步推广。平台设计注重用户体验,采用配置化设计,并在关键点提供引导提示,使得用户能够更轻松地操作和理解。 然而,使用开源项目也带来了技术挑战。例如,团队需要解决录制采样率不均衡、Java入口配置热下发不生效、异步调用无法录制回放等问题。此外,还修复了子类字段名覆盖父类字段的序列化问题以及HTTP GET请求带body的回放问题。为了克服这些挑战,团队进行了深入的插件开发,扩展了9个插件,覆盖了得物应用中的主要基础组件,同时也解决了dubbo服务依赖和MQ消息消费场景的回放支持。 在处理dubbo依赖时,团队采取了沙箱环境下的RPC代理对象初始化方法作为切点,确保代理对象在回放过程中能够成功初始化。而在面对MQ支持的难题时,他们定制了流量回放专用的Jar包,将Bean信息转存,以便在测试环境中正确处理MQ消息。 得物流量录制回放实践展示了如何通过技术创新来优化质量测试流程,降低维护成本,提高测试覆盖率,以及在复杂系统中保证测试的稳定性和效率。这一实践不仅对得物公司自身有着显著的效果,也为整个IT行业的测试自动化提供了有价值的参考案例。