今天主要来聊一下接口测试,那么接口测试到底是什么呢?为什么要做接口测试?怎么开展接口测试?
什么是接口测试
首先,我们来聊一下什么是接口,其实接口我们可以理解为两个系统的连接点,也是两个系统之间交互的地方。接口测试顾名思义就是测试外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
接口分类
接口主要分为两大类,一种是系统外部的接口,另外一种则是系统内部的接口。系统外部接口通常是第三方的,我们的业务需要借助第三方来完成,而对方不可能给源代码给我们,我们要想使用对应的功能,就可以通过调他们接口来实现举个例子,像我们平时电商业务,购买下单后需要支付,这时我们就要借助第三方支付宝或微信的下单接口来完成支付;系统系统内部接口通常是方法和方法之间,模块和模块之间,不同模块的之间的交互,登录模块,用户模块等等。
为什么要做接口测试
目前大多数系统都是前后端分离的,所以前后端的开发是相对独立的,这样我们可以不完全依赖于前后端都开发好了再介入测试,另外对于一些第三方的接口,我们需要提前介入进行接口数据的验证,另外从安全层面来看,光要前端做限制已经不能满足需求,毕竟还是有很多可以绕开前端的方式,所以后端也需要做同样的限制,这就要求我们去做一些接口测试。另外接口测试很有必要的原因是我们可以很早就发现问题,更早地暴露问题会减少很多成本。总结一下,大概有以下几点:
1、越早发现问题,修复的成本低很多,也会减少很多沟通成本
2、不完全依赖前端,接口测试稳定后,后续介入功能测试,版本更稳定
3、接口测试更加容易做成自动化持续集成,这样可以减少回归的成本
4、检查系统的安全性
怎么做接口测试
我们通常测试的一般都是http接口,在测试之前我们需要了解什么是HTTP接口,以及HTTP接口的get和post方法分别是什么。
详见参考菜鸟教程:https://www.runoob.com/tags/html-httpmethods.html
了解上述这些后,我们可以开始入手接口测试了
1、分析需求和接口文档,需要确定接口的定义等
2、编写接口测试计划,测试计划就是功能测试计划基本一样就是知名的5w1h了
3、编写测试用例,其中包括单场景和多场景,单场景包括正向和反向用例
4、编写接口测试脚本,开始接口测试
接口测试的工具
目前我主要是postman和jmeter来进行接口测试,当然有时也会用python来编写接口测试脚本,根据不同场景选择不同工具,后面我会一一介绍。