接口测试基本概念
1、接口的概念: 接口测试之前我们首先要了解什么是接口,一句话总结就是:不同系统之间相互连接的部分,是一个传递数据的通道。
文章图片
2、接口测试用来做什么: 检查数据的交换、传递和控制管理过程
3、常见的接口类型: 系统与系统之间的接口:
文章图片
系统与系统之间的接口,这里可以是公司内部不同系统之间的接口调用,也可以是不同公司之间系统接口的调用;例如:微博、微信、QQ提供的第三方登录。
下层服务对上层服务的接口:
文章图片
应用层:从认识上可以看成是系统所提供的UI层功能,对于Web系统来说,可以认为是浏览器页面上所提供的功能:登录、注册、查询、删除等。
Service层 :可以理解为服务器所提供数据和逻辑的处理。
DB层:数据库主要用来存放数据,例如用户的个人信息、商品的信息等。
访问对象:它是一个面向对象的数据库访问接口。
举例来说各层的工作过程:首先Service提供了一个查询接口--->这个接口需要一个参数(查询的关键字)--->然后应用层提供了一个输入框,需要用户输入查询关键字,并且还提供了一个查询按钮用于提交查询的关键字。当用户输入查询关键字并点击提交按钮后,相当于调用的查询接口,查询接口需要对用户提交的关键字做出相应的判断,是否为空?然后通过DAO层调用数据库,根据关键字查询表中的数据,最后再将拿到的数据返回给应用层,应用层负责将数据展示到Web页面上。
在这个过程中,各层之间的交互就是通过接口,应用层与Service主要通过HTTTP接口。Service层与DB层主要通过DAO(Data Access Object)数据库访问接口。Python与MySQL之间调用,pymysql驱动就扮演着这样的角色。
系统内服务与服务之间的调用:
文章图片
系统内部,服务与服务之间的调用,大多情况下是程序之间的调用。本质就是:程序开发的函数或类方法,提供入参与返回值;
4、接口测试价值:
文章图片
更早的发现问题:
根据分层测试体系可以看出:越往上,发现bug时间越晚,成本越高,接口测试(Service)相比UI测试,可以更早发现问题,更快的质量反馈。
缩短产品研发周期:
对于产品研发周期来说,如果将所有测试工作都集中在功能测试阶段,那么测试的问题和修复周期就会变长,因为测试可以更早的介入产品开发中,可以有效的控制功能阶段bug数量,从而有效的缩短产品开发周期。
发现更底层的问题:
系统的有些底层逻辑是在UI功能测试中不太容易触发的,那么这些逻辑可能会存在问题。接口测试可以更容易更全面的测试到这些底层的逻辑。
检查服务器的异常处理能力:
【接口测试|接口测试学习笔记(一)】我们通常把前端的验证称为弱验证,因为它很容易被绕过,这个时候如果只站在功能的层面进行测试,很难发现一些安全的问题,接口测试就会很容易验证这些异常情况。
推荐阅读
- 学习笔记之 接口测试
- 接口测试|微服务接口(怎么用Mock解决混乱的调用关系())
- pytest框架|软件测试面试题(写出5个Loadrunner中常用函数,并对其中2个举例说明用法)
- 前端|可视化API工具-Postman
- Android-jacoco代码覆盖率(单元测试覆盖率+功能测试覆盖率)
- App功能测试的注意点
- APP功能测试
- 卡拉云|Postman 使用教程 - 手把手教你 API 接口测试
- APP接口自动化测试JAVA+TestNG之HTTP接口测试实例