A medida que el desarrollo ágil se ha convertido en la nueva costumbre, la entrega frecuente de servicios mejorados ha transformado los modelos de procesos de negocio. La pregunta es ¿por qué? Bueno, la respuesta simple es la adquisición y retención de clientes mediante la provisión oportuna de productos o servicios de calidad para satisfacer las necesidades en rápida evolución de los clientes. La siguiente pregunta es, ¿compromete la calidad? La respuesta corta es “pruebas de rendimiento”. Una vez más, ¿por qué invertir en pruebas cuando puede retrasar el lanzamiento de la compilación? Bueno, esto no es una gran compensación, porque las pruebas son la columna vertebral de la calidad sin la cual todo el propósito de Agile colapsaría. Esta es la razón por la que se están introduciendo herramientas y técnicas de prueba más inteligentes. Pruebas canarias para Las pruebas de rendimiento están ganando terreno en estos días.

Hoy en día, a los usuarios se les ofrece un nivel de variedad en aplicaciones que incluso 5 segundos de retraso en el tiempo de carga del sitio web y el tiempo de respuesta superior a ocho segundos puede causar una pérdida importante. Por ejemplo, en 2013, sólo un tiempo de inactividad de 5 minutos de Google hizo que la compañía perdiera casi $545,000. Del mismo modo, en enero de 2016, una actualización de software hizo que el termostato Nest dejara de funcionar y dejó a muchos usuarios fríos, que luego despotricaron sobre el problema en las redes sociales. Además, no hace mucho tiempo que la interrupción de Amazon Web Service causó la pérdida de ventas de las empresas por valor de $ 1100 por segundo.

Echemos un vistazo a las pruebas canarias, su significado, beneficios y desventajas, para que podamos justificar su significado.

Pruebas de carga de JMeter con LoadView

Desde la configuración hasta la ejecución de pruebas en cuestión de minutos.

¿Qué es Canary Testing?

Canary testing, canary release y canary deployment son los términos utilizados alternativamente para una técnica que permite la entrega continua manteniendo el riesgo mínimo. El proceso consiste en implementar una actualización de software en un grupo seleccionado de usuarios para su realización de pruebas. El método recibió su nombre de aves canarias que fueron utilizadas como detectores de gases tóxicos en las minas de carbón en el pasado. Los canarios son más sensibles a los gases tóxicos que los humanos, por lo tanto, caen inmediatamente enfermos o mueren a niveles de exposición bajos. Esto ayudó a los mineros a evacuar las minas y escapar del peligro antes de que fuera demasiado tarde.

 

Estrategia de despliegue

Del mismo modo, en las pruebas de Canary, los canarios son un pequeño grupo de usuarios que experimentan las últimas actualizaciones de software, y sus comentarios ayudan al equipo de desarrollo a decidir si la nueva versión debe estar disponible para todos los usuarios o los cambios deben revertirse rápidamente. Las pruebas canarias son una aplicación de cambio paralelo que se realiza en un entorno de producción independiente al que solo se enrutan unos pocos usuarios seleccionados, mientras que la mayoría se mantiene en el entorno de producción antiguo. Esta migración de usuarios dura hasta que todos los usuarios se han desplazado a la nueva versión. Este es un enfoque incremental que apoya la innovación y reduce el riesgo de interrupción a nivel de masa.

 

Estrategia de retroceso

Si la nueva versión resulta ser extremadamente errónea y representa una gran amenaza para la experiencia del usuario, en lugar de revertir los cambios en el entorno de producción; Los usuarios son redirigidos a la versión antigua estable. Mientras tanto, el equipo de desarrollo se esfuerza por la corrección de errores.

 

¿Quiénes son los Usuarios Seleccionados?

La siguiente pregunta es ¿quiénes serán los usuarios afectados por su actualización de software? Bueno, hay diferentes maneras de decidir sobre los usuarios canarios, tales como:

  • Podrían ser los equipos de prueba internos o distribuidos remotamente
  • De una región específica, en el caso de usuarios distribuidos geográficamente
  • La única marca primero, en el caso de múltiples marcas

 

La mejor aplicación de pruebas Canarias que se pueden citar es Facebook. Facebook funciona con una estrategia de “varios canarios”. Solo los empleados internos se exponen primero a los nuevos cambios con todas las activaciones de características activadas para detectar los problemas de forma temprana.

 

¿Cuáles son los beneficios de las pruebas canarias?

No puedes medir los beneficios de algo a menos que tengas algo más con lo que compararlo. Por lo tanto, sí, las pruebas de Canary a menudo se confunden con las pruebas A/B y las pruebas azul-verde. Sin embargo, es lo mejor de ambos mundos. Veamos por qué.

 

Pruebas A/B

Por implementación, las pruebas A / B son similares a las pruebas canarias. Al 50 por ciento de los usuarios se les proporciona una versión actualizada de la aplicación con la nueva característica “B”. El 50 por ciento restante de los usuarios sigue usando la función de línea base “A”. A continuación, se supervisan los resultados de la versión de características para observar el Resultados frente a las expectativas. Sin embargo, el enfoque de A / B es ver qué tan útil es una característica para los clientes. Mientras que las pruebas canarias se llevan a cabo para la mitigación de riesgos.

 

Despliegue Azul-Verde

La implementación verde azul se centra en eliminar el tiempo de inactividad y la interrupción para los usuarios finales. Los cambios se realizan en un entorno de producción inactivo al que se migran todos los usuarios de la producción anterior, una vez completadas las pruebas. Sin embargo, en las pruebas de Canary, el volumen de usuarios afectados se mantiene mínimo al principio.

Podemos concluir que las pruebas de Canary son las mejores de ambos mundos, es decir, las pruebas A/B y la implementación azul-verde. Las ventajas del enfoque de implementación de Canary se pueden enumerar hasta:

  • Ayuda a la innovación, acelera el desarrollo ágil y permite el despliegue fácil de nuevas características.
  • Garantiza cero tiempo de inactividad.
  • Permite una reversión rápida de los cambios en caso de resultados negativos.
  • Permite un alto nivel de configuración para las condiciones para determinar qué tráfico se envía a la nueva versión, antes de liberarlo a toda la base de usuarios.
  • Permite a varios equipos probar simultáneamente microservicios individuales en producción.
  • A diferencia de la implementación azul-verde, la expansión de recursos no es necesaria para probar un entorno adicional. Porque se adopta la estrategia de recursos por microservicio para las pruebas.
  • El comportamiento de la nueva versión se puede supervisar aumentando lentamente la carga en producción, en lugar de configurar un entorno de pruebas de capacidad completamente nuevo.
  • Permite la implementación de varias versiones en producción. Esto proporciona al equipo la libertad, flexibilidad y velocidad deseadas para probar la nueva versión.

 

Despliegue de Canary y LoadView

Puede lograr los mejores resultados para las pruebas de rendimiento sin comprometer la experiencia del usuario de las masas. Todo lo que necesita es la práctica de la implementación de Canary y una excelente herramienta de pruebas que admita métricas para pruebas de rendimiento. Mediante el enfoque Canary, la ejecución de casos de prueba de rendimiento se puede automatizar con la ayuda de una solución avanzada como LoadView. Esto puede sonar confuso y complejo. Pero vamos a tratar de entenderlo con la ayuda de un ejemplo. Por ejemplo, Netflix, una aplicación de una sola página (SPA), desarrolla una nueva característica y la lanza a los usuarios canarios (7.50.000 es decir, el 5 por ciento de 15 millones; según las estadísticas de 2020).

Ahora, ningún equipo de DevOps puede monitorear un número tan grande de usuarios manualmente. Por lo tanto, LoadView actúa como una varita mágica, ya que permite a DevOps y a los equipos de prueba poner en marcha cientos o miles de usuarios simultáneos para cargar y realizar pruebas de esfuerzo contra sus aplicaciones, y ver cómo funcionan sus aplicaciones bajo esa carga aplicada.

Además, lo que hace que LoadView, con su herramienta de scripting EveryStep Web Recorder , sea una opción convincente es que admite SPA de prueba de carga . La lógica SPA se basa en la tecnología JavaScript que no es compatible con muchas herramientas, como JMeter, por ejemplo. JMeter solo funciona en el nivel de protocolo, y no en el navegador, por lo que gran parte del rendimiento del lado cliente se deja fuera de los resultados de las pruebas de rendimiento. Con la grabadora EveryStep, crear escenarios y rutas de usuario es fácil y utiliza navegadores reales. Simplemente registre la ruta de acceso y configure su escenario de prueba. Es muy fácil.

 

Desafíos de la implementación/pruebas de Canary

Cada moneda tiene dos caras. Algunos dirían que la metodología de implementación/pruebas de Canary tiene sus contras, pero es más apropiado indicar los siguientes puntos mencionados como sus desafíos.

  • Los equipos de DevOps tienen que administrar varias versiones del software en paralelo. Por lo tanto, se recomienda mantener el número de versiones simultáneas al mínimo.
  • No tiene control total sobre la nueva versión cuando se actualiza si el software de la solución está instalado en los dispositivos de los usuarios.
  • La administración de bases de datos se vuelve difícil durante las versiones de Canary.
  • La implementación de pruebas Canarias exige un esfuerzo sustancial para un monitoreo eficaz y robusto de la infraestructura y la aplicación.
  • La supervisión de cada versión incremental lleva tiempo y puede afectar a la fecha de lanzamiento de destino. Las pruebas canarias pueden tardar hasta varias horas.

 

Conclusión: Pruebas Canarias

Para concluirlo todo, se puede deducir que el enfoque de implementación/pruebas de Canary puede ser su próximo mejor amigo en la mitigación de riesgos cuando se trata de hacer pruebas de rendimiento de la nueva versión de su software con usuarios reales sin ningún tiempo de inactividad. Como Ian Molyneaux declaró en su libro, The Art of Application Performance Testing: From Strategy to Tools

, “Si un usuario final percibe el mal rendimiento de su sitio web, su próximo clic probablemente estará en your-competition.com.” No dejes que eso suceda. Asegúrese de que sus clientes y clientes están obteniendo una gran experiencia de usuario.

Inicie su experiencia de prueba de carga ahora con LoadView.