¡Descubra las novedades de MISRA C:2012 AMD3 y cómo obtener la cobertura MÁS AMPLIA con C/C++test 2022.2! Ver a pedido >>

Herramientas de virtualización de servicios

Por Adam Attanasio

20 de diciembre de 2022

4  min leer

¿Está buscando los beneficios de las herramientas de virtualización de servicios y cómo elegir la adecuada para sus equipos de desarrollo y prueba? Siga leyendo para conocer las capacidades que debe incluir en su lista de verificación y las principales herramientas de SV.

¿Qué son las herramientas de virtualización de servicios?

Herramientas de virtualización de servicios Brinde a los equipos la capacidad de probar un sistema completo incluso cuando algunos de sus componentes aún estén en desarrollo. Exploremos los muchos atributos de la virtualización de servicios (SV) y comparemos las mejores herramientas que ofrece la industria.

¿Por qué es importante la virtualización de servicios?

La virtualización de servicios es un método que los equipos de desarrollo utilizan para simular el comportamiento de los componentes de una aplicación. Estos componentes pueden ser API, bases de datos, redes, dispositivos y más.

Los equipos de desarrollo utilizan la virtualización de servicios porque es posible que algunos componentes del proyecto no estén disponibles para fines de prueba cuando sea necesario. Aquí hay algunas razones por las que los componentes podrían no estar listos.

  • Los desarrolladores todavía los están construyendo.
  • Problemático para configurar o acceder.
  • Difícil de configurar o aprovisionar en un entorno de prueba.
  • Los terceros pueden ser propietarios de los componentes o cobrar una tarifa para acceder a ellos.
  • Solo disponible para fines de prueba en momentos que no son convenientes o en una capacidad limitada.
  • Diferentes equipos pueden necesitarlos al mismo tiempo, cada uno con varias configuraciones de datos y otras necesidades.
  • Los probadores pueden encontrar que son restringidos o costosos de usar para pruebas de rendimiento y carga.

Mediante la simulación de dependencias posteriores, los equipos de desarrollo pueden superar obstáculos como estos, y los equipos intercambian la funcionalidad real por respuestas y comportamientos simulados. Cuando se usa correctamente, la virtualización de servicios obliga al sistema a comportarse exactamente como lo haría si el componente estuviera completo y disponible.

La virtualización de servicios actúa como un simulador de vuelo para aplicaciones. Los probadores prueban las deficiencias durante el desarrollo y ayudan a los equipos a abordar los problemas potenciales para que el avión no se estrelle.

Beneficios de la virtualización de servicios

El uso de SV ahorra dinero, tiempo, frustración y dolor de cabeza. El desarrollo no se detiene mientras los miembros del equipo esperan componentes terminados de otras áreas. Esto se debe a que la virtualización de servicios brinda a los equipos acceso ubicuo a entornos de prueba emulados. Por lo tanto, los equipos evitan cualquier conflicto de "nosotros contra ellos". Otros beneficios incluyen una precisión de prueba mejorada y un tiempo de comercialización más rápido.

Herramientas de virtualización de servicios y lo que hacen

Además de simular el comportamiento real de los componentes del sistema, las herramientas SV también pueden duplicar partes no funcionales del sistema, como conexiones y tiempos de respuesta lentos.

Las herramientas SV pueden incorporar coincidencias de solicitudes complejas, lo que permite que la prueba brinde diferentes respuestas para varios tipos de solicitudes. Algunos servicios virtuales brindan un grupo de respuestas auxiliares para los criterios de solicitud que brindan los probadores y luego envían todas las demás solicitudes a un sistema operativo backend. Otros simulan el comportamiento del sistema cuando el SV construye partes de la respuesta en función de los atributos y datos de la solicitud.

Aquí hay más características útiles:

  • SV implementa un gemelo digital de su entorno de prueba para usarlo como espacio aislado para el desarrollo de socios o como punto final virtual para pruebas internas.
  • Los desarrolladores capturan el tráfico mediante una plataforma SV para crear activos virtuales, en lugar de crear el patrón interactivo desde cero.
  • SV admite varios protocolos, como HTTP, MQ, TCP y muchos más.
  • Las herramientas SV a menudo cuentan con interfaces de usuario que permiten a los que no son desarrolladores usar las herramientas sin tener que comprender los detalles del proyecto.

Pasos antes de elegir una herramienta de virtualización de servicios

Antes de que los equipos comiencen a invertir tiempo, dinero y esfuerzo en SV, haciendo algo de investigación y la preparación es ventajosa.

  1. Realizar un análisis adecuado de los casos de prueba.
  2. Identificar datos de prueba.
  3. Determine la carga objetivo, cuando corresponda.

Para aprovechar todo el valor de la virtualización de servicios, es importante asegurarse de que la herramienta satisfaga y admita las necesidades de prueba de su equipo. De lo contrario, se volverá demasiado complejo y costoso de mantener.

9 capacidades que hacen que las herramientas SV sean fáciles de usar

Aquí hay nueve capacidades a considerar en una herramienta que podría hacer que la virtualización de servicios sea más fácil de usar para su equipo.

1 – Funcionalidades sin script

Los equipos de desarrollo deberían poder crear servicios virtuales sin tener que escribir ningún código. En cambio, un sistema de herramientas visuales es ideal. Por lo general, la persona que necesita un servicio virtual es un probador, que tiene menos detalles técnicos de primera mano sobre cómo se implementaron los servicios.

2 – Creación rápida de servicios virtuales antes de la disponibilidad del servicio real

Aprovechar los servicios virtuales como prototipos antes de que el servicio real esté disponible es muy ventajoso. Con esta característica, los equipos pueden crear interfaces para componentes dependientes de la aplicación antes de que estén listos.

3 – Correlación de respuesta inteligente

Esto significa que la herramienta de virtualización de servicios puede responder de manera diferente según las solicitudes que ingresen. Los diferentes tipos de correlación de respuesta a considerar incluyen:

  • Protocolo de implementación
  • Correlación de mensajes
  • Correlación de fuente de datos

4 – Respuestas basadas en datos

Las respuestas basadas en datos brindan a los equipos la flexibilidad de crear lógica de manera abstracta. Pueden conectar servicios virtuales a fuentes de datos como Excel, CSV, bases de datos tabulares, jerárquicas y en vivo para realizar búsquedas de datos en tiempo real.

5 – Capacidad de reutilización de servicios

Los equipos de desarrollo pueden trabajar juntos para definir servicios centrales, comunes o compartidos, y luego reutilizar esas plantillas y lógica en otros servicios virtuales varias veces.

6 – Un marco de extensibilidad personalizado

Tener la capacidad de usar scripts pero no limitarse a un solo idioma es útil si necesita escribir código para realizar tareas como generar un token propietario o un identificador único.

7 – Soporte para Autenticación y Seguridad

Con este tipo de soporte, su equipo puede validar la seguridad de la capa de transporte entrante, como los certificados SSL, e interactuar con los servicios en vivo durante la grabación, que podría regirse por mecanismos de autenticación como OAuth, Basic Auth, Digest, Kerberos, NTLM y más. .

8 – Entornos de rendimiento configurables

Habilitar las pruebas de rendimiento permite a los equipos realizar pruebas de rendimiento en etapas anteriores y reduce la dependencia exclusiva de entornos de prueba completos. Los equipos pueden centrarse con láser en SLA de componentes específicos mediante el uso de servicios virtuales para emular dependencias fuera del alcance. Pueden crear entornos de rendimiento al rodeando la aplicación con servicios virtuales.

9 – Soporte para agrupamiento y escalado

Como tu desempeño el equipo adopta la virtualización de servicios y aumenta el uso general, necesitará una herramienta que permita el escalado, que puede manifestarse de dos formas: alto rendimiento y tolerancia a fallas. A escalado de soporte, querrá una herramienta que se pueda agrupar detrás de un balanceador de carga para que pueda distribuir la carga asignada a su infraestructura de virtualización de manera adecuada. También querrá una herramienta que pueda mantener la paridad de activos a medida que modifica diferentes servicios virtuales en nodos individuales.

Más capacidades de la herramienta SV a considerar

Es importante tener en cuenta las capacidades asociadas con la optimización de los flujos de trabajo, la automatización, el soporte para la administración y el mantenimiento y las tecnologías compatibles en su búsqueda de la mejor herramienta de virtualización de servicios. Más información aquí.

Las mejores herramientas de virtualización de servicios

Comparamos las características, los beneficios y las capacidades de las principales herramientas comerciales de virtualización de servicios.

Principales CaracteristicasBeneficiosDesventajasPrecios
Virtualización de ParasoftCree activos virtuales complejos sin secuencias de comandos para más de 120 tipos de mensajes.Integración con Parasoft SOAtest (pruebas de API) y Selenic (pruebas de interfaz de usuario), así como herramientas de CI e IDE de la industria.La solución totalmente integrada requiere una configuración adicional.Comuníquese con Parasoft para solicitar una cotización.

parasoft.com/contacto/
El administrador de entornos basado en la web facilita las configuraciones de prueba.El enfoque modular del diseño de servicios virtuales permite un mantenimiento más sencillo.Precio publicado no disponible
La virtualización con estado permite escenarios con estado complejos.Fácil creación de activos virtuales sin secuencias de comandos, incluso para cosas complejas como CRUD.Sin oferta de SaaSDescarga la versión gratuita para empezar.

software.parasoft.com/virtualize/community-edition/
El modelado y la generación de datos de prueba virtual incluye el enmascaramiento de datos confidenciales.Amplio soporte para diferentes tecnologías y protocolos.
Recopile y exponga informes de utilización y estadísticas de aciertos.Profundo soporte de productos de clase mundial.
Simulacro de alambre (UP9)Genere automáticamente simulacros listos para Kubernetes y casos de prueba codificados.Precios transparentesSin código bajo. Requiere secuencias de comandos.up9.com/precios/
Mocking integrado con monitoreo, prueba, seguridad y observabilidad de la API UP9.Fácil de descargar y probar.Soporte de funcionalidad y protocolo limitado.
Simula API basadas en HTTP.Fuente abiertaPocas opciones de integración.
Fácil de usar para casos de uso simples.Sin soporte .NET.
Sin apoyo de equipo ni servicios profesionales.
Loro de tráficoSimulacros de API predefinidosFacilidad de despliegueLos simulacros de API tienen un alcance y una complejidad limitados.Modelo de licencia asequible y plan de costos para las necesidades de nivel de entrada.

trafficparrot.com/buy.html
Compatibilidad con contenedores efímeros, infraestructura como código, CI/CD y Kubernetes.Descentralizado con interfaz de usuario web. Nube o máquina virtual. Sin opción local.Gestión de usuarios. Si implementa Traffic Parrot en un entorno compartido, quien tenga la URL de Traffic Parrot WebUI podrá acceder a ella sin restricciones.
Admite los principales protocolos y se ejecuta en OpenShift.Basado en WireMock de código abierto.No permite personalizar flujos de trabajo más complejos. En su lugar, usted mismo escribe complementos/extensiones personalizados en Java.
Se integra con entornos de CI populares y otras herramientas de desarrollo/prueba.Se burla como código. Integraciones con Docker y Jenkins.No hay ediciones "gratuitas" disponibles.
Virtualización SmartBear ReadyAPI (ServiceVPro)Anteriormente ServiceVPro, ahora integrado con SoapUI Pro y LoadUI Pro para pruebas y simulación de API.Se integra fácilmente con la suite ReadyAPI y un gran ecosistema de otras herramientas SmartBear.Capacidades de informes deficientes.Los precios a la carta facilitan la elección del producto que desea.
Ejecute servicios virtuales desde el navegador, la nube o el cliente local, en una máquina o imágenes remotas.Gran comunidad y herramientas de código abierto.La generación de código no siempre es fluida.Prueba gratis: smartbear.com/product/ready-api/api-virtualization/free-trial/

Precios: smartbear.com/product/ready-api/precios/
Importe OAS, WSDL u otras definiciones de API o registre el tráfico de API o UI en vivo para comenzar.Admite protocolos de mensajería populares (HTTP, REST, SOAP, JMS y JDBC).Soporte de protocolo limitado.Precios disponibles para el módulo de virtualización en línea. Envíe una solicitud de cotización de paquete.
Analice el tráfico y el rendimiento del servicio virtual desde una interfaz de usuario web.No requiere un conocimiento técnico profundo o experiencia en codificación para comenzar.Incapaz de manejar cargas pesadas.
Configure parámetros para múltiples escenarios, incluida la capacidad, el ancho de banda y los errores.Interfaz de usuario obsoleta
Microenfoque (HP)Cree rápidamente simulaciones realistas de API y servicios virtuales.Amplio soporte para diferentes tecnologías y protocolos.Soporte limitado para herramientas modernas como Kubernetes.Precios complicados con un alto costo inicial.
Las funciones de virtualización de servicios están integradas con LoadRunner y la suite UFT (Unified Functional Testing).Fácil de usar, pero requiere el uso de lenguaje de secuencias de comandos (Visual Basic).No es de código bajo, requiere una gran cantidad de secuencias de comandos.Licencia flexible y modelo de implementación.
Pruebas de carga a gran escala para escenarios de simulación de rendimiento realistas sin afectar la producción o los sistemas de terceros.Simulaciones orientadas a datos.La solución incluye múltiples ofertas obtenidas a través de adquisiciones de diferentes proveedores.Contacto: microfocus.com/en-us/products/uft-one/contact

Prueba gratuita disponible: microfocus.com/en-us/products/uft-one/free-trial

Repositorios compartidos y bibliotecas compartidas de activos de simulación reutilizables.Interfaz basada en webFormatos limitados admitidos para informes.
Utiliza Excel para servicios más grandes en lugar de una implementación basada en SQL.
CarteroCentrado principalmente en las pruebas de API con cierto soporte para la simulación de API.Herramienta ligera que ocupa poco espacio y una interfaz de usuario sencillaSolo tiene herramientas ligeras de simulación estática. No realiza una verdadera virtualización de servicios.Múltiples planes de precios. La facturación puede ser anual o mensual por una prima.

cartero.com/precios/
Colaboración a través de espacios de trabajo para organizar el desarrollo de API.Integrado en la plataforma de prueba de API para simulación, seguridad y gobernanza.Soporte de protocolo muy limitado
Soporte nativo de GitOpciones de nubeLos escenarios más complejos requieren secuencias de comandos extensas.
BroadcomSupervisa el tráfico entre los sistemas dependientes y de destino para automatizar la creación y actualización de servicios virtuales.Simulaciones de servicios y aplicaciones que modelan con precisión el comportamiento del sistema.Modelo de precios complejo con costos ocultos.Comuníquese con un socio o distribuidor de Broadcom para obtener una cotización.

broadcom.com/how-to-buy/socio-distribuidor-búsqueda
SV Java API Client permite a los desarrolladores acceder a las funcionalidades y servicios virtuales de SV en código Java.Las secuencias de comandos son útiles para los equipos de desarrollo.Requiere secuencias de comandos para la mayoría de los servicios.
La capacidad de autorreparación inteligente simula automáticamente las respuestas.Ejecute pruebas en toda la pila para validar las API en cada capa de una aplicación compleja de varios niveles.Soporte limitado a través de socios.Edición comunitaria gratuita disponible a pedido.
Incluye capacidades integradas para pruebas funcionales, de interfaz de usuario, móviles y de rendimiento automatizadas.Soporte de mainframe y multiprotocolo.Cliente grueso difícil de usar.
Integración con herramientas de desarrollo y test.Desarrollo y pruebas en paralelo.Caro y requiere muchos recursos.
Vea cómo su equipo puede probar continuamente con Parasoft Virtualize.

Por Adam Attanasio

Adam Attanasio es gerente de producto de Parasoft Continuous Quality Platform, enfocado en mejorar la experiencia de las pruebas de API y UI y dedicado a ayudar a los clientes a elegir las soluciones de prueba adecuadas. Con más de 15 años de experiencia en TI, Adam trabaja con empresas para centrarse en la colaboración, la eficiencia y la calidad.

Reciba las últimas noticias y recursos sobre pruebas de software en su bandeja de entrada.