一、什么是接口测试
接口测试就是测试系统组件间的接口,主要用于检测外部系统与内部系统之间以及内部系统各个模块之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
二、常见接口分类
1、WebService 接口:通过 SOAP 协议传输数据,请求报文和返回报文都是 Xml 格式,测试过程中常用的工具有 SoapUI、Jmeter、LoadRunner 等;
2、HTTP API 接口:通过 HTTP 协议传输数据,请求报文都是 key-value 格式,返回报文一般都是 Json 格式,测试过程中常用的工具有 Postman、Jmeter、LoadRunner 等;
三、接口的组成部分
接口文档中应该包含以下内容:
① 接口说明
② 调用 URI
③ 请求方法
④ 请求参数、参数类型、请求参数说明
⑤ 返回参数说明
标头和入参之间有什么区别?
header 里存放的参数一般是一些校验信息,它是为了校验这个请求是否有权限请求服务器,然后把请求地址连同入参一起发送到服务器,最后服务器会根据地址和入参来返回出参。也就是说,服务器是先接受 header 信息判断该请求是否有权限请求,确认有权限后才会接受请求地址和入参。
四、接口测试主要内容
五、GET 请求和 POST 请求的区别
1、GET 请求在浏览器回退时是无害的,而 POST 请求会再次提交。
2、GET 请求只能进行 URL 编码,而 POST 请求支持多种编码方式。
3、GET 请求参数会被完整保留在浏览器历史记录里,而 POST 请求参数不会被保留。
4、GET 请求在 URL 中传送的参数是有长度限制的,而 POST 没有。
5、GET 请求使用 URL 或 Cookie 传参。而 POST 请求将数据放在 Body 中
GET 请求产生一个 TCP 数据包;POST 请求产生两个 TCP 数据包。
对于 GET 方式的请求,浏览器会把 http header 和 data 一并发送出去。
对于 POST 方式的请求,浏览器会先发送 header 再发送 data。
也就是说,GET 只需要汽车跑一趟就把货送到了,而POST得跑两趟,第一趟,先去和服务器打个招呼“嗨,我等下要送一批货来,你们打开门迎接我”,然后再回头把货送过去。
当面试官再问你“GET 与 POST 的区别”时,你的内心是不是这样的?
六、接口测试质量评估标准
a) 业务功能覆盖是否完整
b) 业务规则覆盖是否完整
c) 异常场景覆盖是否完整
d) 参数验证是否达到要求
e) 接口覆盖率是否达到要求
f) 代码覆盖率是否达到要求
g) 性能指标是否满足要求
h) 安全指标是否满足要求