Las pruebas de regresión son pruebas que se ejecutan recurrentemente ante ciertos eventos. El objetivo es verificar que lo que antes estaba funcionando, siga funcionando. Es decir, que no tengamos que regresionar el producto a su versión anterior.
Ahora bien, ¿Por qué podría haber cambios? Porque trabajamos con sistemas y un sistema es un conjunto de partes relacionadas que interactúan entre sí para lograr un objetivo y cualquier cambio en una parte, afecta a otra. Cuando corregimos un defecto o agregamos una mejora o una nueva funcionalidad, estamos modificando una parte del sistema y eso puede impactar a otra que ya funcionaba bien. Entonces, dependiendo de la magnitud de los cambios o del impacto que tengan, es adecuado hacer pruebas de regresión.
Hacer pruebas de regresión implica ejecutar pruebas que ya habíamos ejecutado antes, pero ¿Cómo selecciono esas pruebas a ejecutar? La respuesta es sencillamente: aplicando un criterio. Y ese criterio podrá ser los escenarios más usados, las funcionalidades más críticas, las de mayor impacto, etc.
Agrego una reflexión adicional… estas pruebas suelen ser un poco aburridas porque implican ejecutar siempre lo mismo (y lo divertido de testing, al menos para mi, es usar la creatividad para pensar nuevos escenarios). Hacer tareas aburridas hace que estemos más propensos a cometer errores. Errores que podrían evitarse si automatizamos estas pruebas.
Las pruebas de regresión son candidatas a ser automatizadas, no solo por esto sino por otros motivos que también te los cuento en el video.