
Como norma general, cualquier aplicación debe probarse a fondo. Lamentablemente, en la práctica, las prueba son insuficientes y a menudo pasadas por alto.
Las pruebas de regresión intentan verificar que los cambios realizados no han introducidos nuevos defectos y que el resto de la aplicación sigue funcionando correctamente.
¿Como podemos realizar correctamente nuestra pruebas de regresión? Podemos comenzar analizando nuestras necesidades y definiendo una estrategia. Es importante que nuestra estrategia defina los pasos que debemos seguir a la hora de seleccionar los test que vamos a ejecutar. Podríamos pensar que debemos ejecutar todos, pero en muchas ocasiones esto no es posible por lo ajustado de las planificaciones. Es por ello que debemos hacer una selección, una batería de pruebas. ¿Que debemos considerar para hacer una buena selección?
Consideremos lo siguiente:
- Realizar un análisis de impacto. Es necesario identificar las areas que se han visto impactadas por los cambios realizados.
- Identificar los flujos principales.
- Seleccionar un porcentaje de todos los test que tenemos.


Yo añadiría que es importante siempre tener una base de resultados de anteriores ejecuciones de las pruebas de regresión, para dependiendo de las diferencias poder hacer un rollback al punto en el cual la aplicación ha dejado de ser fiable.
En entornos con mínimos cambios y grandes impactos, es mandatory la regresión, y mucho mejor si la tienes automatizada. Lo estoy viviendo, es una ventaja enorme poder disponer de unas pruebas de regresión automatizadas que nos dan inclusive soporte al inicio del ciclo de pruebas (podríamos decir un “smoke test” funcional de la versión entregada a QA).
Inclusive he implementado la buena práctica de lanzar la prueba de regresión siempre que “desconfiemos” de la entrega realizada, para no perder tiempo en pruebas funcionales concretas a una versión.
En mi empresa una consideración especial que tuvimos que hacer fue con la mantención de los Test Case sobre todo cuando están autotizadas. Me explico, se deben definit canales que informen que un test case se debe actualizar de modo que no se confunda con un error.
Saludos Cristian M