接口:用来连接前端,后端还有移动端的程序模块。由于不同端的工作进度不一样,需要对最开始出来的接口进行接口测试。
接口分类:POST,GET,PUT,DELETE。
POST请求的数据是放在WebForm里面的,以表单的形式提交;GET请求的数据是拼接在URL中的,以URL的形式提交数据。
不同接口类型的差异:
1.参数提交的方式;
2.请求数据的大小;
3.安全性。
接口测试流程:需求讨论→需求评审→场景设计→数据准备→执行
设计用例的几方面:
1.功能→检验功能是否正常,功能主流程;检验功能是否按照接口文档实现;
2.逻辑业务→是否依赖业务;
3.异常(参数异常和数据异常);
参数异常:关键字参数,参数为空,多/少参数,错误参数;
数据异常:关键字数据,数据为空,长度不一致,错误数据。
4.安全(关键字):
cookie,header,唯一识别码(用于手机等终端向服务器发送唯一识别码)。
设计测试用例的必要性:
1.理清思路,避免漏测;
2.提高测试效率;
3.跟进测试进度;
4.告诉领导做过;
5.跟进重复性工作。
接口测试的测试工具(分类:抓取接口,测试接口):
1.fiddler:是一个http协议调试代理工具,它可以记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有“进出”fiddler的数据(比较常用,抓包工具的不二选择,还有其他功能);
fiddler的运用:查看接口的请求方式;查看请求数据、响应数据;接口返回状态。
2.postman(POST/GET接口实践);
3.wireshare(经过电脑的所有请求,它都会抓取,看数据比较麻烦);
4.soapui;
5.python、php(接口自动化,自己开发);
6.loadrunner(接口性能);
7.httprequester(缺点:只能在IE和Firefox浏览器里面,其他浏览器不支持,看数据比较麻烦);
8.Jmeter(接口性能).
如何选择接口测试用具:从时间,简易程度,业务复杂度,测试员能力等几方面考虑。
自己开发测试工具的必要性:工具没办法满足需求时;业务限制;安全性。
接口测试之前的准备:了解接口实现功能的业务逻辑,接口参数,接口返回值。
接口的测试设计主要关注点
- 接口中所有的入参都要写测试用例。
- 每个入参的每个错误类型都要准备一个异常用例。如必须参数缺省、参数类型错误、参数 范围错误、参数超过最大位数、参数没有达到最小指定位数、参数的无效值(有效状态外)、参数的小数点超过规定长度、参数含有非法字、参数含有违禁字、参数的关联性检查(如所在省、市,所在地不匹配)等等。
- 对于正常系的用例,要把所有入参的各种合法的有效值都执行到。所有入参的最大位可以用一个测试用例执行掉。所有可缺省的参数不要(只输入必须参数)的测试用例也要做一个。
- 对于搜索接口,应该把每个参数单独作为搜索条件来确认搜索结果是否正确,然后再确认多条件输入后的结果。