- 一般常说的接口指两种:
- API:应用程序编程接口,程序间的接口
- GUI:图形用户界面,人与程序的接口
- 软件接口测试中的接口特指API接口
- 所以接口测试又称API测试
举个例子微信/支付宝和银行之间是两套系统,
通过之间的接口调用,
就实现了多个独立系统或模块之间的通信和数据交换
常见的Web接口类型
-
REST接口
- 通过Http的GET和POST以得到数据
- 返回的报文一般为json格式
- 可以看看>>聚合数据
-
SOAP接口
- 通过soap协议得到数据
- 相比HTTPservice能够处理更加复杂的数据类型
- 请求报文和返回报文多为XML格式
- 可以看看>>WeatherWebService
为什么要做接口测试?
- 接口测试通过稳定了,前端随便改界面,毕竟科技以换皮本
- 检查系统安全性,稳定性,万一有人绕过界面直接乱发请求包
- 可以屏蔽花里胡哨的UI层的不稳定性,毕竟不知道用户怎么折磨软件的
- 尽早的进行系统测试,暴露Bug
- 解决系统测试复杂度
------------------------------------------>>>>>>>>-----------------
- 接口测试更关注系统架构的业务逻辑层,不注重UI的操作或用户的观感
- 检查数据的交换,传递和控制管理的过程
- 注重系统之间的相互逻辑关系的调用
接口测试的原理
其实就是模拟客户端向服务器发送相应的请求报文,
服务器收到了请求报文后,对应地做处理,并返回应答
这边再接收应答,这样一个过程
- 接口测试属于黑盒测试方法
- 黑盒测试参照规格需求文档。基本的测试思路是通过输入和输出来判断被测系统或者对象的逻辑。
开发定的接口说明文档要好好看看
接口说明文档是接口测试的主要依据,得仔细看看,少了或者有二义性的描述,就很麻烦!
- 接口的说明
- 请求方式
- 请求地址
- 请求的参数、参数类型、请求参数说明
- 返回参数说明
- 返回示例
- 多多益善,希望开发没事.......
接口功能测试点参考
- 接口可用性
- 输入输出参数个数和命名
- 输入参数的必填项
- 输入参数的合法性
- 输出参数内容的正确性
- 接口实现功能验证
- 接口文档规范性
- 接口传递参数的安全性