Testing Automatizado de APIs REST basadas en Python Flask

Autores
Maddonni, Axel Ezequiel
Año de publicación
2022
Idioma
español castellano
Tipo de recurso
tesis de grado
Estado
versión publicada
Colaborador/a o director/a de tesis
Galeotti, Juan Pablo
Descripción
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.
Materia
REST
TESTING
APIS WEB
ALGORITMOS GENETICOS
METAHEURISTICAS
PYTHON
Nivel de accesibilidad
acceso abierto
Condiciones de uso
https://creativecommons.org/licenses/by-nc-sa/2.5/ar
Repositorio
Biblioteca Digital (UBA-FCEN)
Institución
Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
OAI Identificador
seminario:seminario_nCOM000523_Maddonni

id BDUBAFCEN_52aaaad113d1e17ee822df501ec003d8
oai_identifier_str seminario:seminario_nCOM000523_Maddonni
network_acronym_str BDUBAFCEN
repository_id_str 1896
network_name_str Biblioteca Digital (UBA-FCEN)
spelling Testing Automatizado de APIs REST basadas en Python FlaskMaddonni, Axel EzequielRESTTESTINGAPIS WEBALGORITMOS GENETICOSMETAHEURISTICASPYTHONEn 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 NaturalesGaleotti, Juan Pablo2022-12-01info:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_7a1finfo:ar-repo/semantics/tesisDeGradoapplication/pdfhttps://hdl.handle.net/20.500.12110/seminario_nCOM000523_Maddonnispainfo:eu-repo/semantics/openAccesshttps://creativecommons.org/licenses/by-nc-sa/2.5/arreponame:Biblioteca Digital (UBA-FCEN)instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesinstacron:UBA-FCEN2025-11-06T09:40:39Zseminario:seminario_nCOM000523_MaddonniInstitucionalhttps://digital.bl.fcen.uba.ar/Universidad públicaNo correspondehttps://digital.bl.fcen.uba.ar/cgi-bin/oaiserver.cgiana@bl.fcen.uba.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:18962025-11-06 09:40:41.136Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesfalse
dc.title.none.fl_str_mv Testing Automatizado de APIs REST basadas en Python Flask
title Testing Automatizado de APIs REST basadas en Python Flask
spellingShingle Testing Automatizado de APIs REST basadas en Python Flask
Maddonni, Axel Ezequiel
REST
TESTING
APIS WEB
ALGORITMOS GENETICOS
METAHEURISTICAS
PYTHON
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
dc.creator.none.fl_str_mv Maddonni, Axel Ezequiel
author Maddonni, Axel Ezequiel
author_facet Maddonni, Axel Ezequiel
author_role author
dc.contributor.none.fl_str_mv Galeotti, Juan Pablo
dc.subject.none.fl_str_mv REST
TESTING
APIS WEB
ALGORITMOS GENETICOS
METAHEURISTICAS
PYTHON
topic REST
TESTING
APIS WEB
ALGORITMOS GENETICOS
METAHEURISTICAS
PYTHON
dc.description.none.fl_txt_mv 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.
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.
publishDate 2022
dc.date.none.fl_str_mv 2022-12-01
dc.type.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
info:eu-repo/semantics/publishedVersion
http://purl.org/coar/resource_type/c_7a1f
info:ar-repo/semantics/tesisDeGrado
format bachelorThesis
status_str publishedVersion
dc.identifier.none.fl_str_mv https://hdl.handle.net/20.500.12110/seminario_nCOM000523_Maddonni
url https://hdl.handle.net/20.500.12110/seminario_nCOM000523_Maddonni
dc.language.none.fl_str_mv spa
language spa
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
https://creativecommons.org/licenses/by-nc-sa/2.5/ar
eu_rights_str_mv openAccess
rights_invalid_str_mv https://creativecommons.org/licenses/by-nc-sa/2.5/ar
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales
publisher.none.fl_str_mv Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales
dc.source.none.fl_str_mv reponame:Biblioteca Digital (UBA-FCEN)
instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
instacron:UBA-FCEN
reponame_str Biblioteca Digital (UBA-FCEN)
collection Biblioteca Digital (UBA-FCEN)
instname_str Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
instacron_str UBA-FCEN
institution UBA-FCEN
repository.name.fl_str_mv Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
repository.mail.fl_str_mv ana@bl.fcen.uba.ar
_version_ 1848046115029516288
score 13.087074