当前位置: 首页 > news >正文

服务虚拟化HoverFly

在微服务测试中,我们既需要测试的provider服务是否能够正常提供服务,也需要测试consumer服务是否能够正常的调用服务,但是如果仅仅是这样这中间缺少了一层被测件并没有被测试,那就是网关层。
如果要测试网关就需要运行其后面的生产者服务,也就是provider服务。如果provider还需要数据持久化层的支持,那么同样需要建设持久化层。从网关、provider服务、数据持久化层之间还需要网络的连接,这就为测试过程引入了一大堆影响测试结果的因素,这些因素如果出现了不确定的情况导致测试失效就会出发一系列的缺陷流程。在测试失效后,测试工程师会判断是不是被测件也就是网关的缺陷,如果不是就需要确定是误报,那么需要建立技术任务卡,寻求研发帮忙解决对应的问题,从而引起了大量的额外工作,这也是一种极大的浪费。
同时,我们要测试网关,需要一系列的额外服务支持,这样也违反了单一职责原则,服务应该只知道如何部署本身即可,不必关心它所依赖的服务。服务虚拟化就是为了解决上述情况而生的。

什么是服务虚拟化

服务虚拟化技术能够用来模拟服务依赖项的行为。它除了可以帮助我们解决外部服务级别依赖所导致一些问题以外,还可以帮助我们测试不受控的服务以及能够解决引起不稳定的外部因素。例如无法与外部服务器通信、外部依赖服务出现了一些问题、公共API访问次数限制、公共APi访问速度限制等等。

http://www.dtcms.com/a/233442.html

相关文章:

  • 实验科学中策略的长期效应评估学习笔记
  • css实现文字颜色渐变
  • ProfiNet 分布式 IO 在某污水处理厂的应用
  • 人脸识别技术成为时代需求,视频智能分析网关视频监控系统中AI算法的应用
  • 古老界面硬核工具:小兵以太网测试仪(可肆意组包,打vlan)
  • 《认知觉醒》第四章——专注力:情绪和智慧的交叉地带
  • Docker 与容器技术的未来:从 OCI 标准到 eBPF 的演进
  • 基于51单片机的天然气浓度检测报警系统
  • 家庭智能监控系统的安全性
  • Angular报错:cann‘t bind to ngClass since it is‘t a known property of div
  • Git Patch 使用详解:生成、应用与多提交合并导出
  • Mybatis #{} 和 ${}区别,使用场景,LIKE模糊查询避免SQL注入
  • vue前端 多次同步请求一个等一个下载
  • 10.vue.js中封装axioa(3)
  • spring的webclient与vertx的webclient的比较
  • 机器学习——XGBoost
  • Python Einops库:深度学习中的张量操作革命
  • 深度强化学习驱动的智能爬取策略优化:基于网页结构特征的状态表示方法
  • Multi Agents Collaboration OS:Web DeepSearch System
  • delphi7 链表 使用方法
  • 数数科技正式加入上海市人工智能协会,共筑DATA×AI新基建
  • 实数域上的二分
  • UE Learning Record
  • k8S 命令
  • React Navive初识
  • 优化Docker容器化安装与配置的最佳实践
  • Golang面试精解:实现并发安全带过期清理的缓存结构
  • 极限复习c++
  • Spring Plugin框架应用实践:医院多租户客户端动态路由方案解析
  • 【地址区间划分】