随着测试左移思想的引入, 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 管理与测试过程正面临严峻的挑战的更多相关文章

  1. API管理之YApi实现前后端高度分离

    全手打原创,转载请标明出处:https://www.cnblogs.com/dreamsqin/p/11972789.html,多谢,=.=~ 背景描述   前后端分离已成为互联网项目开发的业界标准使 ...

  2. 基于SpringCloud的Microservices架构实战案例-在线API管理

    simplemall项目前几篇回顾: 1基于SpringCloud的Microservices架构实战案例-序篇 2基于SpringCloud的Microservices架构实战案例-架构拆解 3基于 ...

  3. 选择API管理平台之前要考虑的5个因素

    API(应用程序编程接口)经济的飞速增长导致对API管理平台的需求相应增加. 这些解决方案可在整个生命周期内帮助创建,实施,监控,分析,保护和管理API. 据一些估计,全球API管理市场预计在2018 ...

  4. API 管理在云原生场景下的机遇与挑战

    作者 | 张添翼 来源 | 尔达Erda公众号 ​ 云原生下的机遇和挑战 标准和生态的意义 自从 Kubernetes v1.0 于 2015 年 7 月 21 日发布,CNCF 组织随后建立以来,其 ...

  5. API管理工具介绍

    ​ 时间都去哪里了 敏捷迭代和团队协作,前后端分离的工作模式几乎是每个互联网公司的常规工作模式. 前后端分离,各自开发的优点很多,其中一项是它只需要提供一个统一的API接口,即可被web,iOS,An ...

  6. FREE 开源 API 管理工具等

    最近学习API 管理工具,发现几个不错的东西,记录如下: 1.IBM 收购NODE 厂家  STRONGLOOP 有一产品LOOPBACK,开源,好! 2.apigee  api管理平台 也不错. 3 ...

  7. 论元数据和API管理工具

    公司里面的很多部门都在广泛的采用元数据管理,也采用了公司内部开发的元数据管理工具,有些部门的实施效果一直非常好,而有些部门的效果则差强人意.这个问题,其实和软件系统开发完成进入维护阶段后成本居高不下的 ...

  8. API 管理工具

    API 管理工具 你还苦于无法有效的管理大量的API吗?今天给大家介绍一款API的管理工具.这款工具可以免费使用,虽然中途可能会提示你购买,但并不影响我们的使用. 下载地址: Windows:http ...

  9. Api管理工具(spring-rest-docs)

    对于app开发来说,必须需要有相应的api文档,一般最基础的就是用markdown工具来撰写api文档.当对于开发人员来说,是总会想着寻找更方便撰写,测试,对接前端开发的文档生成的工具. 其实这方面的 ...

随机推荐

  1. ReadWriteLock 接口详解

    ReadWriteLock 接口详解 这是本人阅读ReadWriteLock接口源码的注释后,写出的一篇知识分享博客 读写锁的成分是什么? 读锁 Lock readLock(); 只要没有写锁,读锁可 ...

  2. 【python疫情可视化】用pyecharts开发全国疫情动态地图,效果酷炫!

    一.效果演示 我用python开发了一个动态疫情地图,首先看下效果: 如图所示,地图根据实时数据通过时间线轮播的方式,动态展示数据的变化.随着时间的推移,疫情确诊数量的增多,地图各个省份颜色逐渐加深, ...

  3. Flutter异步与线程详解

    一:前言 - 关于多线程与异步 关于 Dart,我相信大家都知道Dart是一门单线程语言,这里说的单线程并不是说Dart没有或着不能使用多线程,而是Dart的所有API默认情况下都是单线程的.但大家也 ...

  4. Docker容器(container)详解 (转载自http://c.biancheng.net/view/3150.html)

  5. Blazor和Vue对比学习(基础1.7):传递UI片断,slot和RenderFragment

    组件开发模式,带来了复用.灵活.性能等优势,但也增加了组件之间数据传递的繁杂.不像传统的页面开发模式,一个ViewModel搞定整个页面数据. 组件之间的数据传递,是学习组件开发,必须要攻克的难关.这 ...

  6. mybatis xml 中 trim 多余的符号

    <if test="(mac != null and mac != '') or (roomNo != null and roomNo != '') or (bedNo != null ...

  7. Springboot目录结构分析

    1 src/main/java 存储源码 2 src/main/resource 资源文件夹    (1)src/main/resource/static 用于存放静态资源,如css.js.图片.文件 ...

  8. Android Studio中一套代码多版本打包

    一套代码达到以下效果: 打包不同applicationId能同时安装在同一手机上 不同logo,app名称, 不同第三方SDK接入配置(例如微信分享appid,激光推送appkey) 能区分debug ...

  9. Git移除远程已经上传的文件

    我们常常会将本地的一些秘钥文件不小心推送到远端,此时仅仅修改本地的.gitignore文件,然后再提交推送是不能将远端的此文件删除的. 此时可以用下面的命令 git rm --cached filen ...

  10. Fail2ban 配置详解 配置说明

    fail2ban的配置主要由基础配置(fail2ban.conf)和监禁配置(jail.conf)两部分组成. fail2ban的配置采用标签块"[块名]"和键值"key ...