optimización de pruebas de mutación con el uso de algoritmos genéticos universidad de guadalajara...

15
Optimización de pruebas de mutación con el uso de algoritmos genéticos UNIVERSIDAD DE GUADALAJARA Roberto Carlos Reynoso Rodríguez 1

Upload: cecilio-pomar

Post on 11-Apr-2015

105 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Optimización de pruebas de mutación con el uso de algoritmos genéticos UNIVERSIDAD DE GUADALAJARA Roberto Carlos Reynoso Rodríguez 1

Optimización de pruebas de mutación con el uso de algoritmos genéticosUNIVERSIDAD DE GUADALAJARARoberto Carlos Reynoso Rodríguez

1

Page 2: Optimización de pruebas de mutación con el uso de algoritmos genéticos UNIVERSIDAD DE GUADALAJARA Roberto Carlos Reynoso Rodríguez 1

Validación de software• ¿Qué es?

• La validación de software consiste en el desarrollo de pruebas para encontrar problemas antes de que un producto de software salga al mercado

• ¿Por qué nos interesa?• Existen muchos casos de productos que no fueron correctamente

validados y cuestan millones de dólares a las empresas

2

Page 3: Optimización de pruebas de mutación con el uso de algoritmos genéticos UNIVERSIDAD DE GUADALAJARA Roberto Carlos Reynoso Rodríguez 1

Problema

• El desarrollo de buenas pruebas es costo• Los usuarios exigen cada vez software de mejor calidad• Los ciclos de desarrollo de software son cada vez son menores

3

Page 4: Optimización de pruebas de mutación con el uso de algoritmos genéticos UNIVERSIDAD DE GUADALAJARA Roberto Carlos Reynoso Rodríguez 1

Justificación• ¿Para qué?

• Reducción de costos• Asegurar la calidad del software

• ¿Cómo?• Utilizando Algoritmos Genéticos para generar mejores casos de

prueba

4

Page 5: Optimización de pruebas de mutación con el uso de algoritmos genéticos UNIVERSIDAD DE GUADALAJARA Roberto Carlos Reynoso Rodríguez 1

Pruebas de mutación• ¿Qué es?

• Técnica de validación basada en fallas• ¿Para que sirve?

• Ayuda a verificar que tan bueno es tu conjunto de pruebas

5

Page 6: Optimización de pruebas de mutación con el uso de algoritmos genéticos UNIVERSIDAD DE GUADALAJARA Roberto Carlos Reynoso Rodríguez 1

Pruebas de mutación• ¿Cómo funciona?

1. Validación del software con un conjunto de pruebas2. Generar copias del software original pero con pequeñas

mutaciones3. Validar cada una de las mutaciones con el mismo conjunto de

pruebas que se uso anteriormente

6

Page 7: Optimización de pruebas de mutación con el uso de algoritmos genéticos UNIVERSIDAD DE GUADALAJARA Roberto Carlos Reynoso Rodríguez 1

Pruebas de mutación

4. Comparar los resultados del software original y las mutaciones

• Resultados diferentes -> mutación eliminada• Resultados iguales -> mutación viva/mutación

equivalente

7

Mutation Score =Mutantes muertos

Total de mutantes – Equivalentes x 100

Page 8: Optimización de pruebas de mutación con el uso de algoritmos genéticos UNIVERSIDAD DE GUADALAJARA Roberto Carlos Reynoso Rodríguez 1

Pruebas de mutación

8

Programa Original

Mutaciones

Fun(a,b){ a+b = c}

Fun(a,b){ a-b = c}

Fun(a,b){ a*b = c}

Fun(a,b){ a/b = c}

Mutación Equivalente

Fun(2,2)

Page 9: Optimización de pruebas de mutación con el uso de algoritmos genéticos UNIVERSIDAD DE GUADALAJARA Roberto Carlos Reynoso Rodríguez 1

Algoritmos genéticos• ¿Qué es?

• Algoritmos basados en la teoría de la evolución• ¿Para que sirven?

• Solución de problemas complejos• Optimización

9

Page 10: Optimización de pruebas de mutación con el uso de algoritmos genéticos UNIVERSIDAD DE GUADALAJARA Roberto Carlos Reynoso Rodríguez 1

Algoritmos genéticos• ¿Cómo funcionan?

1. Se selecciona una población que alimentará al algoritmo2. Se evalúa el fitness de cada individuo de la población3. Se aplica Selección, Recombinación y Mutación4. Se seleccionan los mejores individuos para incluirlos en

la nueva población

10

Page 11: Optimización de pruebas de mutación con el uso de algoritmos genéticos UNIVERSIDAD DE GUADALAJARA Roberto Carlos Reynoso Rodríguez 1

Objetivo• Desarrollar e implementar un algoritmo genético que ayude

en la optimización de pruebas de mutación.• Optimizar

• Mutaciones• Pruebas

11

Page 12: Optimización de pruebas de mutación con el uso de algoritmos genéticos UNIVERSIDAD DE GUADALAJARA Roberto Carlos Reynoso Rodríguez 1

Cronograma

12

TAREAS JUNIO JULIO AGOSTO SEPTIEMBRE OCTUBRE NOVIEMBRE

Aprobación del tema de TesisInvestigación de modelos implementadosDiseño del algoritmoImplementación del algoritmoAnalizar datos y conclusiones

Page 13: Optimización de pruebas de mutación con el uso de algoritmos genéticos UNIVERSIDAD DE GUADALAJARA Roberto Carlos Reynoso Rodríguez 1

Cuadro de análisis de congruencia

TÍTULO OBJETIVO PREGUNTA HIPÓTESIS VARIABLES

Optimización de pruebas de mutación con el uso de algoritmos genéticos.

Desarrollar e Implementar un algoritmo genético que ayude en la optimización de pruebas de mutación.

¿Con la utilización de un algoritmo genético se pueden obtener pruebas y mutaciones óptimas para reducir tiempo y costos en validación?

El uso de algoritmos genéticos ayuda a optimizar las pruebas de mutación

Mutation Score

13

Page 14: Optimización de pruebas de mutación con el uso de algoritmos genéticos UNIVERSIDAD DE GUADALAJARA Roberto Carlos Reynoso Rodríguez 1

Referencias• Gao, Jerry Tsai, H.S. Wu, Ye. Testing and Quality Assurance for

Component-Based Software. Norwood : Artech, House, 2003.• D.E., Goldberg. Genetic Algorithms in Search, Optimization,

and Machine Learning. s.l. : Addison - Wesley, 1989.

14

Page 15: Optimización de pruebas de mutación con el uso de algoritmos genéticos UNIVERSIDAD DE GUADALAJARA Roberto Carlos Reynoso Rodríguez 1

Gracias

15