[程序员] 生产环境流量录制并回放,这些录制的流量要如何清洗

最近在研究流量录制的相关内容

根据定义:

流量录制回放是通过复制线上真实流量(录制)然后在测试环境进行模拟请求(回放)验证代码逻辑正确性。通过采集线上流量在测试环境回放逐一对比每个子调用差异和入口调用结果来发现接口代码是否存在问题。

痛点:

生产和测试环境的代码时一致的,也就是服务提供的功能是一致的,但是生产和测试环境的数据是不一致的,比如我录制了某一个接口的流量在某个时间段的流量,这个接口的 url 为{userid}/orders,线上和测试环境的 userid 必然不是对称的,那么这个时候怎么在测试环境回放这些录制的数据?怎么满足定义中所说的

在测试环境进行模拟请求(回放)验证代码逻辑正确性

userid 如果不存在,接口会返回 404 ,测不出任何效果。
那么为了能测出效果,这种情况下我们只能进行数据清洗,把录制的数据里面的 userid 改了,让这个 userid 是在测试环境有意义的。

但是如果每一个被录制的接口都要考虑清洗的场景,那么这个录制工作会变得及其复杂,生产环境的接口成千上万,而且每个接口要清洗的字段,内容也不一样。

问题:

关于这块流量录制并在测试环境回放究竟有没有什么比较可行的方法论

发表回复

您的电子邮箱地址不会被公开。