接口管理体系
接口管理体系
接口管理体系的价值
项目 KickOff 会议
- 前端工程师:希望后端工程师提供联调环境用于前端开发,这样可以同步开发
- 后端工程师:还没开始开发,哪有联调环境?
- 后端工程师:希望前端工程师给个调用端测试下后端服务
- 前端工程师:还没开始开发,哪有调用端?
- 所有人(All):测试工程师在哪,你们有没有办法?
每个技术团队经常会碰到以下的问题:
- 前端和后端的联调时间无法完全保持一致,前端开发完毕之后,做一些数据和页面效果的调试需要等待研发的接口开发完成。
- 测试编写接口测试用例,也需要等待后端的接口调试通过之后,才能进行编写。
从以上的两个问题中,不难看出,如果后端的同学因为某些原因 delay 或者阻塞,那么前端的进度、测试的进度都会受到影响,是否有一套比较成熟的方案,尽量解决测试与前端同学在工作流程中对于后端接口服务的依赖呢?这个答案就是:接口管理体系。
简介
接口管理体系其实是一套解决接口管理过程中碰到的各种问题的整体解决方案。而针对于这一套体系,也有一些成熟的产品方案,比如 Swagger, ApiFox 等等。其实工具的设计都是大同小异的,重点在于解决的问题。接下来会以 Swagger 为主要的示例,带大家理解一下一整套成熟的接口管理体系是如何做的。
每个接口的开发其实具备其一整套完整的生命周期。在不同的阶段,针对于接口,需要的交付也是不一样的。如下表所示
阶段 | 交付 |
---|---|
设计阶段 | 提供设计工具和规范 |
研发阶段 | 提供 stub 环境联调和客户端 sdk 基础测试用例 |
测试阶段 | 生成测试脚本 联调环境 |
交付阶段 | 接口文档/客户端 sdk |
为了满足在每个阶段能够产出对应的交付,一个接口管理的工具就需要具备以下的功能:
- 接口文档规范。
- 根据接口文档生成 stub 与 mock 服务(联调环境)。
- 自动生成测试脚本。
- 能够持续的维护所有的接口文档。
相关工具资料
能实现以上功能的工具主要有:Swagger、 YAPI、ApiFox 等,也为大家提供了相关工具的官网地址
Swagger
- 官网地址:https://swagger.io/
- 测试人社区版:https://swagger.hogwarts.ceshiren.com/
YAPI
- 官网地址:https://hellosean1025.github.io/yapi
- 测试人社区版:https://yapi.hogwarts.ceshiren.com