一、接口测试的概念
1.概念
测试系统组件间接口的一种测试。接口测试主要用于测试外部系统之间以及内部各个子系统之间的交互点。
2.接口测试的本质
实质就是数据的传输和接受,传输的是接口地址中的传输,接受的是文本字符串,然后对此文本字符串是否正确。
3.目的
测试接口的正确性和稳定性。
4.原理
接口测试的原理是通过测试程序模拟客户端向服务器发送报文,服务器接受请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接受答应报文这一个过程。
二、接口测试应该测什么
1.单一接口
单一接口功能的测试主要测试返回的数据构建是否和接口文档给出的一致,接口的正常功能是否完成,接口的参数检测,接口的异常测试。
2.组合接口
定义:组合接口测试主要是通过组合多个单一接口,来测试一个业务场景。
案例:测试购物网站的一个下单的功能,那么因为在下单之前还有一些流程,所以要测试一个场景。
测试:搜索商品 --> 选中商品 --> 添加进购物车 --> 提交订单 -->支付
(提交订单时还涉及到地址的选取等)
注:涉及到如果使用从cookie或者session在本例中的区别:如果使用cookie加入购物车,那么换一台电脑购物车里的商品就不存在了,但如果使用的是session,购物车里面的东西就一直存在,即:cookie是本机作用的,session不止于本机作用。
3.结构检查
(1)检查返回值的结构是否正确,如果json类型还是xml类型的数据。
(2)字段名称是否正确等
XML和JSON都使用结构化方法来标记数据
三、接口测试内容
1.功能逻辑
通过查数据库或缓存等验证数据是的处理正确。
通过其他辅助途径进行验证
2.异常测试
接口测试中主要测试接口正常逻辑,但仅逻辑测试不能保证数据的安全及程序接口在异常情况下的逻辑处理的正确性。
3.路径测试
当被接口的实现方法中,判断逻辑复杂分支多,且判断中又调用了其他的接口,此时必须要进行路径覆盖测试。
4.其他异常场景
研发的项目,有些项目是底层使用的系统,根据项目特点,可能会存在特殊的异常场景。
例如:支付的异步存在,支付消息重试等。