API 研发效能提升实战

用户头像
xiuxiuing
关注
发布于: 2020 年 12 月 14 日

现在的互联网行业已经不是大鱼吃小鱼的时代了,而是快鱼吃慢鱼的时代,具体来讲就是从用户需求转化成企业服务的能力,其中研发效能的高低对用户需求转化速率起到了至关重要的作用,而API服务的研发效能是当中非常重要的一环。



随着公司的发展,研发人员越来越多,公司产品多元化,模块复杂度不断提升,API的研发效能也成为了决定公司研发能力的关键因素之一,同时对API研发管理,研发效率也有了新的挑战:

挑战

  1. 接口协议同步不及时:API接口定义多是文档化管理,文档更新往往不及时,当接口协议发生变化时,无法及时同步给前端、测试等团队。

  2. 自动化水平低:测试用例一般通过Excel、Xmind等维护,需要手工测试,每次回归测试都需要人工手动执行测试用例,大大占用测试资源。

  3. 联调周期长:每次联调可能涉及多个模块,几个研发团队协作,一方出现问题,就会卡住整个流程,拖慢联调进度。

  4. 提测质量无法保证:研发自测不充分,冒烟测试用例执行情况无法量化,导致提测质量参差不齐,

  5. 性能压测:性能测试门槛高,压测机器碎片化无法统一管理,缺乏专业的性能分析。

愿景:

  1. 接口协议更新能够及时同步。

  2. 减少前端、后端、测试等团队间的依赖。

  3. 提升接口自动化水平。

  4. 有专业的压测平台。

破局:

学习开源社区的优秀方案,结合公司自身的情况,自研平台



  1. GTest(API管理平台):基于YApi1.3.22版本演进,支持内部RPC协议、接口定义优化、支持集群模式、Chrome插件功能扩展等功能,目前已经完全自主迭代。

  2. 压测平台:基于Gatling开发,支持内部RPC协议压测、动态随机参数、返回值断言等。结合GTest,选择压测模式,让压测像接口调用一样便捷。二次开发了GTest API管理平台,扩展了RPC协议调用、压测平台、GDetector(API监控平台)等功能。

  3. GDetector(API监控平台):支持Ping、Telnet、Http等协议的监测,对接口返回值进行断言,可配置定时规则和告警规则,结合GTest测试集合也支持流程级别的监测。

  4. GDevops(CICD平台):只需简单配置即可进行代码质量监测、规范控制,自动化构建镜像和K8S部署。



从API研发的生命周期来对比一下过去和现在的情况:





案例



研发提测质量:

之前规定研发提测前,需要开发把测试提供的冒烟用例执行一遍,但是这种方式无法保证测试用例的执行情况,也没有数据化的校验结果,比较主观。



依托GTest平台,在几乎不需要人工参与的情况下,根据接口定义的字段规则、字段是否必须等自动生成接口测试用例集合,开发一键即可接口验证,并生成详细的测试报告。对于开发提测的版本,自动化执行冒烟测试集合,减少测试人员的参与,提测质量数据化展示,一目了然。



API业务监控:

之前每个业务上线,都需要业务方自行开发拨测系统用于监控服务的运行情况,各个业务方实现标准不统一,拨测系统本身的稳定性等很难保证。

依托API监控平台,提供标准的定时监测功能、告警功能等,还可以直接复用GTest平台的测试集合进行流程监控。随着监控用例的完善,未来还可以评估线上故障的影响范围,服务恢复情况等。

经验

API研发效能的提升不是一蹴而就的,是一个不断迭代和推进的过程。中间会涉及到前端、后端、测试、运维等多方面的人员。也会有基于技术的问题,基于流程的问题。下面是我们在推进API研发效能提升的一些经验总结:

  1. 引入流程

  2. 小范围试用

  3. 制定标准

展望

API研发效能提升涉及的面非常广,有技术能力上的,也有管理规范上的。对于整个API研发生命周期,每个环节的提升,都会带来API研发效能提升。未来,我们还有很长的路要走,比如 API自动生成平台,API开放交易平台等。如果你有什么问题,也欢迎后台留言交流。



用户头像

xiuxiuing

关注

还未添加个人签名 2013.10.05 加入

还未添加个人简介

评论

发布
暂无评论
API研发效能提升实战