AREX-携程无代码侵入的流量回放实践
摘要
对于一个初上线的简单服务,只需通过常规的自动化测试加上人工即可解决,但我们线上核心的业务系统往往比较复杂,通常也会频繁的需求迭代,如何保证被修改后的系统原有业务的正确性就比较重要。常规的自动化测试需要投入大量的人力资源,准备测试数据、脚本等,并且覆盖率通常也不高,难以满足要求。
为了保证一个线上系统的稳定性,开发和测试人员都面临不少的挑战:
- 开发完成后难以快速本地验证,发现初步的问题,容易陷入提测->发现bug->fix->提测的循环
- 准备测试数据、自动化脚本编写和维护需要大量的人力成本,而且难以保证覆盖率
- 写服务难于验证,而且测试会产生脏数据,例如我们的核心交易系统,可能会往数据库、消息队列、Redis等写入数据,这部分数据往往比较难以验证,测试产生的数据也难于清理
- 线上问题难以本地复现,排查困难
欢迎在评论区写下你对这篇文章的看法。