一、接口测试本质
什么是接口?
硬件:USB、投影仪【用于数据传输的东西】
软件:接口统称API(application program interface)【鉴权码:token、key、appkey】
接口有内部接口和外部接口
内部接口:开发人员自己写的,对系统自身提供的
外部接口:系统调用外部的接口(像各大APP用微信支付,支付宝支付等)
总结:为什么需要接口
因为接口能让内部的数据被外部修改
比如:银行卡存款可以被支付接口进行调用,网上支付后,余额有变化
为什么要做接口测试
- 系统大都是前后端分离,若是开发进度不同,可以对先开发好的接口进行测试。一般会用到mock服务,模仿前端或后端的响应
- 安全方面,前端的验证可能被绕过。需要注重安全的,比如金融交易,身份证信息等
- 测试左移,测试尽早介入
接口交互的过程
以微信对银行卡的操作为例
接口测试的本质
二、接口返回数据
1.一般都是三组数据
error_code:错误码,0代表成功,开发自定义
msg:对错误的中文说明
data:真正返回的数据
Json详解
由2中数据类型组成:键值对,数组
Json在线编辑器 https://www.bejson.com
2.html格式
<html>
<title></title>
<body>
<error_code>0</error_code>
...
</body>
3.xml格式
<?xml?version="1.0"encoding="utf-8">
<error_code>0</error_code>
...
</xml>
三、接口测试协议
1.webservice协议(不常用):
基于http的soap协议传输数据
webservice=soap=http+xml,webservice协议就是http+xml组成的,其中xml中会用到wsdl,wsdl是描述语言xml中的一种格式。
接口地址:http//...?wsdl
Restful是一种接口规范,而不是接口协议,restful接口规范中也会用到http协议。
- get- 获取数据
- post- 提交数据
- put- 修改数据
- delete- 删除数据
2.dubbo协议
接口地址:dubbo://......
适用于少量数据的传输,能承受大的并发
3.接口地址:http://
http超文本传输协议,主要用于浏览器和服务器之间数据传输
HTTPS=http+ssl(安全传输协议)