Registro:
Documento: | Tesis de Grado |
Título: | Distancia SQL avanzada para generación de casos de test con EvoMaster |
Autor: | Brassara, Luis Francisco |
Editor: | Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales |
Publicación en la web: | 2025-06-12 |
Fecha de defensa: | 2024-09-18 |
Fecha en portada: | 2024 |
Grado Obtenido: | Grado |
Título Obtenido: | Licenciado en Ciencias de la Computación |
Departamento Docente: | Departamento de Computación |
Director: | Galeotti, Juan Pablo |
Jurado: | D'Arrigo, Sergio Damián; Altauz, Javier |
Idioma: | Español |
Palabras clave: | EVOMASTER; GENERACION DE TESTS AUTOMATICOS; ALGORITMOS EVOLUTIVOS; ALGORITMO MIOEVOMASTER; AUTOMATIC TEST GENERATION; REST APIS; BRANCH COVERAGE; EVOLUTIONARY ALGORITHMS; MIO ALGORITHM; BRANCH DISTANCE; SQL DISTANCE |
Formato: | PDF |
Handle: |
http://hdl.handle.net/20.500.12110/seminario_nCOM000774_Brassara |
PDF: | https://bibliotecadigital.exactas.uba.ar/download/seminario/seminario_nCOM000774_Brassara.pdf |
Registro: | https://bibliotecadigital.exactas.uba.ar/collection/seminario/document/seminario_nCOM000774_Brassara |
Ubicación: | Dep.COM 000774 |
Derechos de Acceso: | Esta obra puede ser leída, grabada y utilizada con fines de estudio, investigación y docencia. Es necesario el reconocimiento de autoría mediante la cita correspondiente. Brassara, Luis Francisco. (2024). Distancia SQL avanzada para generación de casos de test con EvoMaster. (Tesis de Grado. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales.). Recuperado de http://hdl.handle.net/20.500.12110/seminario_nCOM000774_Brassara |
Resumen:
EvoMaster es una herramienta de generación automática de casos de test para una API REST. Para que la suite generada consiga el mayor coverage posible, EvoMaster intenta generar tests que visiten todas las ramas de los condicionales. Esto lo consigue usando algoritmos evolutivos, cuya población de individuos serán test con llamadas REST y cuya función de fitness será lo que se conoce como branch distance. Como algunas guardas de los condicionales no dependen solo de los parámetros REST sino también del estado de la base de datos, se extendió EvoMaster para tener en cuenta este comportamiento. La heurística planteada en ese trabajo supone que algunas ramas de los condicionales no se visitan cuando la base de datos devuelve una query sin resultados. Luego, identifica esas queries y determina cuán lejos o cerca están de devolver algún resultado mediante la definición de una SQL distance. Esa definición de distancia es usada en la fitness function para guiar al algoritmo evolutivo hacia soluciones que visiten más ramas y en consecuencia ofrezcan mayor coverage. Actualmente, la implementación de la SQL distance cubre sólo un subconjunto de todas las posibles queries SQL ya que no tiene soporte para operadores que involucran subqueries tales como EXISTS, IN, ALL/ANY o UNION. Además, la SQL distance actual no da ningún gradiente intermedio cuando la cláusula FROM no trae resultados. El objetivo de la tesis será entonces definir, implementar y probar una extensión de la SQL distancia actual, que llamaremos distancia SQL avanzada, de manera que cubra esos nuevos casos y funcionalidades.
Abstract:
EvoMaster is an automatic test case generation tool for REST APIs. In order to achieve the highest possible coverage, EvoMaster tries to generate tests that visit all conditional branches. In order to achieve this, it uses evolutionary algorithms, where each individual in the population will be a sequence of REST calls and which fitness function will be what is known as branch distance. Since some conditional guards do not depend only on REST parameters but also on the state of the database, EvoMaster was extended to take this behavior into account. The heuristic proposed in that work assumes that some branches of the conditionals are not visited when the database returns a query without results. Then, it identifies those queries and determines how far or close they are to returning any result by defining a SQL distance. That distance definition is used in the fitness function to guide the evolutionary algorithm towards solutions that visit more branches and consequently offer greater coverage. Currently, the SQL distance implementation covers only a subset of all possible SQL queries as it does not support operators involving subqueries such as EXISTS, IN, ALL/ANY or UNION. Furthermore, the current SQL distance does not give any intermediate gradient when the FROM clause does not bring results. The goal of the thesis will then be to define, implement and test an extension of the current SQL distance, which we will call advanced SQL distance, so that it covers these new cases and functionalities.
Citación:
---------- APA ----------
Brassara, Luis Francisco. (2024). Distancia SQL avanzada para generación de casos de test con EvoMaster. (Tesis de Grado. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales.). Recuperado de https://hdl.handle.net/20.500.12110/seminario_nCOM000774_Brassara
---------- CHICAGO ----------
Brassara, Luis Francisco. "Distancia SQL avanzada para generación de casos de test con EvoMaster". Tesis de Grado, Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales, 2024.https://hdl.handle.net/20.500.12110/seminario_nCOM000774_Brassara
Estadísticas:
Descargas mensuales
Total de descargas desde :
https://bibliotecadigital.exactas.uba.ar/download/seminario/seminario_nCOM000774_Brassara.pdf
Distrubución geográfica