Date post: | 18-Jan-2017 |
Category: |
Software |
Upload: | javier-ferrer |
View: | 25 times |
Download: | 0 times |
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]
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
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
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
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!
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
7 of 17MAEB 2013 7/25
•Cobertura de Clases: Todas las clases deben estar presentes en la secuencia
Problema Secuencia de Pruebas: Cobertura
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
9 of 17MAEB 2013 9/25
Algoritmos de Resolución• Generación automática de test suites • Herramienta Real: CTE XL Proffessional
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
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
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
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
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
15 of 17MAEB 2013 15/25
Experimentos: Cobertura Clases Vs Tamaño
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
17 of 17MAEB 2013 17/25
Experimentos: Cobertura Transiciones Vs Tamaño
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.
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