Optimización de pruebas de mutación con el uso de algoritmos genéticos UNIVERSIDAD DE GUADALAJARA...
-
Upload
cecilio-pomar -
Category
Documents
-
view
106 -
download
1
Transcript of Optimización de pruebas de mutación con el uso de algoritmos genéticos UNIVERSIDAD DE GUADALAJARA...
Optimización de pruebas de mutación con el uso de algoritmos genéticosUNIVERSIDAD DE GUADALAJARARoberto 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
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
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
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
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
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
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)
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
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
Objetivo• Desarrollar e implementar un algoritmo genético que ayude
en la optimización de pruebas de mutación.• Optimizar
• Mutaciones• Pruebas
11
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
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
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
Gracias
15