VWO Logo
Panel
Solicitar demo

Canary Testing

¿Qué es el canary testing?

El canary testing es una técnica en la que un subconjunto reducido de usuarios o sistemas es expuesto a una nueva versión del software, mientras que el resto continúa utilizando la versión anterior. Esto permite probar el nuevo software en un entorno similar al de producción, minimizando el impacto en todo el sistema en caso de que haya errores o problemas con la nueva versión. 

El término «canary» (canario) proviene de una antigua práctica en las minas de carbón, donde se usaban canarios para detectar niveles peligrosos de gases. Los canarios reaccionaban antes que los mineros, actuando como un sistema de alerta temprana.

Canary Testing vs. A/B Testing vs. Feature Flags

Aunque estos métodos pueden usarse conjuntamente para lograr el mismo objetivo —probar nuevas versiones de software o cambios en un entorno controlado—, existen algunas diferencias clave:

Canary TestingA/B TestingFeature Flags
Se enfoca en probar nuevas versiones de software o cambios en un entorno controlado y aislado antes de lanzarlo a toda la base de usuarios.Se enfoca en comparar el rendimiento de dos versiones de una página web o funcionalidad.Se enfoca en controlar la exposición de nuevas funcionalidades a diferentes usuarios o grupos de usuarios.

Beneficios del canary testing

En general, se considera que las pruebas reducen la cantidad de problemas que afectan a los usuarios finales. El canary testing ha demostrado ahorrar tiempo y esfuerzo en todos los niveles del ciclo de vida del desarrollo de software. Además, mejora la reputación y la percepción positiva de la empresa. Los esfuerzos comerciales no se ven obstaculizados, ya que hay menos problemas que afecten o irriten a los usuarios. También contribuye a mantener satisfechos a los desarrolladores. A continuación, se enumeran los principales beneficios del canary testing:

Minimización del riesgo

Al lanzar una nueva versión del software o una funcionalidad a un pequeño subconjunto de usuarios o sistemas, el canary testing permite realizar pruebas en un entorno similar al de producción, minimizando el impacto en el sistema completo si surgen problemas con la nueva versión.

Detección temprana de problemas

Este tipo de prueba permite descubrir fallos o errores desde el principio, para que puedan corregirse antes de que afecten a toda la base de usuarios.

Implementación más rápida

Al liberar nuevas versiones del software o actualizaciones para un grupo reducido de usuarios o sistemas, se facilita una implementación más ágil de nuevas funcionalidades.

Mínimo tiempo de inactividad

El canary testing ayuda a reducir el tiempo de inactividad al identificar y resolver problemas antes de que afecten a todos los usuarios.

Participación y feedback de los usuarios

Proporciona feedback inicial en un entorno similar al de producción, lo que puede utilizarse para mejorar la calidad general del producto..

Reducción de costes

La detección temprana y corrección de errores mediante canary testing puede reducir significativamente los costes de resolución de problemas en un entorno de producción.

Fases del canary testing

El proceso se puede dividir en las siguientes fases:

Planificación

En esta fase inicial se definen los siguientes aspectos:

  • Objetivos y metas 
  • Grupo de usuarios
  • Entorno de prueba 
  • Tiempo requerido
  • Métricas de rendimiento
  • Criterios de evaluación

Despliegue

Aquí se dirige la nueva versión del software hacia el grupo de usuarios seleccionado.

Supervisión

Durante esta etapa, se observa el rendimiento de la nueva versión mediante software de monitoreo, análisis de registros y feedback de los usuarios.

Evaluación

Los datos recopilados se analizan para verificar si la versión funciona según lo esperado. Si se detectan problemas, se corrigen.

Despliegue total / Reversión

En esta fase, si la nueva versión funciona correctamente y no presenta problemas significativos, se puede implementar (rollout) para el resto de los usuarios. Si se detectan inconvenientes, estos se abordan antes de lanzar la nueva versión a toda la base de usuarios.

En caso de identificarse errores críticos, se revierte (rollback) a la versión anterior con el fin de minimizar el impacto sobre los usuarios.

Post-despliegue

Incluso después de que la nueva versión esté disponible para todos los usuarios, se sigue supervisando su funcionamiento para asegurar que no existan problemas inmediatos ni a largo plazo.

Nota: Estas etapas no siempre son lineales y puede que se necesite repetir algunas antes de considerar que la nueva versión está lista para su liberación definitiva.

Buenas prácticas al implementar canary testing

Al aplicar esta técnica, ten en cuenta los siguientes aspectos:

Rendimiento del sistema

Monitorea indicadores como tasas de error, latencia de red y uso de CPU/memoria.

Experiencia del usuario

Controla métricas como tiempos de respuesta, tasas de éxito y nivel de satisfacción.

Tasas de error

Ayudan a identificar fallos potenciales en la nueva versión.

Tráfico

Verifica si la nueva versión escala correctamente ante la demanda esperada.

Seguridad

Comprueba métricas como intentos fallidos de inicio de sesión, intentos de intrusión y vulnerabilidades.

Criterios de despliegue

Define condiciones claras que deben cumplirse antes de liberar la nueva versión a todos los usuarios.

Plan de reversión

Ten un plan de contingencia por si se detectan errores críticos durante la prueba.

Automatización

Automatiza lo más posible (monitoreo, evaluación y reversión) para reducir errores humanos y mejorar la eficiencia.

Comunicación

Establece canales claros de comunicación con los equipos involucrados para mantenerlos informados sobre el progreso y cualquier inconveniente.

Mejora continua

Analiza frecuentemente los resultados del canary testing para detectar oportunidades de mejora y optimizar el proceso.

Desafíos del canary testing

Es fundamental contar con una estrategia bien definida para llevar a cabo un canary testing eficaz. También es crucial considerar los siguientes desafíos al planificar y ejecutar este tipo de prueba.

Complejidad

El canary testing puede volverse complejo, especialmente cuando se trata de sistemas extensos o sofisticados. Se requiere un conocimiento profundo del sistema, así como la capacidad de configurar un entorno de prueba que imite lo más fielmente posible el entorno de producción.

Recursos limitados

Este tipo de pruebas requiere una cantidad considerable de recursos: infraestructura para llevar a cabo las pruebas, herramientas de monitoreo y personal cualificado para configurar, ejecutar y analizar los resultados.

Problemas de configuración y compatibilidad

El canary testing puede revelar errores relacionados con la configuración o la compatibilidad, en especial en apps móviles, donde ciertos problemas pueden ser difíciles de detectar en entornos de desarrollo o pruebas previas (staging).

Implementación a escala empresarial

Aplicar el canary testing a nivel corporativo puede ser complicado, ya que el software suele estar instalado en dispositivos personales. Una solución posible es establecer un sistema de actualización automática para los usuarios finales o utilizar feature flags para activar una funcionalidad de forma remota solo en un grupo reducido de usuarios.

Conclusión

La técnica de implementación canary se ha popularizado porque permite introducir cambios en producción con bajo riesgo y sin necesidad de infraestructuras adicionales. Las empresas que la aplican pueden probar nuevas versiones en condiciones reales antes de ponerlas a disposición de todos los usuarios.

Share
Leer más

Ciclo de Experimentación

Leer más

Explorar más términos del glosario

Ceguera a los banners

La ceguera a los banners es la tendencia de los consumidores digitales a ignorar los anuncios, lo que limita su efectividad.

Leer más

Ciencia del comportamiento

La ciencia del comportamiento estudia el comportamiento humano mediante la experimentación sistemática y la observación.

Leer más

Click-To-Call

El click-to-call agiliza el proceso de iniciar una llamada VoIP directamente desde tu página web o app. Elimina la necesidad de que los usuarios interrumpan su experiencia de navegación para ingresar manualmente un número de teléfono.

Leer más

Clickbait

El clickbait hace referencia a la táctica publicitaria o de marketing que consiste en redactar titulares, imágenes o descripciones sensacionalistas para captar la atención del usuario y animarlo a hacer clic en un contenido.

Leer más