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...
Autor principal: | |
---|---|
Otros Autores: | |
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 |