FACULTAD CIENCIAS DE LA INGENIERIA “FACI”
CARRERA DE SOFTWARE
ASIGNATURA:
Verificación y Validación de software
DOCENTE:
ING. Vinueza Morales Mariuxi Geovanna
INTEGRANTES DEL
GRUPO #9:
TEMA:
A Comparison of
Reinforcement Learning
Frameworks for Software
Testing Tasks
CURSO:
6to Semestre A1
PERIODO LECTIVO
2023-2024
Realice un resumen de los antecedentes (Background)
En esta sección se tocan 2 puntos, en el primero se presentan los DRL y algunos marcos
de última generación, en el segundo punto describen los términos, notaciones utilizadas
para definir la priorización de casos y los problemas de prueba de juegos.
Un agente DRL interactúa con el entorno que puede modelarse como un proceso de
decisión de Markov, con los siguientes componentes: estado del medio ambiente,
acción, distribución de transición de estado, episodio, policía, DRL basado en modelos
y sin modelos, aprendizaje basado en valores, basado en políticas y crítico de actores;
espacio de acción y observación, dentro de la política vs fuera de la política. Algunos
marcos DRL de última generación son: OpenAI baselines, Stablebaselines, Keras-rl,
Tensorforce- Dopamine.
El proceso de probar un juego es una actividad esencial antes de su lanzamiento oficial,
por lo cual presentan algunos conceptos que son de total importancia para comprender
las pruebas automáticas, estas son: 1. El juego; 2. Estado del juego; 3. Probador del
juego; 4. Criterios de adecuación de la prueba; 5. Ciclos de CL; 6. Función de caso de
prueba clasificación optima; 7. DRL como proceso de clasificación.
Explique la metodología utilizada (Study design).
Esta metodología se centra en la aplicación del aprendizaje por refuerzo profundo
(DRL) en tareas de prueba de software, un campo de investigación en constante
evolución. Los autores de esta investigación se adentraron en la exploración de la
efectividad y el rendimiento de los algoritmos DRL implementados en diversos marcos
DRL, con un enfoque particular en dos tareas de vital importancia en el ámbito de la
prueba de software: la priorización de casos de prueba en el contexto de la integración
continua (CI) y la prueba de juegos. En un esfuerzo por llevar a cabo una investigación
rigurosa, los autores se tomaron el tiempo de seleccionar cuidadosamente tanto los
algoritmos DRL como los marcos DRL que emplearon en sus experimentos. Para la
tarea de prueba de juegos, se desarrollaron experimentos en un juego de software
relativamente simple, utilizando algoritmos de aprendizaje por refuerzo profundo para
explorar el juego y detectar posibles errores en su funcionamiento. Este enfoque resultó
ser particularmente interesante, ya que resalta el potencial del DRL en la detección
temprana de problemas en juegos y aplicaciones de software similares.
Por otro lado, en la esfera de la priorización de casos de prueba, se llevaron a cabo
experimentos en un entorno de integración continua (CI), un proceso crucial en el
desarrollo de software. En este contexto, se emplearon algoritmos DRL de diferentes
marcos para clasificar y priorizar los casos de prueba, un proceso que puede tener un
impacto significativo en la eficiencia de las pruebas de software. Los resultados de estos
experimentos arrojaron información valiosa, demostrando que algunos de los marcos
DRL seleccionados, como Tensorforce, superaron a enfoques previamente propuestos
en la literatura especializada. Esto resalta el potencial de DRL en la automatización de
procesos críticos para el desarrollo y aseguramiento de la calidad del software.
Explique los principales resultados del experimento (Experimental results).
Los resultados claves del experimento se detallan en varias partes del documento,
específicamente en las páginas 40 y 52. En términos generales, estos resultados sugieren
que los algoritmos de aprendizaje por refuerzo profundo (DRL) implementados en los
marcos DRL que elegimos pueden ser efectivos para organizar casos de prueba en un
entorno de integración continua (CI).
En la página 40, se muestran los resultados de las pruebas que se realizan para comparar
el rendimiento de diferentes configuraciones de DRL en función de su capacidad de
predicción. Descubrimos que ciertas configuraciones, como PPO SB y A2C SB, superan
a sus contrapartes en el marco Tensorforce. Además, observamos que el algoritmo
DDPG KR obtiene un mejor rendimiento que DDPG SB y DDPG TF.
En la página 52, se discuten los resultados de las pruebas estadísticas utilizadas para
evaluar la solidez de las conclusiones. Hacen hincapié en que las limitaciones de las
conclusiones se refieren al grado de precisión en las afirmaciones estadísticas sobre
cuáles algoritmos o marcos son los más efectivos. Se utilizan pruebas estadísticas como
ANOVA de Welch y el test post hoc de Games Howell para evaluar estas conclusiones.
En conjunto, los resultados indican que tanto los marcos DRL que seleccionados y los
algoritmos DRL implementados pueden ser eficaces en la organización de casos de
prueba en un entorno de integración continua. No obstante, es importante tener en
cuenta las limitaciones de las conclusiones debido a posibles amenazas potenciales a la
validez de los resultados.
¿Cuál es el tema principal del artículo? (4-5 líneas)
El artículo se centra en evaluar empíricamente los algoritmos DRL
implementados en marcos DRL para dos tareas cruciales: la priorización
de casos de prueba en Integración Continua (CI) y las pruebas de juegos.
El estudio demuestra que ciertos marcos DRL, como Tensorforce, superan
los enfoques actuales, pero también subraya la importancia de considerar
las suposiciones de estos algoritmos al elegir un marco DRL adecuado
para resolver problemas específicos de prueba de software.