X
BLOG

Utilice la virtualización de servicios para ayudar con las falsificaciones / simulaciones

Utilice la virtualización de servicios para ayudar con las falsificaciones / simulaciones Tiempo de leer: 3 minutos

Cómo virtualización de servicios ¿Se relacionan con los golpes y las burlas?

Los interbloqueos son endémicos de los entornos de desarrollo ágiles y paralelos, donde diferentes equipos trabajan simultáneamente en componentes de sistemas interconectados, y cada equipo necesita acceder a los componentes del otro para completar sus propias tareas. Pero cuando un equipo termina esperando el acceso a la funcionalidad dependiente, la agilidad se ahoga.

Un enfoque para solucionar tal disputa para probar los recursos es que cada miembro del equipo cree simples apéndices o simulacros para reemplazar el recurso dependiente. Sin embargo, existen graves riesgos asociados con este enfoque:

  • Es posible que el código auxiliar no represente correctamente el alcance completo del comportamiento final del componente.
  • Los diferentes miembros del equipo pueden estar desarrollando y trabajando con diferentes stubs basados ​​en diferentes suposiciones.

En ambos casos, el resultado final es que la calidad y / o la productividad se verán comprometidas. Si la aplicación se construye en base a una suposición errónea, se podrían introducir defectos (si no se detecta esta discrepancia) o será necesario volver a trabajar (si se detecta la discrepancia). Además, si la aplicación se prueba con una suposición errónea, existe un riesgo significativo de que la funcionalidad "validada" no funcione como se esperaba y de que se hayan pasado por alto otros defectos.

Cómo ayuda la virtualización de servicios con simulacros / stubbing

Si bien los stubs se crean desde la perspectiva del conjunto de pruebas para "omitir" los componentes del sistema no disponibles, virtualización de servicios implica la construcción de activos virtuales para que el comportamiento de los componentes restringidos esté disponible para todo el equipo.

Los usuarios pueden crear el activo y luego validar ese comportamiento con las partes dependientes si es necesario. Con el activo aprovisionado de forma centralizada, todos los miembros del equipo accederán al mismo activo, que expresa el comportamiento esperado. Esto permite una consistencia absoluta y un riesgo reducido de que los defectos se deslicen en el producto final.

La virtualización de servicios sin scripts ayuda a acelerar la adopción de la virtualización, ya sea que se necesiten activos de prueba simples o complejos. Una variedad de tipos de mensajes significa un mejor soporte para su dominio de aplicación previsto.

La virtualización de servicios emula un comportamiento más realista

Además, la virtualización de servicios puede representar un comportamiento mucho más realista que simples stubs y simulacros. Puede capturar el comportamiento actual de los sistemas en vivo o el tráfico registrado, actualizar el comportamiento según sea necesario para cubrir las modificaciones previstas y luego configurar este activo virtual parametrizando su comportamiento condicional, criterios de rendimiento y datos de prueba.

También puede modificar fácilmente el activo virtual para producir la variedad adecuada de condiciones de falla, excepciones, etc. que deben ejercerse para validar la gama completa de comportamiento del sistema, incluida su capacidad para responder correctamente (o al menos fallar con gracia) en varias situaciones excepcionales.

La virtualización permite condiciones de prueba complejas (p. Ej., Situaciones hipotéticas, seguridad, conmutación por error, rendimiento y pruebas negativas) y descubre problemas de rendimiento ocultos en la aplicación bajo prueba controlando el rendimiento del servicio, para pruebas de carga o lentitud. simulación de red. Los usuarios pueden configurar fácilmente una variedad de escenarios mediante la virtualización de servicios de conducción de datos dinámicamente desde fuentes de datos externas o la infraestructura de repositorio de datos incorporada.

La virtualización de servicios representa el comportamiento compuesto

Los activos virtuales creados a partir de la virtualización de servicios no necesitan operar como silos; pueden representar un comportamiento compuesto. Por ejemplo, una llamada para transferir fondos en un punto final virtual puede desencadenar una actualización del saldo de la cuenta en otro. Esto permite que los activos virtuales se comporten con estado y le permite modelar fácilmente el comportamiento de un sistema completo, incluso si el comportamiento cruza múltiples conexiones, protocolos o interfaces.

Una parte fundamental de la creación de dependencias virtualizadas realistas es tener un comportamiento con estado. En otras palabras, una dependencia virtualizada conserva su estado de ejecución de prueba a ejecución de prueba. Para tener servicios virtualizados confiables y reutilizables, es fundamental que puedan imitar el servicio real lo suficiente como para proporcionar resultados significativos en la aplicación bajo prueba que, a su vez, requiere pruebas de estado. Además del estado, también existe la necesidad de simular cambios de estado basados ​​en diferentes entradas potenciales, el servicio virtualizado necesita extender este comportamiento con estado para permitir las pruebas de transición de estado.

La virtualización de servicios permite realizar pruebas de límites

A veces, para reproducir un defecto, se necesitan datos que normalmente no existen en el entorno real. Al cargar datos sintéticos en servicios virtuales, son posibles todo tipo de respuestas fuera de los límites que en realidad son casos extremos extremos. Esto hace que sea mucho más fácil realizar pruebas de condiciones de seguridad y límites porque puede simular exactamente las respuestas que está buscando.

 

Para obtener más información sobre la virtualización de servicios, consulte Parasoft Virtualize.

Escrito por

Parasoft

Las herramientas de prueba de software automatizadas líderes en la industria de Parasoft respaldan todo el proceso de desarrollo de software, desde que el desarrollador escribe la primera línea de código hasta las pruebas unitarias y funcionales, hasta las pruebas de rendimiento y seguridad, aprovechando los entornos de prueba simulados en el camino.

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

Prueba Parasoft