1、接口测试断言从哪些方面去设计?
接口测试断言可以从以下五个方面进行设计:
响应码:检查响应码是香符合预期,用来判断测试用例是香执行成功(针对ht即接口);
关键字:验证关键字是否符合预期,用来判断测试用例是否执行成功;
正则匹配:当一个接口返回的内容较多,并且有一定规律时,可通过正则表达式来校验接口返回的信息来判定测试用例是否执行成功;
数据库匹配核对:比农如对查询一个接口返回的数据进行验证时,可通过编写$语句查询结果,然后将$q语句执行后数据库返回的结果与接口返回的结果进行核对,以此来判定测试用例是否执行成功;
通过相关接口进行辅助验证:比如,当测试一个删除接口时,删除一条记录后,想验证这条记录真的被删除,可调用查询接口,若删除的记录设被查询到,则说明删除这条记录成功。
2、依赖于第三方数据的接口如何进行测试?
可以利用一些Mock工具(如:JSON Server、Easy Mock)来模拟第三方的数据返回,最大限度的降低对第三方数据接口的依赖。Mock服务是指在测试过程中对于某些复杂(或者不太好构造)的对象,用一个虚拟的对象替代它。
如现在有A和B两个接口,A需要调用接口B才能完成业务需求。这个时候B接口有如下三种情况:
B接口还没有开发完成:需要等待接口的数据来进行开发,这时候完善的接口MOCk服务能大大缩短开发联调等待时间。
B的某些场景很难去模拟:比如超时、未知错误或者不稳定的第三方接口。
性能测试中隔离B接口第三方接口):在进行压测的时候就会遇到问题。
3、接口调不通,如何去排查?
接口调不通的原因:
1、接口没有任何响应
很多时候在做接口测试时,会发现接口没有任何返回,比如浏览器一直在转圈,或者返回一个空白页面。用接口测试工具时,工具报错提示"no response"。
排查思路:
先检查接口ip是否正确,可以通过在本机ping接口的ip,检查网络是否通畅;
检查接口的端口号是否正确,可以通过在本机telnet接口的ip和端口号,检查端口是否能连通;
检查项目是否启动或者部署成功,可以钱研发确认,或者自己登录到服务器上,通过ps命令检查项目的进程是否存在,然后用til命令查看部署日志;
检查服务器防火墙是否关闭,如果因为安全或者权限问题不能关闭,需要找运维进行策略配置,开放对应的和端口号;
检查你的客户端(浏览器/测试工具),是否设置了网络代理,网络代理可能会造成请求失败:
检查操作系统的hos文件,是否绑定了一个错误的ip映射;
2、接口有响应但是返回了错误的状态码
有些时候接口会返回一些错误的TTP状态码,需要根据不同的状态码来确定具体的原因。