API接口测试
一、参数校验
1、正常场景
(1)功能按照接口规范要求实现
(2)返回状态码200(不能作为接口通过的标志,接口只要能正常访问都是200,但是必须判断状态码为200--有点拗口)
2、异常场景
(1)参数为空(如:直接为空、null、[]、{})不能只判断空
(2)参数错误
(3)无操作权限
(4)特定的业务逻辑报错,涉及敏感的报错不应该有明确的原因,例如登录失败就不能报成密码错误或账号错误
(5)单位标准,时间,服务端使用时间戳还是直接日期类型,在接口定义里前后端要一致
(6)重复传参,字段唯一性校验,发送两次请求,接口需要做重复判断处理
3、必填参数
(1)接口文档要求必填的字段
(2)必填参数传参
1>传参类型和内容都正确
2>传参类型错误,参数类型非法,例:int传string
3>必填参数数值范围错误,数值越界
4>必填参数为空格,前面,中间,尾部
(3)必填参数不传,必填参数全部为空,必填参数部分为空
(4)必填参数组合,有些参数需要配合一起使用时需组合测试
4、非必填参数
(1)接口文档规范要求非必传的参数
(2)正向,所有参数均传正确
(3)逆向
1>某个参数为空,需要做判空处理
2>非必填参数少传一个,接收方需要处理
5、升级接口
(1)什么情况下需要升级接口
1>客户端不支持的接口
2>业务上有较大变更,和老业务有冲突
(2)升级接口影响
1>对新版本APP有影响,老版本没有影响
2>新接口和老接口调用同一个底层,底层有修改,老版本正常回归
6、更新接口字段(这么目前发现更新接口对老版本的影响较大,经常不兼容)
(1)新版本和老版本可以共用一个接口,只需要新增字段
(2)更新字段影响
1>新增字段需要对老版本做兼容处理
2>新增字段必填,需要做版本控制
3>新增字段不必填,老版本要兼容
二、返回值校验
1、返回数据是否必要(目前页面有的接口字段找不到来源)
2、返回数据数量需要限制
如:
电商下单接口测试环境返回2000多张优惠券
推荐服务挂掉,电商h5页面接口返回全部商品
3、契约验证
如上
三、命名规范
接口、字段命名的含义准确且拼写无误
四、业务判断
1、约束条件
(1)数值限制,例如:规定达到什么数值才能被使用,未达到不可以使用
(2)状态限制,例如:删除状态的数据不可被其他业务关联
(3)关系限制,例如:例如创建订单需要先创建货主,没有货主无法创建订单
(4)权限限制(目前页面有很多数据都是前端控制,只是禁用了按钮,接口没有任何控制)
1>防越权
2>数据权限,没有对应权限的不应返回响应的数据
2、操作对象,例如:非自己创建的数据,不能修改
3、时序分析,例如:要先做完A操作才能进行B操作,即前置条件需要有,下个接口才能进行
五、安全校验
1、防遍历校验
2、防越权校验
3、安全校验,xss、sql注入
4、隐私信息,入参、反参、日志
5、数据加密,入参、下行加密
6、频次限制
7、内容安全