La prueba de regresión es el proceso de probar las partes modificadas del código y las partes que podrían verse afectadas debido a las modificaciones para garantizar que no se hayan introducido nuevos errores en el software después de que se hayan realizado las modificaciones. Regresión significa retorno de algo y en el campo del software, se refiere al retorno de un error.
¿Cuándo hacer pruebas de regresión?
- Cuando se agrega una nueva funcionalidad al sistema y el código se ha modificado para absorber e integrar esa funcionalidad con el código existente.
- Cuando se ha identificado algún defecto en el software y se depura el código para solucionarlo.
- Cuando se modifica el código para optimizar su funcionamiento.
Proceso de prueba de regresión: en
primer lugar, cada vez que hacemos algunos cambios en el código fuente por cualquier motivo, como agregar una nueva funcionalidad, optimización, etc., nuestro programa cuando se ejecuta falla en el conjunto de pruebas diseñado previamente por razones obvias. Después de la falla, se depura el código fuente para identificar los errores en el programa. Después de la identificación de los errores en el código fuente, se realizan las modificaciones correspondientes. Luego, se seleccionan los casos de prueba apropiados del conjunto de pruebas ya existente que cubre todas las partes modificadas y afectadas del código fuente. Podemos agregar nuevos casos de prueba si es necesario. Al final, las pruebas de regresión se realizan utilizando los casos de prueba seleccionados.
Técnicas para la selección de Casos de Prueba para Pruebas de Regresión:
- Seleccionar todos los casos de prueba: en esta técnica, todos los casos de prueba se seleccionan del conjunto de pruebas ya existente. Es la técnica más sencilla y segura pero no muy eficaz.
- Seleccionar casos de prueba al azar: en esta técnica, los casos de prueba se seleccionan al azar del conjunto de pruebas existente, pero solo es útil si todos los casos de prueba son igualmente buenos en su capacidad de detección de fallas, lo cual es muy raro. Por lo tanto, no se utiliza en la mayoría de los casos.
- Seleccionar casos de prueba transversales de modificación: en esta técnica, solo se seleccionan aquellos casos de prueba que cubren y prueban las partes modificadas del código fuente, las partes que se ven afectadas por estas modificaciones.
- Seleccionar casos de prueba de mayor prioridad: en esta técnica, los códigos de prioridad se asignan a cada caso de prueba del conjunto de pruebas en función de su capacidad de detección de errores, los requisitos del cliente, etc. Después de asignar los códigos de prioridad, se seleccionan los casos de prueba con las prioridades más altas para el proceso. de pruebas de regresión.
El caso de prueba con la prioridad más alta tiene el rango más alto. Por ejemplo, el caso de prueba con el código de prioridad 2 es menos importante que el caso de prueba con el código de prioridad 1.
Herramientas para pruebas de regresión: en las pruebas de regresión, generalmente seleccionamos los casos de prueba del propio conjunto de pruebas existente y, por lo tanto, no necesitamos calcular su salida esperada y se puede automatizar fácilmente por este motivo. Automatizar el proceso de prueba de regresión será muy efectivo y ahorrará tiempo.
Las herramientas más utilizadas para las pruebas de regresión son:
- Selenium
- WATIR (Pruebas de Aplicaciones Web en Ruby)
- QTP (prueba rápida profesional)
- RFT (probador funcional racional)
- ganador
- prueba de seda
Ventajas de las pruebas de regresión:
- Asegura que no se hayan introducido nuevos errores después de agregar nuevas funcionalidades al sistema.
- Como la mayoría de los casos de prueba utilizados en las pruebas de regresión se seleccionan del conjunto de pruebas existente y ya conocemos sus resultados esperados. Por lo tanto, puede ser fácilmente automatizado por las herramientas automatizadas.
- Ayuda a mantener la calidad del código fuente.
Desventajas de las pruebas de regresión:
- Puede consumir tiempo y recursos si no se utilizan herramientas automatizadas.
- Es necesario incluso después de cambios muy pequeños en el código.