Parasoft Virtualize告诉你什么是服务虚拟化!
什么是服务虚拟化?继续往下阅读将了解如何使用服务虚拟化轻松访问阻碍开发和测试的组件。
服务虚拟化正在成为客户测试策略的关键组成部分,所以我们往往会对此提出许多疑问。以下是一些相关解释。
服务虚拟化的定义
简而言之,服务虚拟化使团队可以轻松访问阻碍开发和测试的受约束组件。通常表现为环境约束,其中需要技术上超出测试范围的组件来实现完整的端到端功能。
通过服务虚拟化,您可以通过模拟这些下游依赖项并使用模拟行为交换实际功能来消除这些约束。正确完成后,系统的行为就像实际组件可用一样。
因此,您可以通过提供对精确模拟测试环境的随时访问来消除调度约束。您可以通过快速访问不断发展,不可用或难以访问的相关系统来消除流程瓶颈。如维基百科关于服务虚拟化的解释,这些依赖系统可能是:
- 尚未完成
- 仍在不断发展
- 由第三方或合作伙伴控制
- 仅可在有限的容量或不方便的时间进行测试
- 在测试环境中难以配置
- 需要不同团队同时访问各种测试数据设置和其他要求
- 用于负载和性能测试的限制或成本高昂
维基百科继续就此进行了描述:
“它不是虚拟化整个系统,而是仅虚拟化对执行开发和测试任务至关重要的特定依赖行为片段。这提供了足够的应用程序逻辑,以便开发人员或测试人员可以获得他们所需的内容,而无需等待实际服务的完成并随时可用。”
“例如,不是虚拟化整个数据库(并执行所有相关的测试数据管理以及为每个测试会话设置数据库),而是监视应用程序与数据库的交互方式,然后模拟相关的数据库行为(SQL传递给数据库的查询,返回的相应结果集等等。”
为什么服务虚拟化很重要?
为了快速实现质量,必须无限制地访问值得信赖且真实的测试环境。重要的是要认识到完整的测试环境包括被测应用程序(AUT)及其所有相关组件(例如API,第三方服务,数据库,应用程序和其他端点)。
服务虚拟化(Parasoft Virtualize)使DevTest团队能够访问完整的测试环境,包括所有关键的从属系统组件,以及以分阶段测试环境无法实现的方式改变这些相关组件的行为 - 使您能够更快,更高效,更完整地进行测试。它还允许您隔离应用程序的不同层以进行调试和性能测试。
访问完整的测试环境
凭借当今快节奏的迭代开发周期,DevTest团队需要尽早访问完整的测试环境,以便:
- 完成后,立即验证每个用户素材的功能
- 一旦完成,就验证每个用户故事的影响
- 在此过程的早期执行更全面的测试
- 即使另一个团队正在与当前迭代并行地实现或发展依赖组件,也要完成他们自己的DevTest任务
服务虚拟化可以提供对测试环境中缺失或受限的任何相关组件的访问:第三方服务,API,数据库,大型机,ESB以及使用通用消息传递协议进行通信的其他组件。服务虚拟化的主要候选者包括以下两者的依赖组件:
- 中等(或更多)难以进行测试 - 例如,由于计划冲突,访问费,许可,地缘政治界限等。
- 适合(或更多)复杂配置进行测试
例如,可以从分阶段测试环境轻松访问内部服务,并且配置简单。另一方面,复杂的消息队列在分阶段测试环境中可能更难以站立,而配置测试则更具挑战性。在极端情况下,大型机或ERP系统将具有与DevTest访问相关联的多个约束,以及对其配置用于测试的能力的明显限制。利用服务虚拟化可确保按需访问测试环境。它消除了访问限制并减少了与重复配置相关的开销。
改变依赖组件的行为
服务虚拟化还使您可以控制相关组件的行为。很难改变与AUT的每个从属组件相关联的网络或硬件的配置。面对阶段性测试环境也很常见,这些测试环境的性能低于您在生产中遇到的性能。
使用服务虚拟化,您可以更好地控制依赖关系的响应方式。使您可以按需访问更广泛的依赖行为。因此,您可以更快,更准确地评估候选发布版的风险。
例如,您可以模拟不同的依赖行为:
- 检查您的AUT如何响应依赖项中的性能变化。即使一个依赖项遇到高延迟,用户是否可以完成核心事务?低延迟方案是否会暴露并发问题?
- 隔离测试中的组件以了解意外行为是否源于依赖性问题或来自AUT
- 将完整的测试环境设置为不同的状态,并在这些环境中验证AUT的安全性和弹性
改变从属组件的数据
虚拟服务不需要始终响应实际系统中的实际数据。实际上,从虚拟服务中提供意外数据有很多好处。虚拟服务与其数据源分离,这使得生成适合不同团队需求的响应数据具有更大的灵活性,例如:
- 希望在应用程序中防止格式错误的响应或消极行为的开发团队可以生成提供负面行为的服务响应。
- 想要验证服务如何处理非名义响应的测试团队可以在响应中返回非法字符。
- 想要了解大型有效负载响应影响的性能团队可以提供来自相关组件的大于正常的响应。
通过在这些类型的情况下模拟不同的服务数据,您可以在测试中获得更大的灵活性。
服务虚拟化的实际好处
当然,我们刚刚在之前提到的观点略微表面。在组织中部署服务虚拟化其实有诸多好处。采用服务虚拟化最前沿测试实践的企业报告缺陷较少,测试覆盖率更高,测试执行率更高,测试时间大大减少。
温馨提示:您可以免费下载 Parasoft Virtualize 并对以上观点进行测试 ~
为什么选择Parasoft Virtualize?
Parasoft Virtualize 比任何其他服务虚拟化解决方案都更强大,它旨在轻松地从单个用户扩展到整个团队的完整DevOps部署。为了使具有有限专业知识的组织能够快速创建可靠的测试环境,Virtualize的可视化工具和对120多种消息类型的支持可以帮助您从简单到复杂,并且还不需要脚本。
Parasoft Virtualize 是市场上唯一具有直观的基于浏览器的界面,并与 Parasoft SOAtest 无缝集成,可进行集成的API测试,使用户无需编写脚本即可管理测试环境,虚拟服务,测试数据和性能特征的解决方案。它使得部署,配置和配置更加自动化和直接化,从而加速了CI / CD管道。
想要了解Parasoft、Parasoft SOAtest、Parasoft Virtualize更多信息或资源的朋友,请