Para comprender por qué es necesaria la prueba de regresión, comencemos por comprender qué es. Esto nos ayudará a comprender cuándo y dónde se puede usar y también a diferenciarlo de la repetición de pruebas, lo que puede confundirse con las pruebas de regresión.
Los métodos modernos de software son generalmente iterativos o alguna versión del mismo, o ágiles. Esta no es una declaración general. Esto es solo para establecer un paralelismo con las tendencias seguidas en la industria de TI o en la industria de desarrollo de software. La razón para pasar a estos métodos es que permiten a los desarrolladores realizar un seguimiento de los requisitos cambiantes o centrarse en un problema particular de una manera que ayude a maximizar la eficiencia. En la fase de prueba de software, nuevamente hay múltiples pasos paralelos que se coordinan con el desarrollo de software que permiten la modificación constante del software en función de los requisitos cambiantes y la gestión del tiempo. Además, el propósito del software es ahora tener más procesos para reducir las posibilidades de que ocurran defectos y no solo detectarlos si ocurren.
Ahora, para comprender los diferentes tipos de aplicaciones de software y la forma en que funciona la industria, algunas se desarrollarían por primera vez, algunas solo se mantendrían, mientras que otras podrían estar en proceso de revisión. Muchas pruebas también pueden implicar simplemente arreglar un defecto y luego probar el software. Una vez más, las situaciones anteriores pueden ser ciertas para toda la aplicación, una parte significativa de la aplicación que afectaría mayormente a la aplicación, o una parte menos significativa que no tendría el mismo impacto. Según el tipo de cambio y el grado, se utilizan diferentes estrategias de desarrollo y prueba.
La prueba de regresión es para una aplicación que se ha desarrollado previamente pero que se está revisando, generalmente un cambio de nivel de pequeño a mediano o corrección de defectos. De nuevo, esto no es una declaración general porque los términos son muy vagos y en realidad dependerían de muchos factores, como la importancia de la aplicación o el cambio o los esfuerzos que los propietarios desean realizar, o los estándares que se están siguiendo.
Sin embargo, la regla más amplia es que una vez que un software sufre algún cambio, ya sea la adición de un módulo, o la eliminación de uno, o una modificación de algún tipo, como la reparación de algún defecto, hay posibilidades de que el cambio afecte otras áreas del software a través de múltiples enlaces entre las diversas partes del software.
Aquí es donde ayuda un conjunto de pruebas de regresión. Una suite de Regresión generalmente tiene casos de prueba, o conjuntos de pasos, que probarán todas las funciones clave e importantes de la aplicación, dependiendo de cómo el propietario del software defina la importancia de una parte del software y todas las funcionalidades que están vinculadas a muchos otras piezas y es probable que enfrenten algunos efectos cada vez que cambie una parte del software. Por lo tanto, las pruebas de regresión se llevan a cabo siempre que haya un cambio que pueda afectar otras partes del software y verifique todas las funciones y enlaces clave para minimizar la influencia.
Esto esencialmente significa que el propósito de un mecanismo de prueba de regresión es asegurar que el cambio en una porción del software no afecte las porciones restantes.
Volver a probar, por otro lado, es probar un software o una parte de él cuando hay algún cambio o corrección de defectos. Por lo tanto, lo que generalmente funciona es que el conjunto de pruebas se lleva a cabo sobre un software que ha sufrido algunas modificaciones o reparación de defectos. Hay posibilidades de que una modificación o un arreglo no sucedan correctamente y, por lo tanto, el arreglo debe aplicarse nuevamente o se pueden causar otros problemas que deben probarse. Esencialmente, la nueva prueba se realiza en la misma pieza de software que se ha modificado o reparado para garantizar que la modificación o la reparación se hayan realizado correctamente.