Imagina que el software más importante de tu empresa falla de repente. ¿Qué sucedería? Se podrían perder pedidos, se podrían pasar los plazos, pero los clientes se quejarían.
Esta situación catastrófica se puede evitar implementando un proceso de pruebas 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 comienzas a realizar pruebas en tu empresa y cómo puedes beneficiarte de ellas a largo plazo.
Prácticas recomendadas para las pruebas de los equipos de productos
En la primera parte de este artículo, se describe el proceso para comenzar a implementar pruebas en tu flujo de trabajo.
Implementa una cultura de pruebas en tu equipo
Para implementar las pruebas de forma correcta en tu equipo, 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 formar esta cultura son las reuniones periódicas para analizar los defectos, el impacto que tuvieron, de dónde provienen y qué se necesitó para solucionarlos. Esto ayuda a crear conciencia sobre por qué es bueno evitar esos defectos en primer lugar.
Tener una persona dedicada en el equipo que supervise y dirija el esfuerzo puede aumentar en gran medida las posibilidades de éxito. Alguien que defina lineamientos para el equipo o incluso para toda la organización, recopile prácticas recomendadas y las comparta, y defienda el esfuerzo en todos los niveles.
Otro instrumento útil puede ser rotar el rol de asistencia de tu producto. Obtener estadísticas de primera mano y sin filtro de tus clientes y aprender sobre los problemas cotidianos que enfrentan con tu producto puede ser una experiencia valiosa para los gerentes de producto, 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 crees 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. Porque las pruebas son lo que garantiza la calidad de los envíos.
Un proceso de prueba paso a paso
Una vez que haya alineación entre los diferentes equipos involucrados en el desarrollo del producto, podrás formalizar aún más la existencia y el uso de las pruebas.
Haz que las pruebas sean parte de la "Definición de listo"
Cuando agregas pruebas como requisito de una función, indicas que una función no está lista para enviarse hasta que se pruebe de forma correcta 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 ser conveniente ejecutar tus pruebas en producción para garantizar 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 de los flujos de trabajo de prueba en tu empresa. Estos son algunos ejemplos de 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 un rol clave en este sentido, 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 indicador positivo de que tus pruebas (y procesos de desarrollo) son eficaces.
- Cobertura de pruebas: Si bien nunca es una métrica exacta, la cobertura puede ser un buen indicador de qué tan en detalle estás probando casos de uso críticos.
Ten en cuenta que estas métricas también se ven afectadas por otros factores que podrían sesgarlas. Por ejemplo, el recuento de lanzamientos podría disminuir en una temporada de festividades, mientras que los informes de errores aumentan. Por lo tanto, no te bases solo en unos pocos y asegúrate de hacer una correspondencia cruzada con otros datos disponibles para tu equipo.
Cuando implementes correctamente esos pasos con tu equipo, el estado de tu producto se beneficiará, sin duda, a largo plazo. Pero aún puedes hacer más.
Prácticas recomendadas para 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 del sistema. Si bien los administradores del sistema por lo general no contribuyen directamente al desarrollo del producto, aún pueden influir positivamente en el flujo de trabajo de desarrollo. Por ejemplo, administrando de forma activa 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 esto con los canales y las políticas de Chrome Enterprise.
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 que se lanzó en el canal estable.
Como empresa que desarrolla un producto basado en la Web, te recomendamos que uses un navegador antes que el canal estable para darles tiempo a tus equipos de producto de adaptarlo a los cambios en la plataforma web.
Para este caso de uso, Chrome ofrece un total de cuatro canales de lanzamiento, destinados a diferentes grupos de usuarios.
En el caso de Chrome, existen diferentes canales de lanzamiento que puedes usar para anticiparte a los cambios futuros del navegador y probar las funciones más recientes antes de que estén disponibles para todos:
- 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 ocurre mensualmente.
- Canal beta: Esta versión se estabilizará 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 versión nueva de Chrome una vez a la semana y, además, incluye todas las correcciones más recientes que, con el tiempo, pasarán a la versión beta. Como su nombre lo sugiere, 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 se vuelvan estables. Esto hace que el canal para desarrolladores sea una gran herramienta para el prototipado y el desarrollo de vanguardia.
- Canal Canary: Es el canal más experimental, que contiene todas las funciones más recientes, pero sin muchas pruebas. Al menos, se deben lanzar a diario.
Si quieres obtener más información sobre los canales de Chrome, consulta el episodio de Conceptos de Chrome relevante.
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 el desarrollo de software. A modo de ejemplo, supongamos un equipo con los siguientes roles: administración de productos, UX e IU, 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 de desarrollador si están trabajando en una función que requiere una API que aún no se lanzó.
- Ingeniería y UX: 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 estables.
- Operaciones: Puede estar en beta para anticipar las fallas que afectarán a los usuarios a continuación.
- Compatibilidad: Puede permanecer en el canal estable para asegurarse de interactuar con el producto con el mismo navegador que la mayoría de tus clientes.
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 de administración y empresariales para administrar de forma activa qué canal usa cada usuario. Esto es útil, ya que aumenta de inmediato la plataforma de pruebas de unas pocas personas a un conjunto determinista de usuarios, lo que ayuda a identificar las fallas lo antes posible y de manera rastreable.
Si deseas usar ese nivel de control, esta es la configuración que te recomendaríamos:
- 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 (de un 5% a un 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 brinda más tiempo para abordarlos antes de que se lance 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 o de 9 a 12 semanas de lo que se implementará en la versión estable de Chrome.
Canales de versiones a largo plazo
Es posible que el desarrollo del producto no sea tan rápido como se planeó y que la cadencia de lanzamientos de un mes de Chrome sea demasiado alta. Para este caso de uso, Chrome proporciona un canal estable extendido que permite obtener actualizaciones de funciones con menos frecuencia, pero que aún recibe correcciones de seguridad. Este canal se actualiza cada ocho semanas.
En el siguiente diagrama, se muestra cómo los diferentes eventos importantes se desarrollan a través de los diferentes canales de lanzamiento de Chrome:
- Tanto la versión estable como la estable extendida envían las mismas versiones durante las primeras cuatro semanas, después de las cuales ambas divergen.
- No hay un canal beta extendido. En su lugar, se usa el ciclo beta estándar de cuatro semanas para estabilizar las versiones estables y estables extendidas. Las empresas que elijan 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 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 un paso importante para los administradores del sistema, ya que les permite a los empleados de una organización acceder a software de alta calidad y evitar interrumpir los procesos empresariales.
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 prueba existentes, consulta nuestro artículo Herramientas de Chrome para pruebas automatizadas y sin inconvenientes.
Si quieres obtener orientación práctica sobre las pruebas, de principio a fin, consulta también nuestro curso Learn Testing y las prácticas recomendadas de automatización de pruebas en web.dev.