需求介绍
最近小编接到了这样一个测试需求:通过新开发的后台配置网络开关接口,网络开关接口简单来说实现的是根据用户上传的各类不同参数,下发不同结果的网络开关指示,接口返回的是xml。小编需要测试的内容就是新开发的后台~
问题
刚接到这个测试需求,小编可谓是一脸懵状,脑子闪现了多个问题:
1)开关逻辑多而复杂,手工测试成本太大,效率太低;
2)每个逻辑开关下发的数量都比较多,如何保证通过后台配置的测试xml中的key和value与线上xml中的key和value完全一致;
3)测试xml与线上xml返回的顺序有可能不一样,如何确保顺序的不同不会影响xml的比对;
4)服务器需要用户请求中的参数和请求body中scookie参数进行逻辑判断,其中scookie参数是经过客户端加密的,如何将请求body中的明文变为密文;
5)概率下发的开关如何进行测试;
解决方案
首先确认测试方法,由于开关逻辑多而复杂,手工测试成本太大,效率太低,所以采用自动化方式验证。想必大家都记得铲子哥的这篇文章《不会代码?接口测试照样做!》,于是小编就拿来框架源码按照本次的需求进行更改,框架的主要实现逻辑是:
针对网络开关重构的需求,框架具体修改内容如下:
1)excel中维护的测试用例格式
因用户上传的scookie参数在请求header里,每个case都有不同的scookie里,所以case如下所示:
针对网络开关重构的需求,框架具体修改内容如下:
1)excel中维护的测试用例格式
因用户上传的scookie参数在请求header里,每个case都有不同的scookie里,所以case如下所示:
2)case中的scookie是明文的,了解客户端的加密算法,将其转为密文;
2)case中的scookie是明文的,了解客户端的加密算法,将其转为密文;
4)概率下发的开关,case执行多次,如1000次,比对下发概率