Testing Automatizado de APIs REST basadas en Python Flask

En este trabajo se introduce una nueva extensión de EvoMaster, una herramienta opensource 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 c...

Descripción completa

Detalles Bibliográficos
Autor principal: Maddonni, Axel Ezequiel
Otros Autores: Galeotti, Juan Pablo
Formato: Tesis de grado publishedVersion
Lenguaje:Español
Publicado: Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales 2022
Materias:
Acceso en línea:https://hdl.handle.net/20.500.12110/seminario_nCOM000523_Maddonni
Aporte de:
id seminario:seminario_nCOM000523_Maddonni
record_format dspace
spelling seminario:seminario_nCOM000523_Maddonni2025-05-09T18:45:46Z Testing Automatizado de APIs REST basadas en Python Flask Maddonni, Axel Ezequiel Galeotti, Juan Pablo REST TESTING APIS WEB ALGORITMOS GENETICOS METAHEURISTICAS PYTHON En este trabajo se introduce una nueva extensión de EvoMaster, una herramienta opensource 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. Fil: Maddonni, Axel Ezequiel. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales 2022-12-01 info:eu-repo/semantics/bachelorThesis info:ar-repo/semantics/tesis de grado info:eu-repo/semantics/publishedVersion application/pdf spa info:eu-repo/semantics/openAccess https://creativecommons.org/licenses/by-nc-sa/2.5/ar https://hdl.handle.net/20.500.12110/seminario_nCOM000523_Maddonni
institution Universidad de Buenos Aires
institution_str I-28
repository_str R-134
collection Biblioteca Digital - Facultad de Ciencias Exactas y Naturales (UBA)
language Español
orig_language_str_mv spa
topic REST
TESTING
APIS WEB
ALGORITMOS GENETICOS
METAHEURISTICAS
PYTHON
spellingShingle REST
TESTING
APIS WEB
ALGORITMOS GENETICOS
METAHEURISTICAS
PYTHON
Maddonni, Axel Ezequiel
Testing Automatizado de APIs REST basadas en Python Flask
topic_facet REST
TESTING
APIS WEB
ALGORITMOS GENETICOS
METAHEURISTICAS
PYTHON
description En este trabajo se introduce una nueva extensión de EvoMaster, una herramienta opensource 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.
author2 Galeotti, Juan Pablo
author_facet Galeotti, Juan Pablo
Maddonni, Axel Ezequiel
format Tesis de grado
Tesis de grado
publishedVersion
author Maddonni, Axel Ezequiel
author_sort Maddonni, Axel Ezequiel
title Testing Automatizado de APIs REST basadas en Python Flask
title_short Testing Automatizado de APIs REST basadas en Python Flask
title_full Testing Automatizado de APIs REST basadas en Python Flask
title_fullStr Testing Automatizado de APIs REST basadas en Python Flask
title_full_unstemmed Testing Automatizado de APIs REST basadas en Python Flask
title_sort testing automatizado de apis rest basadas en python flask
publisher Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales
publishDate 2022
url https://hdl.handle.net/20.500.12110/seminario_nCOM000523_Maddonni
work_keys_str_mv AT maddonniaxelezequiel testingautomatizadodeapisrestbasadasenpythonflask
_version_ 1831983618435579904