一、接口定义:
- 1.接口是前后端沟通的桥梁,是数据传输通道。
包括外部接口、内部接口。
- 内部接口又包括:上层服务与下层服务接口、同级接口.
- 2.接口是把自己提供给外界的–种抽象化物,使其能被内部修改而不影响外界与其交互的方式。
二、接口的本质
- 接口是具有特定输入和特定输出的一套逻辑处理单元,也可以理解成它是一种契约,遵循一种形式,在项目开发前期前后端会约定接口接收什么参数,后端处理完之后,返回什么数据给前端。
- 前后端一起联调完成系统逻辑的前期预期,提高研发效率。
三、常见的接口类型
1.HTTP接口:
- 基于超文本传输协议(HyperText Transfer Protocol HTTP)开发的接口;
- 是应用最广泛的网络协议之一;
- 基于浏览器/服务器(B/S) 的软件系统大多数为HTTP接口;
2.Web Service接口:
- 系统对外的接口,根据提供的方法引用提供的接口,从而获取数据;
3.RESTful接口:
- 简称REST,描述了一个架构式的网络系统;
4.Dubbo接口:
- Dubbo是一一个分布式、高性能、透明化的RPC服务架构。是阿里巴巴公司开源的一个高性能优秀的服务治理方案。可以理解HTTP是基于客户端-服务端传输,而DUBBO是后端服务与服务之间方法的调用,传输信息。
四、接口测试
- 接口测试:是对系统或组件之间的接口进行测试,主要是校验数据的交换、传递和控制管理过程,以及相互逻辑依赖关系。
4.1 接口测试的特点
- 测试可以提前介入,提早发现Bug,符合质量控制前移的理念
- 可以发现一些页面操作发现不了的问题
- 接口测试低成本高效益(底层的一个Bug能够引发上层8个左右Bug,接口测试可以实现自动化)
- 不同于传统的单元测试,接口测试是从用户的角度对系统进行全面的检测
4.2 接口测试原理
- 模拟客户端向服务器发送请求,服务器接收请求后进行相应的业务处理,并向客户端返回响应数据,检查响应数据是否符合预期。
4.3 接口测试的实现方式
- 使用接口测试工具来实现(比如:JMeter、Postman)
- 通过编写代码来实现(比如:Python + Requests)
五、接口自动化测试
5.1 概念
自动化测试:是把以人为驱动的测试行为转化为机器执行的一种过程。
接口自动化测试:是让程序或工具代替人工自动的完成对接口进行测试的一种过程。