零、前言
小五有一家软件公司,邀请虚竹哥给他们做一场关于api研发管理的分享,虚竹哥把分享的要点整理成文章,分享给大家。
一、API 研发管理
1.1、什么是API研发管理
你是否认为API管理无非是管理一下API文档(如何把文档写漂亮一点,规范一点),只需要用word文档API描述写一下,要团队协作时,把API文档文件发给前端或测试人员就行?
其实没这么简单,API研发管理是:包含了API开发管理、开发团队协作、自动化测试、网关以及监控等等API管理全生命周期的一系列管理过程。帮助公司实现开发运维一体化,提升开发速度,提升产品质量并且降低运维成本。
API管理最重要的方面包括检测,分析和报告,使用工具来量化分析api的情况。传统的管理格言是,“无法管理没有指标的东西。”
1.2、痛点
虚竹哥发现的痛点有如下几方面:
- 前端开发进度受制于后端;
- 无法及时了解API变动;
- 接口测试不方便;
- 测试工作繁琐、重复;
- 工作成果无法分享;
- 测试工作不自动化;
- 测试效果无法量化;
- 测试工作被动;
- 合作方需要我们在极短的时间内提供接口文档文件,对平时不注重api管理的团队来说,是一个加班的消息了;
这些痛点,大家是否感同身受~说多了都是槽点,说多了都是泪啊
1.3、解决方案
道:规范的思维
提升团队规范思维,了解规范地管理API能便于开发、测试和维护。
法:合理的流程
制定合理的工作流程,保障团队成员能够各司其职,高效协作。
器:适用的工具
选择合适的工具来实践流程,工具能够帮助团队成员规范日常开发行为。
术:易用的体验
良好的产品使用体验+团队成员的熟练运用工具,能够保障流程持久运作,最终实现规范的目标。
以eolink为例,介绍如何搭建和使用API研发管理。
eolink 有私有部署产品和SaaS 产品,可以满足不同企业的需求。
二、搭建部署及不同角色的关注点介绍
2.1、下载安装
下载传送门--》
根据电脑的操作系统,选择下载
选择安装目录:
安装成功后:
2.2、开发管理
创建项目及从第三方导入api
进入 API 研发管理项目列表页,点击 添加 按钮。
可以新增api接口,也可以从第三方导入api接口:
小五公司的后端接口是用使用swagger生成api接口
可以使用swagger导出的json文件,批量导入进来。
像这种swagger的json文件如何获取呢?
简单介绍下:
以java项目为例,我们会对swagger 的api接口进行分组。
不同技术团队写法可能会有差异,建立直接写在配置文件中即可
我们就可以把整个分组的接口以json文件格式输出
格式:
/v2/api-docs?group=分组名
localhost:9527/v2/api-docs?group=分组名
其中localhost:9527/ 是本地后端服务ip和端口。
右键,网页另存为json文件,文件名可自定义。
这样就导入完成了。
可以给项目关联 Swagger 生成的 JSON 文件地址或关联代码仓库,API 研发管理平台能够远程读取代码并自动生成API文档。
配置完成后,界面会提示配置完成。此时您可以通过在当前页面页点击 同步 按钮
不止支持swagger导入,还支持很多种导入数据类型,大家可自行体验,可以跟虚竹哥探讨探讨。
api变更通知
这个功能对于模块的开发负责人是福音。当团队成员某个需求或某个bug,修改了api接口,早期相关负责人是无法及时得知的,只能去看提交记录。
有了api变更通知,模块开发负责人对负责模块的api 情况了如指掌,有问题也能及时发现并提醒。
把某个出参/入参移除,对某个业务是不影响,但会影响其他业务,负责新需求开发的人,不一定了解这个情况。
新增了不少出参,但实际应该另开一个api接口,原先这个api接口的作用是如此如此~这般这般~
可以单个接口设置通知:
也能全局配置:
2.3、测试管理
编写测试用例
痛点:测试人员工作总是排在最后进行,无法参与项目讨论,无法进行快速大范围回归测试,甚至无法按时完成测试任务,导致项目延期或带着忐忑上线。
使用协作工具后优势:开发人员将API文档写好之后,测试人员就可以马上介入,在API文档的基础上编写测试用例; 等开发人员开发api后,测试人员可直接执行测试用例,一键对 API 进行冒烟测试,并且得到详细的测试报告,如果有异常则可针对性改进。
还有一个优势,当api发生变更时,测试人也能及时知道,并修改api测试用例。
创建测试用例:
填写 API 的请求地址、请求参数、校验规则等信息:
还可以智能地校验返回结果:
支持多种校验方式:
批量测试
测试报告:
会计算测试通过率:
不同环境的测试
需要测试的环境有:开发环境(一般开发人员自测)、测试环境、预发布环境和生产环境(一般不会直接测试,除非有线上问题发生)
痛点:这些环境服务的地址和端口很有可能是不一样的,要修改大量的测试用例,工作量非常大。
使用协作工具后优势:可以定制不同环境的项目环境,设置项目内API的请求地址前缀、全局变量、额外参数等信息。可以一键切换项目环境而不需要修改API文档。
创建项目环境:
请求地址前缀
给项目内所有API加上统一的请求地址前缀。
额外请求头部
给 API 加上统一的请求头部。
额外Form-data请求参数
如果API的请求体是Form-data类型,则会加上额外的请求参数。
切换环境
如图位置,可切换环境
2.4、项目管理
一键快速生成API接口文档
可以将项目的API文档导出为多种离线格式,方便分享给团队以外的人。
支持多种导出格式:
支持导出指定分组的api文档
统计分析
对项目管理者来说,要能快速直观地了解这个项目的情况,有一个统计分析报表,是非常重要的
api测试用例报告
项目管理者细节跟进:可查看所有的api测试用例报告,清晰地了解,api都有什么问题及时发现问题,并组织或分享问题及解决方案,提高研发效率。
测试用例报告详情:
三、总结
我们来回顾下,本次分享介绍了什么是API研发管理,传统的研发流程的api管理有大量的痛点,涉及开发人员,测试人员和项目管理人员,虚竹哥给出了一个建议解决方案:“道、法、器、术” 四字口诀。
分享了理论基础的同时,也分享了如何在协作工具eolink上运用理论知识,理论与实践的结合,才是分享鸡汤又给勺子的正确打开方式。