流量录制回放近几年已经越来越火。如阿里开放的 doom 、滴滴开源的 RDebug 。而公司随着业务的快速发展,回归测试的耗时越来越长,而且可以留给脚本维护的时间也并不多。因此也期望通过流量录制回放,提高回归测试的效率。
而刚好前几天看到阿里技术公众号推送的一篇 jvm-sandbox 的文章,里面有提到开源了其中做流量录制回放的 repeater 模块,所以尝鲜一下。
1 简介
简单来说就是goreplay抓取线上真实的流量,并将捕捉到的流量转发到测试服务器上。《github源码》 : buger/goreplay
2 原理
3 使用场景
什么时候可以试用goreplay?
简单写几点场景,具体还是根据实际需求来。
Case 1
上线前在预发布环境,使用线上真实的请求,检查是否准备发布的版本,是否具备发布标准
Case 2
压力测试完成后,用线上真实的请求,加速后回放至测试环境,检查是否有报错等问题
Case 3
abtest
用线上的流量转发到预发,检查相同流量下一些指标的反馈情况,检查核心数据是否有改善、优化
等等
具体case还需要根据自己的需求,灵活改变。
case 4
系统重构时,复制真实线上环境流量到被测试环境进行回归,相当于在不影响业务的情况下提前上线检测系统潜在的问题。
case 5
可以将录制的流量作为用例管理起来进行日常自动化归回。
case6
录制线下开发和测试的次执行的用例,以后可以用次录制的用例反复回放测试,避免重复造用例,节省测试与开发时间。
优势
低成本:无需编写测试用例,通过流量录制形成丰富的测试用例。
高覆盖:一方面线上大量真实流量确保覆盖率,另一方面支持中间过程的验证,例如发送消息的内容、中间计算过程等等的全对象的对比验证,传统手工编写验证点很难实现。
代码侵入:是通过抓取http包获取的流量,不需要再代码中加入埋点。
————————————————
版权声明:本文为CSDN博主「CleverCode」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
CSDN-专业IT技术社区-登录