Implementa pruebas en tu empresa con Chrome

Demián Renzulli
Demián Renzulli
Matthias Rohmer
Matthias Rohmer

Imagina que el software más importante de tu empresa se rompe de repente, ¿qué pasaría? Los pedidos podrían perderse, las fechas límite podrían no cumplirse, pero los clientes definitivamente se quejarían.

Esta situación pesada se puede evitar: mediante la implementación de un proceso de pruebas continuo y riguroso, que detecte problemas antes de que causen caos. Pero implementar este proceso en tu organización es más fácil de decir que de hacer.

En este artículo, se mostrará todo lo que debes tener en cuenta cuando comiences a realizar pruebas en tu empresa y cómo puedes beneficiarte de realizar pruebas a largo plazo.

Probar las prácticas recomendadas para los equipos de productos

En la primera parte de este artículo, se explica el proceso para comenzar a implementar pruebas en tu flujo de trabajo.

Implementar una cultura de pruebas en tu equipo

Presentar con éxito las pruebas en tu equipo requiere que todos compartan una mentalidad común y que la calidad no sea una carga, sino una inversión. Este es un proceso que, como todos los demás cambios culturales, requiere tiempo y coherencia.

Algo que puede ayudar a dar forma a esta cultura son las reuniones regulares para analizar los defectos, el impacto que tuvieron, de dónde vinieron y lo que se necesitó para solucionarlos. Esto ayuda a crear conciencia sobre por qué es bueno prevenir tales defectos en primer lugar.

Tener una persona dedicada en el equipo que supervise y guíe la iniciativa puede aumentar mucho las posibilidades de éxito. Alguien que define los lineamientos del equipo (o incluso para toda la organización), recopila prácticas recomendadas, las comparte y defiende el esfuerzo en todos los niveles.

Otro instrumento útil puede ser rotar la función de asistencia de tu producto. Obtener estadísticas de primera mano y sin filtros de tus clientes y aprender sobre los problemas cotidianos que enfrentan con tu producto puede ser una experiencia valiosa para gerentes de productos, diseñadores y desarrolladores.

El objetivo es que todos los miembros de tu equipo entiendan que la calidad es una característica tan importante como cualquier otra funcionalidad que compiles para tu producto. Una vez que todos adoptan esa mentalidad, es normal comprender que las pruebas también son una función. Las pruebas son las que garantizan la calidad del envío.

Proceso de prueba paso a paso

Una vez que haya alineación entre los diferentes equipos involucrados en el desarrollo de productos, puedes formalizar aún más la existencia y el uso de las pruebas.

Hacer que las pruebas formen parte de la "Definición de Listo"

Si agregas pruebas como requisito de función, indicas que una función no está lista para enviarse hasta que se pruebe de forma adecuada y automática.

Ejecuta pruebas con regularidad

Una vez implementadas, las pruebas automatizadas pueden ser tu protección en cada paso del proceso de desarrollo. No necesitan intervención humana y se pueden ejecutar en cada paso fundamental de la canalización de desarrollo. Por ejemplo:

  • En cada confirmación
  • En cada solicitud de extracción.
  • Después de cada versión completa o cambio de entorno

Si dependes de servicios de terceros en tu entorno de producción, incluso tiene sentido ejecutar las pruebas en la producción para asegurarte de que las APIs de terceros se comporten como se espera.

Define y recopila métricas

Definir un conjunto de métricas es importante para medir la eficacia de tus pruebas y el impacto que tienen los flujos de trabajo de pruebas en tu empresa. Estos son algunos ejemplos de las métricas que puedes usar:

  • Versiones por mes: Una mayor cantidad de versiones por mes puede indicar un proceso de desarrollo más ágil. Las pruebas automatizadas desempeñan una función clave, ya que garantizan que las versiones puedan continuar con confianza.
  • Informes de errores: Una tendencia decreciente en los informes de errores puede ser una señal positiva de que las pruebas (y los procesos de desarrollo) son eficaces.
  • Cobertura de prueba: Si bien nunca es una métrica exacta, la cobertura puede ser un buen indicador de la profundidad con la que se prueban los casos de uso críticos.

Ten en cuenta que otras métricas también se ven influenciadas por otros factores que podrían sesgarlas. Por ejemplo, el recuento de versiones puede disminuir en una temporada de festividades, mientras que los informes de errores aumentan. Así que no dependas solo de unas pocas y asegúrate de compararlas con otros datos disponibles para tu equipo.


Cuando implementes con éxito esos pasos con tu equipo, el estado del producto sin dudas se beneficiará a largo plazo. ¡Pero todavía puedes hacer más!

Prueba las prácticas recomendadas para los administradores del sistema

Los equipos de productos no pueden trabajar por sí solos. Dependen del hardware, las herramientas y la infraestructura que mantienen los administradores del sistema. Si bien los administradores del sistema no suelen contribuir directamente al desarrollo del producto, aún pueden influir en el flujo de trabajo de desarrollo para siempre. Por ejemplo, mediante la administración activa de la versión del navegador que usan ciertos grupos de usuarios de la empresa.

En esta segunda parte del artículo, se explica cómo funciona este proceso con los canales y las políticas empresariales de Chrome.

Canales de versiones de Chrome

De forma predeterminada, Chrome se actualiza automáticamente para garantizar que todos los usuarios ejecuten la versión más reciente, estable y segura de Chrome, incluidas las funciones más recientes, la versión de Chrome lanzada en el canal estable.

Como empresa que desarrolla un producto basado en la Web, es posible que desees usar un navegador antes del canal estable para dar tiempo a tus equipos de productos para adaptar el producto a los cambios a la plataforma web.

Para este caso de uso, Chrome ofrece un total de cuatro canales de versiones, destinados a diferentes grupos de usuarios.

En el caso de Chrome, existen diferentes canales de versiones que puedes usar para anticipar cambios futuros en el navegador y probar las funciones más recientes antes de que estén ampliamente disponibles:

  • Canal estable: Aquí es donde se encuentra la mayoría de los usuarios. El canal estable se actualiza automáticamente cuando hay una nueva versión de Chrome, que se realiza mensualmente.
  • Canal beta: Esta versión se estabilizará en un plazo de cuatro a seis semanas, lo que te dará la oportunidad de obtener una vista previa de una próxima versión estable, probarla y prepararte para ella.
  • Canal para desarrolladores: Este canal recibe una nueva versión de Chrome una vez a la semana y, además, incluye todas las correcciones más recientes que, finalmente, pasarán a ser beta. Como lo sugiere el nombre del canal, está en desarrollo y, por lo tanto, podría fallar de forma inesperada. Sin embargo, también incluye las funciones más recientes, a veces mucho antes de que se estabilicen. Por eso, el canal para desarrolladores es una gran herramienta para el prototipado y el desarrollo de vanguardia.
  • Canal Canary: El canal más experimental, que contiene todas las funciones más recientes, pero sin muchas pruebas. Al menos se publican diariamente.

Si deseas obtener más información sobre los canales de Chrome, consulta el episodio de Conceptos de Chrome relevante.

Los íconos de producto de la versión estable, Beta y para desarrolladores de Chrome, junto con su descripción

Uso de canales en una organización ejemplar

La estructura de los equipos de productos varía entre las organizaciones, ya que no hay un enfoque único para todo el desarrollo de software. Como ejemplo, supondremos un equipo con las siguientes funciones: administración de productos, IU y UX, ingeniería, operaciones y asistencia.

Para una organización como esta, puedes pensar en la siguiente división de canales:

  • Administración de productos: Los PM suelen estar en el canal estable para usar la misma versión que la mayoría de los usuarios. En ocasiones, podrían usar el canal beta o dev si están trabajando en una función que requiere una API que aún no se ha lanzado.
  • Ingeniería y UX: Partes de estos equipos pueden estar en el canal dev para darles acceso a las funciones más recientes, como Transiciones de vistas, incluso antes de que estén estables.
  • Operaciones: Podría estar en versión beta para prever fallas que afecten a los usuarios a continuación.
  • Asistencia: Puede permanecer en el canal estable para asegurarte de que interactúan con el producto con el mismo navegador que la mayoría de tus clientes.

Un diagrama que muestra el flujo de canales en todo el equipo de ejemplo

Usa políticas empresariales para administrar canales

En lugar de proporcionar lineamientos y decidir qué canal usar, Chrome también ofrece herramientas empresariales y de administración para administrar de forma activa qué canal usará cada usuario. Esto es útil, ya que aumenta de inmediato la superficie de prueba de un grupo individual a un conjunto determinista de usuarios, lo que ayuda a identificar la falla lo antes posible y de una manera rastreable.

Si deseas usar ese nivel de control, recomendamos la siguiente configuración:

  • Empleados (usuarios de la app): Para minimizar el riesgo de interrupciones, la mayoría de los empleados deben estar en el canal estable, que el equipo de pruebas de Chrome probó por completo. Además, un pequeño porcentaje de usuarios (del 5 al 10%) puede estar en el canal beta. Este canal obtiene una vista previa de 4 a 6 semanas de la versión estable y puede ayudar a los administradores a descubrir posibles problemas con una versión, lo que les da más tiempo para abordarlos antes de que se lance la versión para todos los demás.
  • Departamento de TI: Los miembros del departamento de TI, incluidos los administradores de sistemas, pueden estar en el canal beta o dev para obtener una vista previa de 4 a 6 o 9 a 12 semanas de lo que vendrá en la versión estable de Chrome.

Un diagrama que muestra la división de canales entre otros empleados y el departamento de TI

Canales de versiones a largo plazo

Es posible que el desarrollo del producto no sea tan rápido como se planificó y la cadencia de lanzamiento de Chrome durante un mes podría ser demasiado alta. Para este caso de uso, Chrome proporciona un canal estable extendido que permite recibir actualizaciones de funciones con menor frecuencia, pero seguir recibiendo correcciones de seguridad. Este canal se actualiza cada ocho semanas.

En el siguiente diagrama, se muestra cómo proceden los diferentes eventos importantes a través de los diferentes canales de versiones de Chrome:

Un diagrama de flujo que muestra la superposición de las versiones estables y extendidas

  • Tanto el estable como el estable extendido envían las mismas versiones durante las primeras cuatro semanas, después de lo cual las dos divergen.
  • No hay un canal beta extendido. En su lugar, se usa el ciclo beta estándar de cuatro semanas para estabilizar tanto la versión estable como la estable extendida. Las empresas que eligen habilitar la versión estable extendida de ocho semanas deben continuar ejecutando el canal beta como lo hacen hoy en día para identificar de forma proactiva los problemas que podrían afectar sus entornos.

Conclusión

Las pruebas son una parte fundamental de las empresas de desarrollo de software para garantizar la calidad de sus productos y también es un paso importante para los administradores de sistemas, ya que les brindan a los empleados de una organización acceso a software de alta calidad y evitar interrumpir los procesos empresariales.

Para tener éxito cuando implementas un flujo de trabajo de prueba dentro de tu organización, es importante que todos compartan la mentalidad común de que la calidad y, por lo tanto, las pruebas son una función.

En este artículo, revisamos diferentes formas de integrar las prácticas recomendadas de pruebas en tu organización. Si deseas obtener una revisión detallada de las herramientas de prueba existentes, consulta nuestro artículo Herramientas de Chrome para realizar pruebas automatizadas y sin inconvenientes.

Si deseas obtener orientación práctica sobre las pruebas, de principio a fin, consulta nuestro reciente curso Aprende sobre las pruebas y las prácticas recomendadas sobre la automatización de pruebas en web.dev.