首页 > 其他分享 >优测优分享-3分钟全面了解API Moke

优测优分享-3分钟全面了解API Moke

时间:2023-08-01 16:33:36浏览次数:32  
标签:优测 服务 接口 API 构建 Moke 密闭 Mock

一、什么是密闭服务?

Google 测试团队的博客中,有一篇博文介绍的正是《Hermetic Servers(密闭服务)》。如下图所示,当被测试系统依赖了 Another Backend,这种依赖即产生了 “不可控” 因素。

优测优分享-3分钟全面了解API Moke_API

怎么定义密闭服务呢?

如果可以在一台没有网络的机器上启动整个服务并且服务可以按照预期的工作,那么这就称为是一个密闭服务。
但是,图中关系中 Another Backend 服务会依赖其他的服务、中间件... ,最终会形成一个庞大的调用网络,如何解决这个问题呢?答案是:通过 Mock Server。

优测优分享-3分钟全面了解API Moke_API_02

二、为什么需要 API Moke?

2.1 服务规模庞大且复杂
当前在各研发团队中普遍存在的一个问题是服务依赖和接口数量规模越来越大。造成这样一个现状的原因有三个:
● 业务场景复杂度越来越高,如:双十一各大电商平台的玩法越来越复杂。
● 大单体服务 ---> 微服务的演进,服务模块之间的调用变成了微服务之间调用。
● 云原生基础设施使得创建服务变得很简单,研发团队缺少 “克制”。
2.2 挑战&解决办法
一个集群几十个微服务非常普遍,这使得上述中的 “密闭服务” 越来约困难也给开发/测试工作带来很多挑战。这种挑战主要体现在以下几个方面:
● Web 前端依赖复杂联调困难
● 后台开发无法在本地启动服务,无法直接本地开发调试
● 自动化测试活动开展困难
通过 API Mock 帮助构建密闭服务解决以上三个挑战:
● 通过 Mock 解决联调困难问题

优测优分享-3分钟全面了解API Moke_Server_03

前端同事的应用访问 Mock Server,通过合理配置访问 Mock 规则 或者透传到后台服务。

● 自动化测试困难

优测优分享-3分钟全面了解API Moke_Server_04

自动化测试开展困难的,通常主要原因是依赖服务是第三方服务不可控,如:第三方支付接口... ,通过构建 Mock Server 来构建测试密闭环境,解决此问题。

三、实践

3.1 通过接口管理快速导入 API 文档
规范化的 API 管理能力是构建 Mock 的基础,笔者所在团队 HTTP 接口使用 Swagger 统一管理,优测接口管理提供完善的接口托管能力(见下图)。

优测优分享-3分钟全面了解API Moke_API_05

通过上传导入的形式可以对接口进行统一的管理和版本的管控。同时,接口管理的能力支持对接 git 代码仓库和流水线,实现服务和接口管理自动化同步。

同时,优测接口管理支持 RPC 协议托管,包括:PB、tars(腾讯内部 IDL)、Dubbo 等协议接口文档托管能力。

3.2 接口文档基础上构建 Mock 能力

优测优分享-3分钟全面了解API Moke_API_06

通过构建 Mock 能力可以解决 2.2 中的挑战问题。

四、总结

云原生、微服务为服务研发及运维工作带来了很多便捷,同时也带来了诸多挑战。本文从密闭服务概念开始讲起,通过构建 Mock Server 能力解决服务之间依赖问题,提升前端和后台开发者效率。通过优测接口管理和 Mock 的能力构建基础 Mock 能力解决研发、测试过程中环境的 “不可控” 问题。

优测优分享-3分钟全面了解API Moke_微服务_07

优测优分享-3分钟全面了解API Moke_Server_08


标签:优测,服务,接口,API,构建,Moke,密闭,Mock
From: https://blog.51cto.com/u_15943164/6923976

相关文章

  • YAPI部署服务器(Docker)
    【一】YAPI介绍YApi是高效、易用、功能强大的api管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护API,YApi还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的......
  • 为什么大多数restful-api都要求使用POST
    2023年6月20日13:50:561,因为前后端对http的认识差异比较大,而且很多前端开发有些是培训速成或者其他行业转过来的,所以基础知识差异大,你要求他们具备和后端一样的基础知识水平,不太可能2,http协议支持的方法GET方法:获取资源,POST方法:传输实体主题,PUT方法:传输文件,HEAD方法:获取报文首......
  • 【AGC】Publishing API调用问题汇总
    ​【问题背景】开发者可以通过PublishingAPI完成几乎所有应用的管理和发布工作,自己制定自动发布接口。PublishingAPI有很多接口,包括了查询应用信息、更新应用信息、上传文件、提交发布等主要接口。下面总结了一些开发者在使用PublishingAPI过程中容易遇到的问题,供大家在使用时......
  • 一分钟掌握技术术语:API(接口)
    很多产品经理在项目开发过程中经常听到:你调我这个接口就好了;这个功能你写个接口给我;有什么不懂的就看下API接口文档。开发经常说的接口是什么意思呢?术语解释:API(ApplicationProgrammingInterface),简单理解就是程序之间的约定。主要用于满足应用访问另一应用一组例程,但又无需访问源......
  • 亚马逊国际按关键字搜索商品 API 返回值
    item_search-按关键字搜索商品 前往注册开通测试onebound.amazon.item_search公共参数名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等]cacheString否......
  • API数据接口该怎么对接
    随着互联网和移动互联网的发展,API(ApplicationProgrammingInterface)接口的作用越来越重要。API接口将各种平台相互连接,使得不同系统的信息可以互相获取和使用,大大提高了系统的互操作性和开发效率。本文将介绍如何对接API数据接口,以及注意事项和技巧。获取API接口首先需要找到需要......
  • 关于API接口应用
    随着互联网技术的发展,API接口已成为众多应用程序开发中的必备工具,它不仅方便了开发者进行应用程序开发,也为应用程序提供了更多的功能和服务。本文将介绍API接口的概念和应用,以及API接口的优势和未来趋势。一、什么是API接口API是ApplicationProgrammingInterface,即应用程序接口。......
  • 你是一个资深API接口爬虫程序员,现在需要你介绍一下如何通过商品id来获取商品数据并读
    获取商品数据通常需要使用API接口,根据接口文档中的说明传递商品id参数,并使用相应的请求方式(通常为GET请求)向API服务器发送请求即可。以下是一个获取商品数据的示例请求:首先打开API接口文档,找到获取商品数据的API接口。例如:https://api.xxx.com/products/{product_id}API文档中会说......
  • 拼多多按关键字搜索商品 API
    一、拼多多平台优势:1、独创拼团模式拼团拼单是拼多多独创的营销模式,其特点是基于人脉社交的裂变传播,非常具有传播性。由于本身走低价路线,加上拼单折扣,商品的分享和人群裂变效果非常明显,电商前期最难在于吸引用户,拼多多初期利用低价拼团模式,快速大量的分享曝光可以把产品知名度很快......
  • java怎么写接口,java开发api接口教程
    在大家的工作中,经常写界面。而且,最常用的是http接口。但是,对于初学者Java工作人员来说,写http界面还很难。那么,用实例来说明吧。一、建设项目首先,生成SpringBoot项目。省略如何构建此处,并引入相关依赖关系:org.springframework.bootartifactIdspring-boot-starter/从属从属关系or......