Please enable JavaScript.
Coggle requires JavaScript to display documents.
Pruebas de regresion image - Coggle Diagram
Pruebas de regresion
Pruebas que validan que las funcionalidades previas a una mejora o modificación sigan funcionando igual que antes
Una forma de probar que exista o no regresión, es utilizando las pruebas que estaban para las funcionalidades originales en el nuevo software
En la mayoría de los casos, las pruebas originales quedaran obsoletas por las posibles modificaciones a las estructuras orignales (se añadio algun atributo o un arraylist por ejemplo)
Tambien, al crear y marcar versiones antiguas de casos de pruebas puede ayudar a ver si hay redundancia en los test que quizás no sean tan efectivos como unos nuevos y actualizados a la nueva estructura
Una buena documentación de los test puede ayudar a mantener un buen entendimiento de que estamos probando a lo largo del proyecto y sus posibles mejoras
Tecnicas de seleccion para pruebas de regresion
-
La priorización de casos de pruebas permite definir aquellos test que son relevante que se ejecuten reiteradas veces frente a otros que no
La tecnica de seleccion de una prueba basada en el codigo elige "ejecitar" elige probar test que incluyan a codigo modificado
Soportada por herramientas relativamente simples aunque no suelen escalar bien cuando se testea todo el sistema
Los criterios basados en especificaciones seleccionan un caso de prueba para su ejecución si es relevante para una parte de la especificación que ha sido cambiada.
Los criterios basados en especificaciones escalan bien y son más fáciles de aplicar a cambios que abarcan varios módulos. Sin embargo, son más difíciles de automatizar
Se obtienen diferentes criterios dependiendo del modelo de programa en el cual se basa la comparación de versiones (por ejemplo, flujo de control o modelos de flujo de datos).
Las técnicas de regresión basadas en el flujo de control (Control Flow Graph o CFG) se centran en las diferencias entre los gráficos de flujo de control de las versiones antigua y nueva de un software
Estas técnicas identifican subconjuntos de casos de prueba que recorren las partes modificadas del programa, comparando los gráficos de flujo de control anotados de ambas versiones
se seleccionan los casos que recorren solo los caminos afectados. De esta manera, se reduce el conjunto de pruebas necesarias, ya que solo el 67% de los casos originales necesita ser reejecutado
Las técnicas de selección de pruebas de regresión basadas en el flujo de datos (DF) y especificaciones se utilizan para determinar qué casos de prueba deben ser reejecutados después de modificaciones en el código
Estas técnicas identifican y seleccionan los casos de prueba que ejercen pares de definición-uso (DU) modificados o eliminados
Las técnicas de selección de pruebas de regresión basadas en especificaciones no requieren registrar las rutas de flujo de control ejecutadas por las pruebas
Los casos de prueba se identifican mediante la correspondencia entre los casos de prueba y los elementos de la especificación. Por ejemplo, en el método de partición de categorías,
-
En enfoques basados en modelos de máquinas de estado finito, los casos de prueba cubren estados y transiciones.
Los criterios de selección de pruebas de regresión basados en código pueden adaptarse para pruebas basadas en modelos
Por ejemplo, en el gráfico de flujo de control derivado de la especificación del proceso de pedido de envío, se agrega un ítem de "Países restringidos". Esto implica que, si la dirección de envío incluye un país restringido por regulaciones comerciales, solo se aceptarán pagos con tarjeta de crédito para ese pedido y se aplicarán restricciones de envío.
Los modelos creados para pruebas pueden usarse no solo para seleccionar casos de prueba de regresión, sino también para generar nuevos casos de prueba para el nuevo código
Los casos de prueba de alta prioridad se ejecutan con más frecuencia, especialmente aquellos que han detectado fallos en versiones anteriores o que cubren elementos de código específicos.
La prioridad puede asignarse de varias formas. Un esquema básico asigna baja prioridad a casos de prueba ejecutados recientemente y alta prioridad a los menos usados
En cuanto a la selección de pruebas de regresión basadas en código fuente, aunque se ha investigado ampliamente, existen oportunidades para mejorar en técnicas que garanticen la seguridad, es decir, seleccionar todos los casos de prueba que puedan verse afectados por un cambio de software
La selección de pruebas basada en especificaciones es prometedora, especialmente cuando se trabaja con componentes sin acceso total al código fuente.