传统 API 管理与测试过程正面临严峻的挑战
随着测试左移思想的引入, API (应用程序编程接口)经济的飞速增长导致对 API 管理平台的需求相应增加。越来越多的企业注重并关注接口测试。单纯的做接口测试或者做好接口测试的本质工作其实并不复杂; 我们可以借助接口测试工具辅助我们的工作,或者自己编写代码维护核心接口自动化脚本,单一的来看这些工作的话其实要做到这些并不难,难得是想要把整个过程流程化,规范化可能我们需要花费一定的时间去梳理和制订,下面是我们在测试过程中经常会遇到的一些问题和建议,我把这些整理出来,希望可以对大家起到一些建议性的帮助和正确的引导。
API 文档管理繁琐
目前现状:
API 数量,协议,规范众多
编写文档麻烦,协作效率下降
项目维护成本增加
规范化 API 管理的好处:
统一的 API 文档有助于减少项目维护和沟通成本,无论什么项目、什么人编写什么 API ,系统都可以保证 API 文档的可读性,方便后续维护和团队协作。有一款方便管理、查阅 API 文档,提高日常代码( CV )效率,如果有一款 API 文档管理工具可以大大提高工作效率和高质量交付工作。

API 版本管理弱
目前现状:
API 变更通知不及时
缺少版本管理和对比手段
管理人员对 API 管理的痛点
a. 无法随时清晰的了解当前进度的状态:
Manager 无法从代码层面清晰的看到开发进度,需求排期的情况,是否已经到达提测阶段,是否已经对接和发布都缺少一个平台展示。
b. 发现问题总是滞后
让开发团队编写进度说明比编写开发文档更难,由于缺乏了解问题的渠道,只能通过开会的方式,口头了解问题。但是当问题被说出来时,其实早已滞后了。
以上两个问题不难发现:项目进度管理工具并不完全适用于研发工作,如何规范开发行为、判断开发质量、帮助团队沟通的协作,这些日常问题依然得要人力介入,效果并不好。
管理缺乏工具,针对研发工作需要有深入参与研发的管理工具才行。
管理 API 变更历史:
通过 API 变更通知、 API 评论、 API 版本管理等功能促进团队高效协作,构建敏捷团队。

API 开发协作慢
目前现状:
- 前/后端、测试的工作需要互相等待,无法高效合作;主要体现在以下方面:
a. 前端开发进度受制于后端:单纯API文档缺乏 Mock API ,前端需要等待后端开发完成才能拿到测试数据,自己构造测试数据费时费力。
b. 反复沟通浪费时间:由于文档滞后于代码,而开发经常在开发最后才完善文档,导致前后端对接需要反复沟通确认。
c. 缺少统一沟通平台:如果 API 出现了什么问题,只能在内部通讯工具交流,既没有存档,也不便于多人协作。
d. 文档变更不通知:后端开发改了代码和接口习惯于口头沟通,而不是通过文档明确地指出修改的内容,导致后期沟通成本高昂。
e. 文档阅读体验差:文档不标准、内容不清晰、平台不统一等问题导致最终文档效果也不好,体验越差越不维护,导致破窗效应。
f. 接口测试不方便:需要看着接口文档再另外使用工具进行测试,如果接口发生了变化,写好的测试也作废了,增加了重复工作量。
帮助团队内部进行协作,共享劳动成果:
团队之间没有参与任何沟通协作的内容,缺乏API定义、测试、协作的主动权。

测试维护成本高
目前现状:
维护测试麻烦,每次改动 API 都需要手动维护测试用例
测试时间完全不够充分;主要体现在:
a. 测试工作重复:需要看着接口文档再另外使用工具进行测试,如果接口发生了变化,写好的测试也作废了,增加了重复工作。
b. 工作成果无法分享:每个测试人员都用单机测试工具编写测试脚本,但却没法共享和协作。
c. 测试工作不自动化:一直希望促进自动化测试,但是没有真正运作起来,每天“点点点”依然消耗大量测试团队的精力。
d. 测试效果无法量化:无法准确了解测试效果,没人可以说清今天、昨天、上周、这个月的测试情况如何,和之前比有何改进。
e.** 测试工作被动**:测试总是排在最后进行,无法参与项目讨论,无法进行快速大范围回归测试,甚至无法按时完成测试任务,导致项目延期或带着忐忑上线。
引入管理 API 测试用例工具:
将文档和测试关联起来有助于减少 API 测试和维护测试用例的时间,不再需要一边对照 API 文档,一边打开其他的工具来测试。提高测试人员的工作效率。所有 API 测试数据、用例、报告都在平台中统一管理,减少测试团队的重复工作,让团队成员可以共享工作成果。

自动化测试难
目前现状:
传统 API 自动化测试工具上手门槛高,对成员水平要求高,无法快速在团队推广 API 自动化测试经常受到测试人员编码水平等因素的影响,难以大范围和高效实施。 Eolink 提供的 API 自动化测试可以不编写代码,测试人员进行简单的培训后即可编写复杂的测试用例,通过自动化取代手工来进行重复的 API 测试。
Eolink 工具可以帮助测试团队提高测试效率和测试覆盖率。

以上的问题你在工作中遇到过吗?请问是怎么处理和优化过程的呢?
说出你的心得和感受,请在下面的评论区给我留言互动。
图中所使用的的接口管理工具是eolink,感兴趣可以自行使用:www.eolink.com
传统 API 管理与测试过程正面临严峻的挑战的更多相关文章
- API管理之YApi实现前后端高度分离
全手打原创,转载请标明出处:https://www.cnblogs.com/dreamsqin/p/11972789.html,多谢,=.=~ 背景描述 前后端分离已成为互联网项目开发的业界标准使 ...
- 基于SpringCloud的Microservices架构实战案例-在线API管理
simplemall项目前几篇回顾: 1基于SpringCloud的Microservices架构实战案例-序篇 2基于SpringCloud的Microservices架构实战案例-架构拆解 3基于 ...
- 选择API管理平台之前要考虑的5个因素
API(应用程序编程接口)经济的飞速增长导致对API管理平台的需求相应增加. 这些解决方案可在整个生命周期内帮助创建,实施,监控,分析,保护和管理API. 据一些估计,全球API管理市场预计在2018 ...
- API 管理在云原生场景下的机遇与挑战
作者 | 张添翼 来源 | 尔达Erda公众号 云原生下的机遇和挑战 标准和生态的意义 自从 Kubernetes v1.0 于 2015 年 7 月 21 日发布,CNCF 组织随后建立以来,其 ...
- API管理工具介绍
时间都去哪里了 敏捷迭代和团队协作,前后端分离的工作模式几乎是每个互联网公司的常规工作模式. 前后端分离,各自开发的优点很多,其中一项是它只需要提供一个统一的API接口,即可被web,iOS,An ...
- FREE 开源 API 管理工具等
最近学习API 管理工具,发现几个不错的东西,记录如下: 1.IBM 收购NODE 厂家 STRONGLOOP 有一产品LOOPBACK,开源,好! 2.apigee api管理平台 也不错. 3 ...
- 论元数据和API管理工具
公司里面的很多部门都在广泛的采用元数据管理,也采用了公司内部开发的元数据管理工具,有些部门的实施效果一直非常好,而有些部门的效果则差强人意.这个问题,其实和软件系统开发完成进入维护阶段后成本居高不下的 ...
- API 管理工具
API 管理工具 你还苦于无法有效的管理大量的API吗?今天给大家介绍一款API的管理工具.这款工具可以免费使用,虽然中途可能会提示你购买,但并不影响我们的使用. 下载地址: Windows:http ...
- Api管理工具(spring-rest-docs)
对于app开发来说,必须需要有相应的api文档,一般最基础的就是用markdown工具来撰写api文档.当对于开发人员来说,是总会想着寻找更方便撰写,测试,对接前端开发的文档生成的工具. 其实这方面的 ...
随机推荐
- ReadWriteLock 接口详解
ReadWriteLock 接口详解 这是本人阅读ReadWriteLock接口源码的注释后,写出的一篇知识分享博客 读写锁的成分是什么? 读锁 Lock readLock(); 只要没有写锁,读锁可 ...
- 【python疫情可视化】用pyecharts开发全国疫情动态地图,效果酷炫!
一.效果演示 我用python开发了一个动态疫情地图,首先看下效果: 如图所示,地图根据实时数据通过时间线轮播的方式,动态展示数据的变化.随着时间的推移,疫情确诊数量的增多,地图各个省份颜色逐渐加深, ...
- Flutter异步与线程详解
一:前言 - 关于多线程与异步 关于 Dart,我相信大家都知道Dart是一门单线程语言,这里说的单线程并不是说Dart没有或着不能使用多线程,而是Dart的所有API默认情况下都是单线程的.但大家也 ...
- Docker容器(container)详解 (转载自http://c.biancheng.net/view/3150.html)
- Blazor和Vue对比学习(基础1.7):传递UI片断,slot和RenderFragment
组件开发模式,带来了复用.灵活.性能等优势,但也增加了组件之间数据传递的繁杂.不像传统的页面开发模式,一个ViewModel搞定整个页面数据. 组件之间的数据传递,是学习组件开发,必须要攻克的难关.这 ...
- mybatis xml 中 trim 多余的符号
<if test="(mac != null and mac != '') or (roomNo != null and roomNo != '') or (bedNo != null ...
- Springboot目录结构分析
1 src/main/java 存储源码 2 src/main/resource 资源文件夹 (1)src/main/resource/static 用于存放静态资源,如css.js.图片.文件 ...
- Android Studio中一套代码多版本打包
一套代码达到以下效果: 打包不同applicationId能同时安装在同一手机上 不同logo,app名称, 不同第三方SDK接入配置(例如微信分享appid,激光推送appkey) 能区分debug ...
- Git移除远程已经上传的文件
我们常常会将本地的一些秘钥文件不小心推送到远端,此时仅仅修改本地的.gitignore文件,然后再提交推送是不能将远端的此文件删除的. 此时可以用下面的命令 git rm --cached filen ...
- Fail2ban 配置详解 配置说明
fail2ban的配置主要由基础配置(fail2ban.conf)和监禁配置(jail.conf)两部分组成. fail2ban的配置采用标签块"[块名]"和键值"key ...