彩票走势图

什么是服务虚拟化?|附工具和测试示例

原创|行业资讯|编辑:况鱼杰|2020-12-02 15:32:02.297|阅读 362 次

概述:什么是服务虚拟化?请继续阅读,了解如何使用服务虚拟化来轻松访问阻碍开发和测试的组件。服务虚拟化正在成为客户测试策略的关键组成部分,因此,我们往往会收到很多关于它的问题。以下是一些解释。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

什么是服务虚拟化?请继续阅读,了解如何使用服务虚拟化来轻松访问阻碍开发和测试的组件。服务虚拟化正在成为客户测试策略的关键组成部分,因此,我们往往会收到很多关于它的问题。以下是一些解释。


服务虚拟化定义

简而言之,服务虚拟化为团队提供了对阻碍开发和测试的受限组件的轻松访问。这通常表现为环境约束,即为了实现完整的端到端功能,需要那些在技术上不在测试范围内的组件。

通过服务虚拟化,你可以通过模拟那些下游的依赖关系,用模拟的行为来换取真实的功能,从而消除这些约束。如果做得正确,系统的行为就像实际组件可用一样。

因此,您可以通过提供对准确的仿真测试环境的无处不在的访问来消除调度限制。而且,您可以通过提供对不断发展的、不可用的或其他难以访问的依赖系统的快速访问来消除流程瓶颈。正如维基百科的服务虚拟化条目所言,这些依赖系统可能是:

  • 尚未完成
  • 仍在发展中
  • 由第三方或合作伙伴控制
  • 只能在有限的容量或不方便的时间内进行测试。
  • 难以在测试环境中提供或配置。
  • 需要不同的团队同时访问,并有不同的测试数据设置和其他要求。
  • 负载和性能测试的使用受到限制或成本较高。

维基百科的条目继续很好地描述了这一点:

它不是虚拟整个系统,而是只虚拟对执行开发和测试任务至关重要的依赖性行为的特定片段。这就提供了足够的应用逻辑,使开发人员或测试人员得到他们所需要的东西,而不必等待实际服务的完成和随时可用。

例如,您不需要虚拟整个数据库(并执行所有相关的测试数据管理以及为每个测试会话设置数据库),而是监控应用程序如何与数据库交互,然后模拟相关的数据库行为(传递给数据库的SQL查询,返回的相应结果集等等)。


为什么服务虚拟化很重要?

为了快速实现质量,必须不受限制地访问值得信赖的现实测试环境。重要的是要认识到,一个完整的测试环境包括被测应用程序(AUT)及其所有依赖性组件(如API、第三方服务、数据库、应用程序和其他端点)。

服务虚拟化使 DevTest 团队能够访问完整的测试环境,包括所有关键的依赖性系统组件,并以分期测试环境无法实现的方式改变这些依赖性组件的行为,使您能够更早、更快、更完整地进行测试。它还可以让你隔离应用程序的不同层来进行调试和性能测试。


进入完整的测试环境

在当今快节奏的迭代开发周期下,DevTest团队需要尽早获得一个完整的测试环境,以便:

  • 在每个用户故事完成后立即验证其功能。
  • 一旦完成,立即验证每个用户故事的影响。
  • 在流程早期进行更全面的测试
  • 完成自己的DevTest任务,即使另一个团队正在与当前的迭代并行实施或开发一个依赖性组件。

服务虚拟化可以提供对任何依赖性组件的访问,这些组件在你的测试环境中是缺失的或受到限制的。第三方服务、API、数据库、主机、ESB和其他使用通用消息协议通信的组件。服务虚拟化的主要候选者包括既是依赖性组件。

  • 中等(或更多)难以访问测试--例如,由于时间安排冲突、访问费用、许可、地缘政治边界等原因。
  • 中等(或更多)复杂的测试配置。

例如,一个内部服务可能很容易从阶段性测试环境中访问,而且配置简单。另一方面,一个复杂的消息队列可能更难在阶段性测试环境中站立起来,并且在测试配置方面更具挑战性。在极端的情况下,大型机或ERP系统将有多种与DevTest访问相关的限制,以及对您配置它进行测试的能力的明显限制。利用服务虚拟化可以确保测试环境可以按需访问。它消除了访问限制,减少了与重复配置相关的开销。


改变依赖组件的行为

服务虚拟化还可以让您控制依赖组件的行为。要改变与AUT的每个依赖组件相关联的网络或硬件的配置是非常困难的。面对阶段性测试环境,表现出比生产中更慢的性能也是很常见的。

使用服务虚拟化,您可以更好地控制依赖性的响应方式。这使您可以按需访问更广泛的依赖行为(就像飞行模拟器一样)。因此,您可以更快更准确地评估发布候选版本的风险。

例如,您可以模拟不同的依赖行为,以:

  • 检查您的AUT如何响应依赖性的性能变化。即使在一个依赖性经历高延迟时,用户能否完成核心事务?低延迟场景是否会暴露并发问题?
  • 隔离被测组件,以了解意外行为是否源于依赖性问题或您的AUT。
  • 将完整的测试环境设置为不同的状态,并在这些背景下验证您的AUT的安全性和弹性。


改变附属组件的数据

虚拟服务不需要总是用实际系统中的实际数据来响应。事实上,从虚拟服务中提供意外的数据有很多好处。虚拟服务与其数据源分离,这使得生成适合不同团队需求的响应数据的灵活性大大提高,例如:

  • 想要防范应用程序中的畸形响应或负面行为的开发团队可以生成提供负面行为的服务响应。
  • 想要验证服务如何处理非名词响应的测试团队可以返回响应中的非法字符。
  • 想要了解大的有效负载响应的影响的性能团队可以提供来自依赖组件的大于正常的响应。

通过在这些类型的情况下模拟不同的服务数据,您可以在测试中获得更大的灵活性。


服务虚拟化的实际好处

当然,我们在这里只是触及到了表面。在企业中部署服务虚拟化有很多好处。采用服务虚拟化这一尖端测试实践的企业报告说,他们的缺陷更少,测试覆盖率更好,测试执行率更高,测试时间大大减少。

您可以免费下载Parasoft的企业服务虚拟化解决方案。




标签:软件测试技术虚拟化Parasoft

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP