Implementa pruebas en tu empresa con Chrome

Demián Renzulli
Demián Renzulli

Imagina que el software más importante de tu empresa deja de funcionar de repente. ¿Qué sucedería? Los pedidos podrían perderse, los plazos podrían incumplirse, pero los clientes seguramente se quejarían.

Este escenario catastrófico se puede evitar implementando un proceso de prueba continuo y riguroso que detecte los problemas antes de que causen caos. Sin embargo, implementar un proceso de este tipo en tu organización es más fácil decirlo que hacerlo.

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

Prácticas recomendadas de pruebas para 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.

Implementa una cultura de pruebas en tu equipo

Para introducir las pruebas en tu equipo de forma exitosa, es necesario que todos compartan una mentalidad común y vean la calidad no como una carga, sino como una inversión. Este es un proceso que, como cualquier otro cambio cultural, requiere tiempo y coherencia.

Una cosa que puede ayudar a dar forma a esta cultura son las reuniones periódicas para analizar los defectos, el impacto que tuvieron, de dónde surgieron y qué se necesitó para corregirlos. Esto ayuda a crear conciencia sobre por qué es bueno prevenir este tipo de defectos desde el principio.

Tener una persona dedicada en el equipo que supervise y dirija el esfuerzo puede aumentar considerablemente las probabilidades de éxito. Alguien que define los lineamientos para el equipo o incluso para toda la organización, recopila las prácticas recomendadas, las comparte y promueve el esfuerzo en todos los niveles.

Otra herramienta útil puede ser rotar el rol de asistencia de tu producto. Obtener estadísticas de primera mano y sin filtrar de tus clientes, y conocer los problemas cotidianos que enfrentan con tu producto puede ser una experiencia valiosa para los administradores de productos, los diseñadores y los desarrolladores.

El objetivo es que todos los miembros de tu equipo comprendan que la calidad es una característica tan importante como cualquier otra funcionalidad que desarrolles para tu producto. Una vez que todos adoptaron esa mentalidad, es una progresión natural comprender que las pruebas también son una función. Esto se debe a que las pruebas son las que garantizan la calidad del producto final.

Un proceso de prueba paso a paso

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

Incluye las pruebas en la "Definición de finalizado"

Si agregas pruebas como requisito de una función, indicas que la función no está lista para lanzarse 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 requieren intervención humana y se pueden ejecutar en cada paso crítico de tu canalización de desarrollo. Por ejemplo:

  • En cada confirmación
  • En cada solicitud de extracción
  • Después de cada lanzamiento completo o cambio de entorno

Si dependes de servicios de terceros en tu entorno de producción, incluso puede tener sentido ejecutar tus pruebas en producción para garantizar que las APIs de terceros se comporten según lo esperado.

Define y recopila métricas

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

  • Lanzamientos por mes: Una mayor cantidad de lanzamientos por mes puede indicar un proceso de desarrollo más ágil. Las pruebas automatizadas desempeñan un rol clave aquí, ya que garantizan que los lanzamientos puedan continuar con confianza.
  • Informes de errores: Una tendencia a la baja en los informes de errores puede ser un signo positivo de que tus procesos de prueba (y desarrollo) son eficaces.
  • Cobertura de pruebas: Si bien nunca es una métrica exacta, la cobertura puede ser un buen indicador de la profundidad con la que pruebas los casos de uso críticos.

Ten en cuenta que estas métricas también se ven influenciadas por otros factores que podrían sesgarlas. Por ejemplo, es posible que la cantidad de lanzamientos disminuya en la temporada de festividades, mientras que los informes de errores aumenten. Por lo tanto, no te bases solo en unos pocos y asegúrate de correlacionarlos con otros datos disponibles para tu equipo.

Cuando implementes correctamente esos pasos con tu equipo, la salud de tu producto se beneficiará a largo plazo. Pero aún puedes hacer más.

Prácticas recomendadas para las pruebas de administradores del sistema

Los equipos de productos no pueden trabajar por su cuenta. Se basan en el hardware, las herramientas y la infraestructura que mantienen los administradores de sistemas. Si bien los administradores del sistema no suelen contribuir directamente al desarrollo del producto, pueden influir positivamente en el flujo de trabajo de desarrollo. Por ejemplo, puedes administrar de forma activa la versión del navegador que usan ciertos grupos de usuarios en la empresa.

En esta segunda parte del artículo, se explica cómo funciona esto 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 todas 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 darles tiempo a tus equipos de productos para que adapten tu producto a los cambios en 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 futuros cambios en el navegador y probar las funciones más recientes antes de que estén disponibles de forma generalizada:

  • Canal estable: Aquí se encuentra la mayoría de los usuarios. El canal estable se actualiza automáticamente cuando hay una nueva versión de Chrome, lo que sucede mensualmente.
  • Canal beta: Esta versión se volverá estable en un plazo de cuatro a seis semanas, lo que te permitirá obtener una vista previa y probar una próxima versión estable, y prepararte para ella.
  • Canal para desarrolladores: Este canal recibe una nueva versión de Chrome una vez por semana y contiene todas las correcciones más recientes que, con el tiempo, se trasladarán a la versión beta. Como sugiere el nombre del canal, está en desarrollo y, por lo tanto, podría fallar de forma inesperada, pero también incluye las funciones más recientes, a veces mucho antes de que lleguen a la versión estable. Esto convierte al canal para desarrolladores en una excelente herramienta para el desarrollo de prototipos y de vanguardia.
  • Canal Canary: Es el canal más experimental, ya que contiene todas las funciones más recientes, pero no se realizan muchas pruebas. Se lanza al menos una vez al día.

Si quieres obtener más información sobre los canales de Chrome, consulta el episodio de Chrome Concepts correspondiente.

Los íconos de producto de Chrome estable, beta y para desarrolladores 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 existe un enfoque único para el desarrollo de software. Como ejemplo, supongamos que tenemos un equipo con los siguientes roles: administración de productos, UX y UI, ingeniería, operaciones y asistencia.

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

  • Administración de productos: Por lo general, los administradores de productos pueden usar el canal estable para usar la misma versión que la mayoría de los usuarios. En ocasiones, pueden usar el canal beta o dev si están trabajando en una función que requiere una API que aún no se lanzó.
  • Ingeniería y UX: Algunas partes de estos equipos pueden estar en el canal dev para darles acceso a las funciones más recientes, como View Transitions, incluso antes de que estén en la versión estable.
  • Operaciones: Podría estar en beta para prever interrupciones que afecten a los usuarios a continuación.
  • Asistencia: Puede permanecer en el canal estable para asegurarse de que interactúa con el producto con el mismo navegador que la mayoría de sus 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 dejar la decisión sobre qué canal usar, Chrome también ofrece herramientas empresariales y de administración para administrar de forma activa qué canal termina usando cada usuario. Esto es útil, ya que aumenta de inmediato la superficie de prueba de unos pocos usuarios individuales a un conjunto determinístico de usuarios, lo que ayuda a identificar las interrupciones lo antes posible y de forma rastreable.

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

  • Empleados (usuarios de la app): Para minimizar el riesgo de interrupciones, la mayoría de los empleados deben usar el canal estable, que el equipo de pruebas de Chrome probó por completo. Además, un pequeño porcentaje de usuarios (entre el 5% y el 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 un lanzamiento, lo que les da más tiempo para abordar los problemas antes de que el lanzamiento se implemente para todos los demás.
  • Departamento de TI: Los miembros del departamento de TI, incluidos los administradores del sistema, pueden usar el canal beta o para desarrolladores para obtener una vista previa de 4 a 6 semanas o de 9 a 12 semanas de lo que se incluirá 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 avance tan rápido como se planeó y que la cadencia de lanzamiento mensual de Chrome sea demasiado alta. Para este caso de uso, Chrome proporciona un canal estable extendido que permite recibir actualizaciones de funciones con menos frecuencia, pero seguir recibiendo correcciones de seguridad. Este canal se actualiza cada ocho semanas.

En el siguiente diagrama, se muestra cómo los diferentes hitos avanzan por los diferentes canales de lanzamiento de Chrome:

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

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

La importancia continua de los canales de desarrollo y beta para los usuarios de la versión estable extendida

Si bien el canal estable se está acelerando a un ciclo de lanzamiento de dos semanas y tu organización está adoptando el ciclo estable extendido de ocho semanas para tener más tiempo para las pruebas, sigue siendo fundamental usar los canales beta y para desarrolladores. No hay canales separados de "desarrollo o beta extendidos"; los canales estándar de desarrollo y beta se usan para estabilizar las versiones estables y estables extendidas.

Si las empresas siguen ejecutando los canales de desarrollo y beta, podrán identificar de forma proactiva los problemas que podrían afectar sus entornos. Los canales para desarrolladores y beta proporcionan una vista previa de cuatro semanas de la próxima versión estable. Para los usuarios de la versión estable extendida, esta ventana de vista previa es fundamental para descubrir y abordar posibles interrupciones con mucha anticipación a la actualización de funciones de ocho semanas.

Los canales de desarrollo y beta actúan como el principal sistema de alerta temprana para cualquier cambio que se produzca en tu entorno estable extendido de ocho semanas, lo que garantiza que tus apps empresariales sigan siendo compatibles. Los administradores del sistema pueden seguir asignando un grupo pequeño y determinístico de usuarios (por ejemplo, entre el 5% y el 10% de los usuarios de la app) a los canales de desarrollo y beta para maximizar este beneficio.

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 un paso importante para los administradores de sistemas, para brindar a los empleados de una organización acceso a software de alta calidad y evitar interrumpir los procesos comerciales.

Para tener éxito cuando implementes un flujo de trabajo de pruebas 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. Para obtener una revisión detallada de las herramientas de pruebas existentes, consulta nuestro artículo Herramientas de Chrome para pruebas automatizadas y sin problemas.

Para obtener orientación práctica sobre las pruebas, desde el inicio hasta el final, consulta también nuestro reciente curso de Learn Testing y las prácticas recomendadas para la automatización de pruebas en web.dev.