一、接口组成
接口说明、请求地址、请求方法(get/post)、请求参数(参数类型、参数说明)、返回参数说明
服务器是先接受header信息进行判断该请求是否有权限请求,判断有权限后,才会接受请求地址和入参。
二、为什么要做接口测试
1、可以发现很多在页面上操作发现不了的问题
2、检查系统的异常处理能力
3、检查系统的安全性、稳定性
4、前后端分离,接口测好了,后端就不用再调整了,前端随便调整
三、如何进行接口测试
根据接口文档,提取测试点,设计接口测试用例:
分别从「业务功能、业务规则、参数验证、异常验证、性能、安全性及幂等性」等方面提取测试点:
业务功能:通过性验证、参数组合对应不同的业务
业务规则、安全性、兼容性、参数验证:
1、绕过参数验证:比如订单金额不可以修改传参生效
2、绕过身份授权:比如一些功能需要对应的身份、角色才可操作
3、参数是否加密
4、密码是否安全
5、兼容性:比如只在指定端开放接口
6、是否符合业务条件
...
异常验证:不按照接口要求输入参数,来验证接口对异常情况的校验,主要有三种:「必传非必传、参数类型、入参长度」
性能:响应时间、出错率
幂等性:接口幂等性就是用户对同一接口发起了一次或多次请求之后,对数据的影响是不变的,不会因为多次请求而产生不同的结果。
1、前端重复提交:例如订单接口,用户连续多次点击下单操作,导致后端收到多条请求,同一个订单可能会多次创建。
2、接口超时重试:例如支付接口,当调第三方接口时,可能由于网络等原因导致调用失败而多次调用,出现多次扣款的情况。
3、消息重复消费:例如MQ消息中间件在生产端和消费端都有重试机制,也就是说同一消息可能被重复消费的问题。
四、接口用例覆盖率
1、业务功能覆盖是否完整
2、业务规则覆盖是否完全
3、参数验证是否达到要求(边界、业务规则、安全性)
4、异常场景覆盖是否完整