简介 接口测试,简单理解,是一种抛开UI界面的功能测试,按照接口文档,通过符合条件或者不符合条件的入参来判断,接口是否实现需求要求的功能等的测试。
常见接口:http接口,走http协议,web service 接口。
常见接口测试工具有 postman jmeter soupui lr等。
接口文档的组成: 接口测试一般有接口文档,文档一般包含:
1、接口说明
2、调用url
3、请求方式(常见:get\post)
4、请求参数、参数类型、请求参数说明
5、返回参数说明
有的接口还有可能有接口入参和返回参数的示例。
HTTP请求:请求头 请求体
请求头中一般包含的信息:header 、发送请求的额外信息 、cookie、
请求体:请求数据
接口请求方式get\post:
一般都会问有什么区别,你可能会搜索到的答案:
如果是get请求的话,直接在浏览器里输入就行了,只要在浏览器里面直接能请求到的,都是get请求;post请求需要借助工具。
1、get请求没有请求体,只有请求头(get使用url或Cookie传参。而POST将数据放在BODY中)
2、get请求没有post安全,因为get把参数都写到url里面(抓包都能看到哒。。。也没啥)
3、get请求有参数的大小限制,post请求。(之前浏览器有限制,现在没有,此区别不存在)
4、get请求一般用来获取数据,像服务端发送数据的时候用(这一点还行)
接口测试用例设计:
1、首先要保证这个接口的功能是正常的:按照接口文档上面的参数要求,用正常的入参访问,检查返回的参数是否也符合要求,如果多个参数,要检查参数组合情况。
2、参考接口文档,用不正常的入参访问,检查接口功能,一般不正常的参数有:必填非必填,长度,类型等验证
3、按照具体项目的业务逻辑来涉及测试用例
4、接口安全测试(后续补充)
下面贴一点 别人的总结关于接口安全的
1、绕过验证,比如说购买了一个商品,它的价格是300元,那我在提交订单时候,我把这个商品的价格改成3元,后端有没有做验证,更狠点,我把钱改成-3,是不是我的余额还要增加?
2、绕过身份授权,比如说修改商品信息接口,那必须得是卖家才能修改,那我传一个普通用户,能不能修改成功,我传一个其他的卖家能不能修改成功
3、参数是否加密,比如说我登陆的接口,用户名和密码是不是加密,如果不加密的话,别人拦截到你的请求,就能获取到你的信息了,加密规则是否容易破解。
4、密码安全规则,密码的复杂程度校验