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

服务虚拟化HoverFly入门扫盲

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

什么是服务虚拟化

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

服务虚拟化和之前的Mock有什么区别呢

服务虚拟化和常说的mock有什么区别呢?mock乃至stub都是为了能够跳过无效的系统服务组件而使用的技术,服务虚拟化是通过环境模拟外部依赖的服务(这个服务是正在修改的、或者暂时不可用的、难以访问和配置的)而支持测试活动。

要是说的直白的,服务虚拟化就

相关文章:

  • 踩坑记录——USB键盘睡眠唤醒
  • 【MySQL】官网学习 order by 优化
  • 二叉树广度优先搜索、深度优先搜索(前序、中序、后序)遍历,动图详解-Java/Kotlin双版本代码
  • 【解包裹】基于最小二乘法实现解包裹附matlab代码
  • vim如何进行批量化注释及取消,也在1024表明自己算十分之一的程序员
  • 1024程序员节|【MySQL从入门到精通】【高级篇】(二十七)外连接和内连接如何进行查询优化呢?join的原理了解一波
  • 57.(前端)删除用户操作
  • 手动搭建K8S环境
  • ESP32-C3入门教程 网络篇⑦——基于esp_http_client实现HTTP的POST/GET/PUT/DELETE请求服务器的第三种方法
  • linux Shell入门
  • div与表格应用实例——计算器布局
  • 爬虫的三大库
  • 基于Java+Springboot+Vue+elememt社区疫情防控系统设计和实现
  • 【Linux】yum 与 vim 的基本使用
  • SpringCloudAlibaba【六】微服务架构下的秒杀案例
  • 【知识碎片】第三方登录弹窗效果
  • 2019年如何成为全栈工程师?
  • css布局,左右固定中间自适应实现
  • Js基础——数据类型之Null和Undefined
  • Js基础知识(四) - js运行原理与机制
  • JS专题之继承
  • mysql常用命令汇总
  • React as a UI Runtime(五、列表)
  • scala基础语法(二)
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • win10下安装mysql5.7
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 聊一聊前端的监控
  • 说说动画卡顿的解决方案
  • 与 ConTeXt MkIV 官方文档的接驳
  • PostgreSQL之连接数修改
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • ###项目技术发展史
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • #QT(智能家居界面-界面切换)
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (C#)一个最简单的链表类
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (二)fiber的基本认识
  • (六)Hibernate的二级缓存
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (一)UDP基本编程步骤
  • (转) 深度模型优化性能 调参
  • (转)母版页和相对路径
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • .net core 依赖注入的基本用发
  • .NET Framework Client Profile - a Subset of the .NET Framework Redistribution
  • .Net7 环境安装配置
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .Net的C#语言取月份数值对应的MonthName值
  • .net访问oracle数据库性能问题
  • .NET开源快速、强大、免费的电子表格组件
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递