接口diff的定义
接口diff即接口对比,就是对接口的返回结果进行对比,找出结果的差异之处。广泛意义上说,接口diff不局限于接口的个数(1/2/3/4/...个接口),也不局限于接口的返回形式(json/string/xml....) ,当然也不局限与接口的请求方式(http/https/thirft等等)。接口diff基本类似于如git中的代码diff,根本目的在于找出差异。
项目测试中的接口对比,则往往有这样的应用场景:代码做了修改,需要回归之前的众多接口是否被“改坏”。此时,采用的一种回归形式就是接口diff。基本接口diff的步骤如下:
1)在服务器A上部署原代码/线上代码(定为接口版本1);
2)在服务器B上部署修改的代码(定为接口版本2);
3) 确保服务器A,B的差异仅仅在于代码的不同,即使用的DB,依赖的上游服务等等相同;
4) 对比接口版本1,接口版本2的差异
5) 验证对比结果(如果接口版本1,接口版本2无差异,认为接口正常,无字段被改坏,或误删的可能;反之,确认二者的差异是否是代码原因)
ps: 对于接口数量少,接口返