
Defensa Tesis Licenciatura Axel Maddonni
1 diciembre, 2022 @ 4:00 pm - 5:00 pm
Título: Testing Automatizado de APIs REST basadas en Python Flask
Director: Juan Pablo Galeotti
Jurados: Guido de Caso y Hernan Wilkinson
Resumen:
En este trabajo se introduce una nueva extensión de EvoMaster, una herramienta open-source para generación automática de testeos impulsada por un algoritmo evolutivo, para aplicaciones web REST Python implementadas bajo el framework Flask. Esta herramienta cuenta con dos componentes principales: un core, encargado de llevar a cabo el algoritmo de búsqueda denominado MIO que aplica heurísticas para la optimización de testeos buscando maximizar la cobertura de líneas y branches sobre el código de la aplicación a testear; y un driver o controlador, encargado de alimentar al core con las métricas necesarias para la evolución del algoritmo. Se describe el diseño e implementación de un controlador exclusivo para Python encargado de la comunicación con el core bajo un protocolo ya establecido y la instrumentación de código mediante la aplicación de transformaciones sobre el árbol AST del código fuente original. Además, como parte de este trabajo se
extiende el core para soportar la escritura de los tests en lenguaje Python y se provee de una librería Python para la distribución y testeo del nuevo controlador. Por último, se reportan y analizan métricas de cobertura de líneas y cobertura de branches obtenidas a partir de tests generados automáticamente para cinco casos de prueba diferentes, tres de ellos artificiales y dos de ellos originales de terceros, disponibles públicamente en GitHub.