Seminario web destacado: MISRA C++ 2023: todo lo que necesita saber | Vea ahora

Modelo de madurez de virtualización de servicios

Foto de cabeza de Grigori Trofimov, arquitecto senior de soluciones de Parasoft
22 de septiembre de 2023
6 min leer

Aquí se ofrece una cobertura completa de la virtualización de servicios para ayudar a las organizaciones a navegar a través de la experiencia de adopción y escalamiento. Establezca expectativas realistas con la guía del Modelo de Madurez de Virtualización de Servicios y sus cuatro etapas.

En Parasoft, hemos estado guiando a los clientes a través del mercado de virtualización de servicios (SV) en rápido crecimiento desde sus inicios. Captamos esta experiencia en el Modelo de madurez de virtualización de servicios, que está diseñado para ayudar a las organizaciones de TI a establecer expectativas realistas para adoptar e implementar la virtualización de servicios.

Adopción y ampliación de la virtualización de servicios

La adopción de la virtualización de servicios Puede variar desde simples casos de uso ad hoc o reactivos destinados a cerrar brechas específicas hasta esfuerzos coordinados para brindar acceso optimizado en toda la empresa a entornos de prueba altamente complejos. Nuestro modelo de madurez de virtualización de servicios establece expectativas realistas sobre cómo las organizaciones pueden aplicar mejor esta tecnología extraordinariamente interesante, reduciendo los riesgos de las aplicaciones al permitir pruebas más tempranas y completas.

El Modelo de Madurez de Virtualización de Servicios consta de cuatro etapas definidas por el enfoque específico del equipo en cada etapa.

  1. Ad hoc. La atención se centra en el individuo cuando hay intentos únicos de cerrar las brechas que obstruyen la capacidad de un individuo para completar un desarrollo específico o una tarea de prueba.
  2. Reactivo. La atención se centra en el proyecto donde se utiliza la virtualización de servicios para emular componentes dependientes del sistema y permite que las tareas de desarrollo o prueba del proyecto se desplacen hacia la izquierda.
  3. Proactivo. La atención se centra en el entorno de prueba, donde la virtualización de servicios proporciona acceso consistente a entornos de desarrollo y prueba que involucran dependencias de sistema de difícil acceso, inconsistentes o poco confiables.
  4. Administrado. La atención se centra en la creación de escenarios de prueba en los que se coordinan múltiples entornos de prueba, como el rendimiento, la seguridad o las condiciones de error, para ejercitar rápidamente diferentes escenarios en cada etapa del SDLC, logrando una mayor automatización y mejores resultados de las pruebas. Una empresa madura impulsará la utilización y optimización de SV en toda la organización.

¿Qué es la virtualización de servicios?

La virtualización de servicios es una práctica de desarrollo de software que simula el comportamiento de un componente de una aplicación sin la necesidad de implementar una instancia real del mismo. El caso de uso más común para la virtualización de servicios es burlarse de componentes de terceros o sistemas backend en entornos de prueba. Hacerlo representa una oportunidad para que las organizaciones desarrollen y prueben aplicaciones complejas de manera más rápida y completa. Con la adopción de la virtualización de servicios, las organizaciones reducen significativamente el CapEx y OpEx de la gestión de entornos de desarrollo y prueba.

Al proporcionar acceso en cualquier momento y lugar al comportamiento de aplicaciones dependientes a las que es difícil acceder o configurar para desarrollo y pruebas, incluidas bases de datos, mainframes, aplicaciones de terceros y servicios en evolución, la virtualización de servicios no solo acelera el desarrollo ágil y paralelo, sino que también permite escenarios de prueba orientados a objetivos e impulsados ​​por el negocio que reducen significativamente el riesgo de las aplicaciones.

La virtualización de servicios se usa más comúnmente en pruebas, pero algunas organizaciones pueden elegir este enfoque para simular cualquier entorno que no sea de producción, ya sea para ventas, capacitación o integraciones de socios.

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

Para lograr calidad a gran velocidad, es esencial tener acceso ilimitado a un entorno de prueba realista y confiable. Es importante reconocer que un entorno de prueba completo incluye la aplicación bajo prueba (AUT) y todos sus componentes dependientes, incluidas API, servicios de terceros, bases de datos, aplicaciones y otros puntos finales.

La virtualización de servicios permite a los equipos obtener acceso a un entorno de prueba completo, incluidos todos los componentes críticos del sistema dependiente, y alterar el comportamiento de esos componentes dependientes de maneras que serían imposibles con un entorno de prueba por etapas, lo que le permite realizar pruebas antes, más rápido y más completamente. También le permite aislar diferentes capas de la aplicación para depuración y pruebas de rendimiento, pero no vamos a entrar tanto en eso hoy.

¿Qué más permite la virtualización de servicios?

La virtualización de servicios es parte de una plataforma completa de herramientas de automatización de pruebas que ayuda a los equipos a acelerar las pruebas de varias maneras. Por ejemplo, la virtualización ayuda a habilitar las siguientes actividades de prueba importantes.

  • Pruebas de rendimiento. Cambie las pruebas de rendimiento a la izquierda simulando los acuerdos de nivel de servicio de sus sistemas dependientes, desbloqueándose de la disponibilidad limitada de su entorno de prueba de rendimiento físico o de la incapacidad de controlarlo por completo.
  • Pruebas continuas. Adelántese a la competencia acelerando la fase de prueba de su proceso de entrega continua y automatizando el ciclo de retroalimentación con pruebas continuas para evaluar su preparación para el lanzamiento.
  • Gestión del entorno de pruebas. En lugar de escalar hardware adicional para cientos de nuevos silos de prueba, aproveche la virtualización de servicios para implementar y destruir dinámicamente entornos de prueba virtuales.

Beneficios prácticos de la virtualización de servicios

Existen muchos beneficios al implementar la virtualización de servicios en su organización. Las empresas que han adoptado la práctica de prueba de vanguardia de virtualización de servicios informan:

  • Menos defectos
  • Mejor cobertura de prueba
  • Mayores tasas de ejecución de pruebas
  • Mucho menos tiempo dedicado a realizar pruebas

Evaluación de la viabilidad de la virtualización de servicios

La virtualización de servicios puede ser una buena opción si trabaja con una aplicación compleja que involucra múltiples dependencias posteriores. Las pruebas con API externas pueden verse afectadas por la disponibilidad, las limitaciones de tiempo o las tarifas. Si su equipo tiene una fecha límite estricta y no puede permitirse retrasos para acceder a esos activos, entonces la virtualización de servicios le permite crear versiones simuladas que se comportan como si fueran reales para que las pruebas puedan continuar sin obstáculos.

Implementación de la virtualización de servicios para el éxito

La virtualización de servicios es una herramienta poderosa, pero requiere un plan organizado para que sea más beneficiosa. Aquí hay algunos pasos que puede seguir para desarrollar ese plan.

Construyendo el caso de negocio

Existen múltiples métodos para construir un caso de negocio para invertir en SV. Todos implican hacer cálculos sobre los principales puntos débiles: tiempo, dinero y calidad.

Por ejemplo, si debe asignar una parte de su presupuesto para acceder a un sistema externo, como una API de procesamiento de pagos, para probar aplicaciones, podría eliminar ese costo con una versión virtual.

O, si su equipo se ve obligado a esperar un período de tiempo específico para realizar pruebas con las bases de datos de producción, una copia simulada de esa base de datos podría permitirles terminar su trabajo antes, ahorrando tiempo valioso y permitiéndoles pasar a otras tareas.

Otra área clave es la gestión de defectos. Si su equipo solo encuentra problemas funcionales durante las pruebas de aceptación en un entorno físico, ¿cuántos podría encontrar antes si realiza pruebas antes en un entorno de prueba virtual? Muchos problemas se pueden identificar y solucionar antes en el SDLC, lo que significa que menos problemas llegan a producción, donde su solución es más costosa y lleva más tiempo. ¡Ese es un impacto significativo!

Consulte nuestro artículo calculadora de valor de virtualización de servicios para una evaluación de alto nivel del ahorro de tiempo y costos que podría obtener para su entorno de prueba.

Elegir la herramienta de virtualización de servicios adecuada

La virtualización de servicios es un habilitador clave para cualquier proyecto de automatización de pruebas. Al crear entornos de prueba estables y predecibles, la automatización de sus pruebas será confiable y precisa. Sin embargo, existen varios enfoques y herramientas diferentes disponibles en el mercado. ¿Qué debería buscar en una solución de virtualización de servicios para asegurarse de maximizar el retorno de la inversión?

Determine los objetivos y necesidades principales del equipo para poder evaluar las capacidades y características que más ayudarán, que incluyen:

  • Capacidades básicas como la creación de servicios virtuales sin scripts
  • Flujos de trabajo optimizados, como la generación de datos de pruebas virtuales.
  • Soporte para tecnologías y protocolos específicos utilizados por su empresa
  • Extensiones, automatización e integraciones para procesos CI/CD y DevOps

Aquí hay un guía útil para guiarlo a través de estas consideraciones para tomar una decisión informada sobre la solución que mejor satisface las necesidades de su equipo.

Planificación e implementación de la virtualización de servicios

Después de seleccionar la herramienta de virtualización de servicios que se ajuste a los requisitos y el presupuesto de su organización, avance para implementarla en todo el equipo. Parasoft ha ayudado a muchas empresas a pasar por este proceso, desde la configuración inicial hasta casos de uso más avanzados.

Comience con el edición gratuita de Parasoft Virtualize junto con la videos tutoriales para crear servicios virtuales, comprender servidores proxy de mensajes y mucho más. A medida que su equipo amplíe el uso de servicios virtuales, configure un servidor para permitir la colaboración y el uso compartido de esos servicios.

Creación de un equipo de virtualización de servicios eficaz

Muchas empresas que se centran en producir software de alta calidad deciden establecer un centro de excelencia (COE) para sus estrategias y procesos de prueba. Un COE ayuda a proporcionar una estructura que fomenta el crecimiento y la reutilización, al mismo tiempo que proporciona gobernanza y coordinación entre múltiples equipos.

Un ejemplo es el cliente de Parasoft, WoodmenVida. Cuando decidieron modernizar sus prácticas de prueba, establecieron una estructura para garantizar que sus tres equipos clave tuvieran un entendimiento mutuo de los objetivos y lo que se necesitaría para lograrlos. También identificaron a una persona clave para poseer y administrar la creación inicial de los servicios y activos virtuales, quien luego los compartió con los múltiples equipos. Además, se centraron en educar a los desarrolladores sobre el valor y la importancia de sus nuevos procesos de prueba, lo que ayudó a cada miembro del equipo a saber que tenían interés en el éxito del programa.

Lea cómo les gusta a otras empresas Cox Automotriz y Caesars Entertainment han creado sus equipos y han implementado procesos de prueba efectivos para lograr sus objetivos de calidad.

Resumen

El modelo de madurez de virtualización de servicios desarrollado por Parasoft tiene como objetivo ayudar a las organizaciones de software a adoptar y optimizar la virtualización de servicios de manera efectiva. El modelo de madurez describe cuatro etapas, desde ad hoc hasta administrada, y cada etapa ilustra un uso mejorado, experiencia y adopción organizacional.

Un paso clave en el camino hacia la madurez es construir el caso de negocio para la virtualización de servicios y elegir las herramientas para cumplir con los requisitos. A medida que las organizaciones maduran, continúan desarrollando capacidades efectivas de virtualización de servicios e integrándolas con los procesos existentes.

Establecer el caso de negocio, un plan y el equipo proporciona el mayor beneficio de la virtualización de servicios. Los beneficios incluirán pruebas de aplicaciones más rápidas y completas, costos reducidos en la gestión de entornos de prueba y una cobertura de prueba mejorada. La virtualización de servicios también abre la puerta a pruebas continuas, pruebas de rendimiento y la implementación dinámica de entornos de prueba virtuales.

Cómo adoptar y escalar la virtualización de servicios