接口测试:
1.业务功能测试
2.边界分析测试
3.参数组合测试
4.异常情况测试
5.性能测试
6.安全测试
-
接口安全:
1、绕过验证,比如在购买了一个商品,价格是300元,在提交订单时候,把这个商品的价格改成3元,后端有没有做验证,更狠点,把价格改成-3,是不是余额还要增加?
2、绕过身份授权,比如说修改商品信息接口,那必须得是卖家才能修改,那传一个普通用户,能不能修改成功,我传一个其他的卖家能不能修改成功
3、参数是否加密,比如说在登陆的接口,用户名和密码是不是加密,如果不加密的话,别人拦截到你的请求,就能获取到你的信息了,加密规则是否容易破解。
4、密码安全规则,密码的复杂程度校验 -
异常验证:
所谓异常验证,也就是不按照接口文档上的要求输入参数,来验证接口对异常情况的校验。比如说必填的参数不填,输入整数类型的,传入字符串类型,长度是10的,传11,总之就是你说怎么来,我就不怎么来,其实也就这三种,必传非必传、参数类型、入参长度。 - 参数组合:现在有一个操作商品的接口,有个字段type,传1的时候代表修改商品,商品id、商品名称、价格有一个是必传的,type传2的时候是删除商品,
商品id是必传的,这样的,就要测参数组合了,type传1的时候,只传商品名称能不能修改成功,id、名称、价格都传的时候能不能修改成功。
如何分析一个bug是前端还是后端的:
先抓包看请求报文,对着接口文档,看请求报文有没问题,有问题就是前端发的数据不对;
请求报文没问题,那就看返回报文,返回的数据不对,那就是后端开发的问题。
接口测试的作用:
前端限制了输入,但是不通过前端输入,就会存在风险。
比如:一个提现输入框,在页面上输入负数,无法提交过去(前端页面会判断金额),如果不走前端,直接用接口工具发请求,输入一个负数过去。
(假设服务端没做提现金额数据判断)
余额=当前余额(100)-提现金额(-100),那么提现-100,余额就变成200了,也就是越提现,余额越大了
来自:https://blog.csdn.net/candy_tse_1/article/details/99452378