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

Post on 11-Apr-2015

105 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related