Generación de secuencias de pruebas funcionales con algorithmos bio-inspirados

19
•Haga clic para modificar el estilo de subtítulo del patrón Ajhsia MAEB 2013 Generación de Secuencias de Pruebas Funcionales con Algoritmos Bio- inspirados Javier Ferrer Peter M. Kruse Enrique Alba Francisco Chicano [email protected] [email protected] [email protected] [email protected]

Transcript of Generación de secuencias de pruebas funcionales con algorithmos bio-inspirados

Page 1: Generación de secuencias de pruebas funcionales con algorithmos bio-inspirados

1 of 17

•Haga clic para modificar el estilo de subtítulo del patrónAjhsia

MAEB 2013

Generación de Secuencias de PruebasFuncionales con Algoritmos Bio-inspirados

Javier Ferrer Peter M. Kruse Enrique Alba Francisco [email protected] [email protected] [email protected] [email protected]

Page 2: Generación de secuencias de pruebas funcionales con algorithmos bio-inspirados

2 of 17MAEB 2013 2/25

Contenidos

3

Introducción

Problema de la Secuencia de Pruebas

Algoritmos de Resolución

Experimentos

Conclusiones

1

2

5

IntroducciónSistemas de Alta Variabilidad

Generador de Escenarios de TestValidación Experimental

Conclusiones

4

Page 3: Generación de secuencias de pruebas funcionales con algorithmos bio-inspirados

3 of 17MAEB 2013 3/25

•Necesidad de la fase de pruebas•Alrededor del 50% del presupuesto total

•Automatización de la fase de pruebas•Generación datos + salida (oráculo)

•No hay recursos para pruebas exhaustivas -> Tamaño

Introducción

1,0; 2,3 1,0; 2,3

10,5¡Good!

2,7; 5,4¡Error! 2,7; 5,4

15,1

Page 4: Generación de secuencias de pruebas funcionales con algorithmos bio-inspirados

4 of 17MAEB 2013 4/25

•Combinatorial Interaction Testing es …•Un técnica para pruebas funcionales (black box)•Efectiva para detectar fallos causado por interacciones de parámetros.

•Se identifican los aspectos más relevantes (parámetros) y se definensus correspondientes clases (valores de los parámetros)

•Un caso de prueba es un conjunto de n valores, uno por cada parámetro

Introducción: Combinatorial Interaction Testing

Page 5: Generación de secuencias de pruebas funcionales con algorithmos bio-inspirados

5 of 17MAEB 2013 5/25

•Pruebas tradicionales: Casos de prueba independientes•Secuencias de Pruebas: Estado del SUT (Software Under Test)

•Objetivo: Probar los todos los estados y transiciones

Introducción: Secuencias de Pruebas

Aceleración (40 Km/h)

Girar y Acelerar

(100 Km/h)

Frenar (ABS)

Fallo!

Page 6: Generación de secuencias de pruebas funcionales con algorithmos bio-inspirados

6 of 17MAEB 2013 6/25

•Classification Tree Method: identificar casos de prueba para pruebas funcionales. Diseño del árbol + casos de prueba•Extensión CTM: Añadir transiciones entre clases

•Secuencia de pruebas: lista ordenada de casos de prueba con el objetivo de probar toda la funcionalidad.

Problema Secuencia de Pruebas: CTM

Page 7: Generación de secuencias de pruebas funcionales con algorithmos bio-inspirados

7 of 17MAEB 2013 7/25

•Cobertura de Clases: Todas las clases deben estar presentes en la secuencia

Problema Secuencia de Pruebas: Cobertura

Page 8: Generación de secuencias de pruebas funcionales con algorithmos bio-inspirados

8 of 17MAEB 2013 8/25

•Cobertura de Clases: Todas las clases deben estar presentes en la secuencia•Cobertura de Transiciones: Todas las transiciones posibles deben ser tomadas

Problema Secuencia de Pruebas: Cobertura

Page 9: Generación de secuencias de pruebas funcionales con algorithmos bio-inspirados

9 of 17MAEB 2013 9/25

Algoritmos de Resolución• Generación automática de test suites • Herramienta Real: CTE XL Proffessional

Page 10: Generación de secuencias de pruebas funcionales con algorithmos bio-inspirados

10 of 17MAEB 2013 10/25

•Individuo: Representa la transición seleccionada

•Evaluación:•Parte del estado inicial (startingGame, running)•Consume transiciones del vector

Generador Genético de Secuencias de Pruebas

1 1 1 2 2 5 2 1 3 1

Page 11: Generación de secuencias de pruebas funcionales con algorithmos bio-inspirados

11 of 17MAEB 2013 11/25

•Recombinación: No se ejecuta•Mutación: Probabilidad de mutación adaptativa (m1-m2)

Generador Genético de Secuencias de Pruebas

1 1 1 2 2 5 2 1 3 1

m1=0,05 m2=0,25

1 2 3 4 5 6 7 4 9 7 5 6 4 5 5 5 4 4 5 2 1 1 1 2 2 3 5 6 4 5 5 5 6 4 5 4 5 5 5 4 4 5 2

5 6 4 5 5 5 6 4 5 5 5 6 4 5 5 5 1 2 5 4 4 5 2 1 1 3 4 5 6 7 2 9 7 5 6 4 5 5 4 4 5 2 1

Page 12: Generación de secuencias de pruebas funcionales con algorithmos bio-inspirados

12 of 17MAEB 2013 12/25

•Modificaciones:•Nos interesa el camino completo•No tenemos nodos finales, todos son objetivos

•Heurística:•Selecciona una candidata del conjunto de las disponibles•Guía la búsqueda hacia regiones inexploradas

Generador de Secuencias con ACO

Valor: 90

Valor: 120

Page 13: Generación de secuencias de pruebas funcionales con algorithmos bio-inspirados

13 of 17MAEB 2013 13/25

Experimentos: BenchmarkPrograma Clases Transiciones Minima Completa

Keyboard 5 8 2 4

Microwave 19 23 7 56

Autoradio 20 35 11 66

Citizen 62 74 31 3121

Coffee Machine 21 28 9 81

Communication 10 12 7 7

Elevator 13 18 5 80

Tetris 11 18 10 10

Mealy Moore 5 11 5 5

Fuel Control 5 27 5 600

Transmission 7 12 4 12

Aircraft 24 20 5 625

Page 14: Generación de secuencias de pruebas funcionales con algorithmos bio-inspirados

14 of 17MAEB 2013 14/25

Experimentos: Resultados Cobertura ClasesPrograma GA ACO VorazKeyboard 2 2 2

Microwave 8* 8* 9

Autoradio 13,30* 14 13*

Citizen 39,47* 36** 47

Coffee Machine 9 9 9

Communication 7 7 7

Elevator 6 6 6

Tetris 12* 12* 15

Mealy Moore 5 5 5

Fuel Control 5 5 5

Transmission 4 4 4

Aircraft 4 (86,20%) 4 (86,20%) 4 (86,20%)

*Diferencia significativa con el peor resultado**Diferencia significativa con los otros dos resultados

Page 15: Generación de secuencias de pruebas funcionales con algorithmos bio-inspirados

15 of 17MAEB 2013 15/25

Experimentos: Cobertura Clases Vs Tamaño

Page 16: Generación de secuencias de pruebas funcionales con algorithmos bio-inspirados

16 of 17MAEB 2013 16/25

Experimentos: Resultados Cobertura TransicionesPrograma GA ACO VorazKeyboard 5 5 5

Microwave 17 17 17

Autoradio 36,30 36 36

Citizen 75,27 (99,90%) 64,17 51(92,70%)

Coffee Machine 19 19 18**

Communication 16* 16* 17

Elevator 9 9 9

Tetris 31 31 31

Mealy Moore 24 24 24

Fuel Control 11* 11* 12

Transmission 9 9 9

Aircraft 7 (2) 7 (2) 7 (2)

*Diferencia significativa con el peor resultado**Diferencia significativa con los otros dos resultados

Page 17: Generación de secuencias de pruebas funcionales con algorithmos bio-inspirados

17 of 17MAEB 2013 17/25

Experimentos: Cobertura Transiciones Vs Tamaño

Page 18: Generación de secuencias de pruebas funcionales con algorithmos bio-inspirados

18 of 17MAEB 2013 18/25

Conclusiones y Trabajo Futuro

IntroducciónSistemas de Alta Variabilidad

Generador de Escenarios de TestValidación Experimental

Conclusiones

Contribuciones: Extendemos el CTM para posibilitar la generación de secuencias Experimentamos con 12 modelos de programas y 3 algoritmos

con cobertura de clases y transiciones.Resultados: Las técnicas bio-inspiradas son significativamente mejores,

especialmente en el programa más complejo. El ACO es el mejor algoritmo de la comparación

Trabajo Futuro: Criterios de cobertura t-wise t≥2 para secuencias. Aplicar prioridades a las clases del modelo. Explorar algoritmos de trayectoria como Simulated Annealing.

Page 19: Generación de secuencias de pruebas funcionales con algorithmos bio-inspirados

19 of 17MAEB 2013 19/25

Gracias por su atenciónJavier Ferrer: [email protected]

http://neo.lcc.uma.es/

Generación de Secuencias de Pruebas Funcionales con Algoritmos Bio-inspirados

FINAL