Parte 3: Proceso de creación de pruebas y mejores prácticas

En esta parte vamos a revisar el proceso para la creación de pruebas y algunas mejores prácticas.

Si no han leído las partes anteriores:

Ciclo de vida de las pruebas

Cualquiera sea la metodología para las diferentes partes del sistema, se espera poder seguir un proceso que permita mantenernos enfocados en los requerimientos del producto y en desarrollar características una a la vez.

Este proceso tiene 6 pasos:

  1. Análisis de requerimientos: El equipo de desarrollo se reune con los usuarios para revisar que requerimientos y características va a tener el producto. Por cada característica el grupo analiza una especificación que pueda ser probada y que permita indicar que se ha hecho correctamente.

  2. Plan de pruebas: Aquí el equipo de desarrollo analiza the forma específica cómo se desarrollaran las pruebas. Puntos comunes son: qué recursos se necesitan? qué métricas cuantitativas podemos usar para probar el requerimiento? y cuáles factores de riesgo iniciales pueden afectar el resultado? Lo más importante es tener las métricas y los casos específicos muy enlazados a la especificación del producto.

  3. Desarrollo de los casos de prueba: En este paso ya se desarrolla los casos de prueba o el conjunto de pruebas que verifica que el requerimiento se ha completado. Aquí usamos los procesos de pruebas funcionales para pruebas generales, o procesos de pruebas no funcionales para requerimientos específicos como pruebas de usabilidad.

  4. Configuración de ambiente de pruebas: Se creará un amgiente de pruebas. Si el producto se va a instalar en varias plataformas, se requiere al menos un ambiente de pruebas por cada plataforma. Esto se logra generalmente con frameworks de pruebas y algunas máquinas virtuales. O a través de un sistema de integración continua como Github actions

  5. Ejecución de las pruebas: En este paso se ejecuta las pruebas y se guarda todas las métricas decididas.

  6. Análisis de resultados: En este punto se verifica cómo estuvo la ejecución de las pruebas. Es posible que para los próximos tests se requiere diferentes métricas, un ambiente de pruebas más refinado (diferentes dependencias), regresar al desarrollo de la solución para mejorar las métricas alcanzadas.

Todo este proceso es iterativo y generalmente no se lo ve como pasos, si te dan un requerimiento generalmente en tu cabeza analizas que tipos de pruebas puedes ejecutar para revisar la funcionalidad, qué voy a medir como parte del desarrollo del producto, se genera el caso de prueba usando Red-Green development que es escribo el test, lo ejecuto, da error RED, implemento el código mínimo para pasar la prueba y hacerlo GREEN y sigo implementado el programa al mismo tiempo que el test.

Mejores prácticas de pruebas de software

El siguiente artículo será un caso de ejemplo, si quieres recibir una notificación regístrate.