24 | 紧跟时代步伐:微服务模式下API测试要怎么做?

这篇具有很好参考价值的文章主要介绍了24 | 紧跟时代步伐:微服务模式下API测试要怎么做?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

微服务架构(Microservice Architecture)

        微服务是一种架构风格。在微服务架构下,一个大型复杂软件系统不再由一个单体组成,而是由一系列相互独立的微服务组成。其中,各个微服务运行在自己的进程中,开发和部署都没有依赖。

微服务架构具有以下特点:

  •         每个服务运行在其独立的进程中,开发采用的技术栈也是独立的;
  •         服务间采用轻量级通信机制进行沟通,通常是基于 HTTP 协议的 RESTful API;
  •         每个服务都围绕着具体的业务进行构建,并且能够被独立开发、独立部署、独立发布;
  •         对运维提出了非常高的要求,促进了 CI/CD 的发展与落地。

微服务架构测试挑战

        微服务之间的耦合关系

        假定我们的被测对象是 Service T,但是 Service T 的内部又调用了 Service X 和 Service Y。此时,如果 Service X 和 Service Y 由于各种原因处于不可用的状态,那么此时就无法对 Service T 进行完整的测试。

24 | 紧跟时代步伐:微服务模式下API测试要怎么做?,接口测试,自动化测试,测试,微服务,API测试,自动化测试

        解耦的方式通常就是实现 Mock Service 来代替被依赖的真实 Service。实现这个 Mock Service 的关键点就是要能够模拟真实 Service 的 Request 和 Response。 

基于消费者契约的 API 测试

        下图中 Service T 是被测试对象,进一步假定 Service T 的消费者(也就是使用者)一共有两个,分别是 Service A 和 Service B。

24 | 紧跟时代步伐:微服务模式下API测试要怎么做?,接口测试,自动化测试,测试,微服务,API测试,自动化测试

        Service T 可以对外提供的服务的契约,所以我们把这个测试用例的集合称为“基于消费者契约的 API 测试”。

收集消费者契约的逻辑原理

24 | 紧跟时代步伐:微服务模式下API测试要怎么做?,接口测试,自动化测试,测试,微服务,API测试,自动化测试

         在 Service T 前放置一个代理,所有进出 Service T 的 Request 和 Response 都会经过这个代理,并被记录成 JSON 文件,也就构成了 Service T 的契约。

        微服务架构中往往会存在一个叫作 API Gateway 的组件,用于记录所有 API 之间相互调用关系的日志,我们可以通过解析 API Gateway 的日志分析得到每个 Service 的契约。但是API Gateway 只有面向客户端的服务才会有这一层。内部调用主要靠splunk来获取。

微服务测试的依赖解耦和 Mock Service

        实现 Mock Service 的关键,就是要能够模拟被替代 Service 的 Request 和 Response。

        契约的本质就是 Request 和 Response 的组合,具体的表现形式往往是 JSON 文件,此时我们就可以用该契约的 JSON 文件作为 Mock Service 的依据,也就是在收到什么 Request 的时候应该回复什么 Response。

        如下图,当用 Service X 的契约启动 Mock Service X 后,原本真实的 Service X 将被 Mock Service X 替代,也就解耦了服务之间的依赖

24 | 紧跟时代步伐:微服务模式下API测试要怎么做?,接口测试,自动化测试,测试,微服务,API测试,自动化测试

 文章来源地址https://www.toymoban.com/news/detail-677782.html

到了这里,关于24 | 紧跟时代步伐:微服务模式下API测试要怎么做?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • web应用模式、API接口、接口测试工具postman、如何在浏览器中测试、restful规范、序列化反序列化、基于Django原生编写五个接口、drf介绍和快速使用、drf之APIView源码分析

    目录 一、web应用模式 二、API接口 三、接口测试工具postman postman介绍 postman下载与使用 四、如何在浏览器中测试 五、restful规范(重要) 六、序列化反序列化 七、基于Django原生编写五个接口 八、drf介绍和快速使用 概念 特点(了解一下) 安装 使用drf编写五个接口 九、drf之API

    2024年02月05日
    浏览(59)
  • API测试| 了解API接口测试| API接口测试指南

    什么是API? API是一个缩写,它代表了一个 pplication P AGC软件覆盖整个房间。API是用于构建软件应用程序的一组例程,协议和工具。API指定一个软件程序应如何与其他软件程序进行交互。 例行程序:执行特定任务的程序。例程也称为过程,函数或子例程。 协议:在两个系统之

    2024年02月07日
    浏览(86)
  • API 测试 | 了解 API 接口测试 | API 接口测试指南

    什么是 API? API 是一个缩写,它代表了 一个  pplication  P  AGC 软件覆盖整个房间。API 是用于构建软件应用程序的一组例程,协议和工具。API 指定一个软件程序应如何与其他软件程序进行交互。 例行程序:执行特定任务的程序。例程也称为过程,函数或子例程。 协议:在两

    2024年02月01日
    浏览(42)
  • 紧跟国家“新能源+”模式!涂鸦智慧能源方案助力夏季用电节能提效

    “今天的你是几分熟?” 今年夏天,高温来得比往年更早,五六月份就提前开启了滚滚热浪模式,京津冀和山东等地最高气温也一度突破了历史极值。在提前到来的高温“烤”验下,全社会供电能力面临着极大挑战。 中国电力网预计,2023 年全国用电量将同比增长 6% 至 8%。

    2024年02月16日
    浏览(54)
  • API 测试 | 了解 API 接口概念|电商平台 API 接口测试指南

    什么是 API? API 是一个缩写,它代表了一个 pplication P AGC 软件覆盖整个房间。API 是用于构建软件应用程序的一组例程,协议和工具。API 指定一个软件程序应如何与其他软件程序进行交互。 例行程序:执行特定任务的程序。例程也称为过程,函数或子例程。 协议:在两个系统

    2024年02月13日
    浏览(39)
  • 怎么调用api接口

    1 .API接口是一种通信协议,用于不同的应用程序之间的数据交换。要编写API接口,需要遵循以下步骤: 确定API的用途和功能。 设计API接口,并确定所有输入和输出参数。 编写API代码,包括数据验证、逻辑处理和错误处理。 将API暴露给外部应用程序,通常是通过RESTful或SOAP协

    2024年02月07日
    浏览(51)
  • api应该怎么用?(简单方便的API接口方法)

    1.API简单来说就是接口。windows API是windows操作系统开发的接口,用于控制系统中的各种应用程序。 2.在哪里可以找到API?VB6.0自带WindowsAPI的搜索工具,可以根据搜索到的接口自动生成声明语句。在Windows开始菜单栏找到api浏览器,打开api浏览器——然后导入win 32 API . txt——搜索我们

    2024年02月15日
    浏览(43)
  • java怎么写接口,java开发api接口教程

    在大家的工作中,经常写界面。 而且,最常用的是http接口。 但是,对于初学者Java工作人员来说,写http界面还很难。 那么,用实例来说明吧。 一、建设项目 首先,生成SpringBoot项目。 省略如何构建此处,并引入相关依赖关系: org.springframework.boot artifactIdspring-boot-starter /从属

    2024年02月05日
    浏览(191)
  • 什么是API接口测试

    API 是“应用程序编程接口”的缩写,是一种允许不同应用程序之间相互通信和交换数据的接口。就好像在餐厅点餐一样,你只需要告诉服务员你想要的食物,而不需要了解厨房中的具体操作,服务员会把你的订单传递给厨房,然后将厨师烹饪好的食物提供给你。在这个过程中

    2024年02月08日
    浏览(34)
  • ChatGPT api 接口调用测试

    参考文档: 示例说明: 本示例会生成一个简单的ChatGPT api接口调用server程序,该程序可以给用户输入的宠物类别为宠物取三个名字。打开网页后,会看到用户输入界面,输入宠物类别,比如cat,然后回车,界面中会给出三个宠物名字。 运行环境、条件: 1.系统:ubuntu20.04 或

    2024年02月06日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包