酒库重构测试—半自动化验证
2021-06-08 18:56 第二个卿老师 阅读(106) 评论(0) 编辑 收藏 举报回顾下之前测的一个项目
-------------------------------------------------
测试需求:
酒库是我们的php转java重构的一个项目,替换方案是接口地址不变,由php掉java的地址,需要验证替换的接口是否有问题。
测试思路:
因为涉及接口很多,人工重复量很大,James whittaker说过:做任何一件事,绝不要重复两次而不意识到或质疑这其实是个问题。
进一步分析:
- 酒库重构,底层业务逻辑代码没有改变,只是数据源换了
- 是否可以测试自动化,依次对每个接口进行验证
至此,如果需要测试自动化验证,那么需要正确的预期结果,说到这,大家应该想到了
解决方案:
原PhP接口的返回值就是预期结果,于是就有以下四步流程:
第一步:采用Jmeter进行接口调用,涉及到所有改动的接口,接口入参可用csv管理。
第二不:切换环境,同一数据库下,接口入参一样,保存原php与新java每个接口的返回参数。
第三步:再使用小工具(Beyond compare)比对两个返回参数文档,人工排查不一致的接口。
第四步:找倒不一致的接口,反馈并排除问题,问题修复后再重复进行第一步。
以上步骤需要重复多轮,直到返回参数一致,其中根据每个接口的特性,每一轮需要针对性的变换参数验证。
如:
- 查询类接口,需要考虑边界值的情况,查询没有数据的、大数据量的。
- 增改删类接口,组合一下参数,必传和默认值要覆盖到
- 如果数据存在更新,除验证返回值外,还需要验证数据库的数据
如果覆盖了以上三点,基本就可以得出酒库重构大概率是正确的,测试通过。
附上当时接口的csv文件结构:
列名依次为用例编号、接口名、接口域名、端口号、接口路径、url拼接参数、用例优先级、请求方式、用例名、接口入参、断言值、用例状态
caseSeq | apiName | apiAddr | apiPort | apiUrl | apiUrlDeft | priority | function | purpose | parameter | expectValue | stat |
C001 | xxx接口 | www.xxx.com | /v1/aaa/xxx | ?key= | H | GET | 正确参数验证,正常加载 | page=1&pageSize=1 | 0 | N |