性能场景中的业务模型是性能测试工作中非常重要的一部分。而在我们真实的项目中,业务模型跟线上的业务模型不一样的情况实在是太多了。原因可能多种多样,这些原因大大降低了性能测试的价值。
有人说,就是因为这样才应该直接用生产流量的方式来做嘛,这样就不用管业务模型了,直接就有生产的业务模型了。没错,只要你能通过生产流量扩大回放的方式实现压力部分,确实可以不用考虑业务场景了。但这么做的前提也必须是你的生产流量来源是可以覆盖想要测试的业务场景的。
回放的逻辑
在业务产品和基础架构的层面做接口回放,可以使用类似于回放测试(Replay Testing)的方式。以下是具体的操作步骤:
1、录制请求数据和响应数据:首先,需要录制正常业务请求的数据和响应数据。可以使用浏览器内置的开发者工具、HTTP 客户端或专业的工具(如 Fiddler、Charles、Postman 等)进行录制。
2、配置回放环境:接着,需要配置回放环境,包括搭建测试环境、部署测试代码和配置测试数据等。如果需要进行基础架构层面的回放测试,还需要配置相应的基础架构环境,包括网络、存储、操作系统等。
3、模拟请求:在回放环境中,模拟原始请求。可以使用录制的数据生成请求代码,或者手动编写请求代码来模拟请求。如果需要测试高并发场景,可以使用压力测试工具或开源自动化测试框架来模拟请求。
4、验证响应数据:使用验证工具或代码评估工具来验证回放的参数、状态和响应。这些工具可以自动检查回放的请求和响应是否正确,并识别出环境配置问题或网络问题。
5、提取性能指标:通过监控回放环境中的性能数据(如 CPU 使用率、内存占用等)和响应时间,来评价测试结果和性能