作者:faithchen,腾讯PCG测试开发工程师
一、背景自动化测试对于我们提升研发效能、CI/CD(持续集成/持续交付)是不可或缺的部分。在后台自动化测试中,接口测试尤为重要,它能够保证被测后台服务的质量,以及接口逻辑的正确性等,帮助我们快速测试功能、提高测试覆盖率、把控质量风险等。
1.1后台接口测试接口测试是功能测试的一种,是测试系统组件间接口的一种测试,重点在于检验对于服务接口的数据交换的正确性,一般全部依赖真实链路,测试时需要启动被测服务。如下图是某个ServerA的接口测试:
然而,写过接口测试的同学可能都会被复杂的数据构造以及繁杂的断言所困扰,可能需要耗费大半天才能写完一个接口测试用例,浪费了许多宝贵的时间!基于以上考虑,为了提高编写接口测试用例的效率,我们希望能够自动化地协助开发或测试人员完成这些耗时耗力的事情,为此而产生的想法是通过流量的录制,再通过录制的流量自动化生成接口测试用例。基于上述想法,我们提供了从录制流量到生成接口测试用例完整链路的工具,辅助开发同学快速完成编写接口测试用例。简单来说,只需要以下三个步骤便可以接入:
接下来,我们通过**“流量录制-生成用例”的流程来进行阐述我们的实现方法和接入方式。我们会说明通用的平台如stke、sumeru服务的接入流程,由于平台对goreplay等有较好的支持,除了通用流程外会以平台为例进行说明。最后会说明流量频次筛选方案**帮助大家理解我们的流程。
二、流量录制2.1流量录制简介2.1.1什么是流量录制我们听得比较多的是“录制与回放”,但目前只需要用到录制功能,后续可能会把回放功能也加上。顾名思义,流量录制就是指将我们期望的接口数据的包括response、request、协议等等存储起来的操作,可以是正式环境或者是测试环境的数据,开启了录制功能后,只要对应环境的服务有流量,便可以将其捕获存储起来,实现此功能的方式有多种。
通过对多个方案的对比后,我们决定采用goreplay的方式,其开源代码是goreplay,基于goreplay1.2.0版本改造后已经支持trpc,
转载请注明:http://www.0431gb208.com/sjszyzl/29.html