Research on the detection of test smells and flaky tests

[EN] This project is an empirical study that aims to research about test smells and flaky tests. Software testing is a key part of the development process of every project. During the implementation of test code, test smells arise, which are poor programming practices present in the test cases. Beca...

Descripción completa

Detalles Bibliográficos
Autor: Vicent Micó, Alejandro
Tipo de recurso: tesis de maestría
Fecha de publicación:2023
País:España
Institución:Universitat Politècnica de València (UPV)
Repositorio:RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia
Idioma:inglés
OAI Identifier:oai:riunet.upv.es:10251/198550
Acceso en línea:https://riunet.upv.es/handle/10251/198550
Access Level:acceso abierto
Palabra clave:Malos olores
Pruebas inestables
Pruebas de software
Herramientas de detección
Prácticas de programación
Test smells
Flaky tests
Software testing
Detection tools
Programming practices
LENGUAJES Y SISTEMAS INFORMATICOS
Máster Universitario en Ingeniería Informática-Màster Universitari en Enginyeria Informàtica
id ES_60f73d324126bbadd09576ee91c2cd0c
oai_identifier_str oai:riunet.upv.es:10251/198550
network_acronym_str ES
network_name_str España
repository_id_str
dc.title.none.fl_str_mv Research on the detection of test smells and flaky tests
Investigación en la detección de malos olores en pruebas y pruebas inestables
Investigació en la detecció de mals olors en proves i proves inestables
title Research on the detection of test smells and flaky tests
spellingShingle Research on the detection of test smells and flaky tests
Vicent Micó, Alejandro
Malos olores
Pruebas inestables
Pruebas de software
Herramientas de detección
Prácticas de programación
Test smells
Flaky tests
Software testing
Detection tools
Programming practices
LENGUAJES Y SISTEMAS INFORMATICOS
Máster Universitario en Ingeniería Informática-Màster Universitari en Enginyeria Informàtica
title_short Research on the detection of test smells and flaky tests
title_full Research on the detection of test smells and flaky tests
title_fullStr Research on the detection of test smells and flaky tests
title_full_unstemmed Research on the detection of test smells and flaky tests
title_sort Research on the detection of test smells and flaky tests
dc.creator.none.fl_str_mv Vicent Micó, Alejandro
author Vicent Micó, Alejandro
author_facet Vicent Micó, Alejandro
author_role author
dc.contributor.none.fl_str_mv Albert Albiol, Manuela
Takada, Shingo
Departamento de Sistemas Informáticos y Computación
Escuela Técnica Superior de Ingeniería Informática
Instituto Universitario Valenciano de Investigación en Inteligencia Artificial
Repositorio Institucional de la Universitat Politècnica de València Riunet
dc.subject.none.fl_str_mv Malos olores
Pruebas inestables
Pruebas de software
Herramientas de detección
Prácticas de programación
Test smells
Flaky tests
Software testing
Detection tools
Programming practices
LENGUAJES Y SISTEMAS INFORMATICOS
Máster Universitario en Ingeniería Informática-Màster Universitari en Enginyeria Informàtica
topic Malos olores
Pruebas inestables
Pruebas de software
Herramientas de detección
Prácticas de programación
Test smells
Flaky tests
Software testing
Detection tools
Programming practices
LENGUAJES Y SISTEMAS INFORMATICOS
Máster Universitario en Ingeniería Informática-Màster Universitari en Enginyeria Informàtica
description [EN] This project is an empirical study that aims to research about test smells and flaky tests. Software testing is a key part of the development process of every project. During the implementation of test code, test smells arise, which are poor programming practices present in the test cases. Because of that, not only the effectiveness of the tests is affected, but also the maintenance and readability. In addition, some tests may have non-deterministic outcomes. These tests are called flaky and often lead to confusion and unreliable results . In this study, tools for the automated detection of test smells have been examined and used, which allow developers to find test smells in their projects in an efficient way. The tools were executed over a set of projects with flaky tests and the results were compared with the flaky results for analyzing the test methods with flaky behavior and test smells. The most common smells were found out and the relation between smells and flakiness was considered. The reached conclusion was that there is not enough evidence to support a strong correlation between test smells and flaky tests. However, some test smells might be related to other patterns that cause flaky results, such as asynchronous behaviors and connections to external resources. For easing the process of detecting and comparing test smells and flaky tests, an application was developed. As a result, the introduction of these practices is a bad habit that should be avoided, and some guidelines are provided in this regard.
publishDate 2023
dc.date.none.fl_str_mv 2023
2023-10-23
2023
2023-09-22
dc.type.none.fl_str_mv master thesis
http://purl.org/coar/resource_type/c_bdcc
dc.type.openaire.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
dc.identifier.none.fl_str_mv https://riunet.upv.es/handle/10251/198550
url https://riunet.upv.es/handle/10251/198550
dc.language.none.fl_str_mv Inglés
eng
language_invalid_str_mv Inglés
language eng
dc.rights.none.fl_str_mv open access
http://purl.org/coar/access_right/c_abf2
Reserva de todos los derechos
http://rightsstatements.org/vocab/InC/1.0/
dc.rights.openaire.fl_str_mv info:eu-repo/semantics/openAccess
rights_invalid_str_mv open access
http://purl.org/coar/access_right/c_abf2
Reserva de todos los derechos
http://rightsstatements.org/vocab/InC/1.0/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universitat Politècnica de València
publisher.none.fl_str_mv Universitat Politècnica de València
dc.source.none.fl_str_mv reponame:RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia
instname:Universitat Politècnica de València (UPV)
instname_str Universitat Politècnica de València (UPV)
reponame_str RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia
collection RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia
repository.name.fl_str_mv
repository.mail.fl_str_mv
_version_ 1869409357753483264
spelling Research on the detection of test smells and flaky testsInvestigación en la detección de malos olores en pruebas y pruebas inestablesInvestigació en la detecció de mals olors en proves i proves inestablesVicent Micó, AlejandroMalos oloresPruebas inestablesPruebas de softwareHerramientas de detecciónPrácticas de programaciónTest smellsFlaky testsSoftware testingDetection toolsProgramming practicesLENGUAJES Y SISTEMAS INFORMATICOSMáster Universitario en Ingeniería Informática-Màster Universitari en Enginyeria Informàtica[EN] This project is an empirical study that aims to research about test smells and flaky tests. Software testing is a key part of the development process of every project. During the implementation of test code, test smells arise, which are poor programming practices present in the test cases. Because of that, not only the effectiveness of the tests is affected, but also the maintenance and readability. In addition, some tests may have non-deterministic outcomes. These tests are called flaky and often lead to confusion and unreliable results . In this study, tools for the automated detection of test smells have been examined and used, which allow developers to find test smells in their projects in an efficient way. The tools were executed over a set of projects with flaky tests and the results were compared with the flaky results for analyzing the test methods with flaky behavior and test smells. The most common smells were found out and the relation between smells and flakiness was considered. The reached conclusion was that there is not enough evidence to support a strong correlation between test smells and flaky tests. However, some test smells might be related to other patterns that cause flaky results, such as asynchronous behaviors and connections to external resources. For easing the process of detecting and comparing test smells and flaky tests, an application was developed. As a result, the introduction of these practices is a bad habit that should be avoided, and some guidelines are provided in this regard.[ES] Este proyecto es un estudio empírico que pretende investigar sobre los malos olores en pruebas y las pruebas inestables. Las pruebas de software son una parte fundamental del proceso de desarrollo de cualquier proyecto. Durante la implementación del código de prueba, surgen los malos olores, que son malas prácticas de programación presentes en los casos de prueba. Debido a ello, no sólo se ve afectada la eficacia de las pruebas, sino también su mantenimiento y legibilidad. Además, algunas pruebas pueden tener resultados no deterministas. Estas pruebas se denominan "inestables" y a menudo provocan confusión y resultados poco fiables. En este estudio se han examinado y utilizado herramientas para la detección automatizada de malos olores, que permiten a los desarrolladores encontrar estos olores en sus proyectos de forma eficiente. Las herramientas se ejecutaron sobre un conjunto de proyectos con pruebas inestables y los resultados se compararon con los resultados defectuosos para analizar los casos de prueba con comportamiento inestable y malos olores. Se descubrieron los olores más comunes y se consideró la relación entre olores e inestabilidad. La conclusión obtenida es que no hay pruebas suficientes que apoyen una fuerte correlación entre los malos olores en casos de prueba y las pruebas inestables. Sin embargo, algunos malos olores podrían estar relacionados con otros patrones que causan resultados inestables, como comportamientos asíncronos y conexiones a recursos externos. Para facilitar el proceso de detección y comparación de los "malos olores" y las "pruebas inestables", se ha desarrollado una aplicación. Como resultado, la introducción de estas prácticas es un mal hábito que debe evitarse, y se proporcionan algunas pautas en este aspecto.[CA] Aquest projecte es un estudi empíric que preten investigar sobre les males olors en proves i les proves inestables. Las proves de software son una part fonamental del procés de desenvolupament de qualsevol projecte. Durant la implementació del códi de prova, sorgeixen les males olors, que son males pràctiques de programació presents en els casos de prova. Per aquesta raó, no sols es veu afectada l’eficàcia de les proves, sinó també el seu manteniment y legibilitat. Ademés, algunes proves poden tenir resultats no deterministes. Aquestes proves es denominen “inestables” i sovint provoquen confusió i resultats poc fiables. En aquest estudi s’han examinat i utilitzat ferramentes per a la detecció automatitzada de males olors, que permeten els desarrolladors trovar aquestes olors en els seus projectes de forma eficient. Les ferramentes es van executar sobre un conjunt de projectes amb proves inestables i els resultats es van comparar amb els resultats defectuosos per a analizar els casos de prova amb comportament inestable i males olors. Es van descobrir les olors més comunes i es considerà la relació entre olors i inestabilitat. La conclusión obtinguda es que no hi han proves suficiente que suporten una forta correlació entre males olors en casos de prova i proves inestables. No obstant, algunes males olors podrien estar relacionades amb altres patrons que provoquen resultats inestables, com comportaments asíncrons i conexions a recursos externs. Per a facilitar el procés de detecció i comparació de les “males olors” i les “proves inestables”, s’ha desarrollat una aplicació. Com a resultat, la introducción d’aquestes practiques es un mal hàbit que es deuria d’evitar, i es proporcionen algunes pautes en aquest aspecte.Universitat Politècnica de ValènciaAlbert Albiol, ManuelaTakada, ShingoDepartamento de Sistemas Informáticos y ComputaciónEscuela Técnica Superior de Ingeniería InformáticaInstituto Universitario Valenciano de Investigación en Inteligencia ArtificialRepositorio Institucional de la Universitat Politècnica de València Riunet20232023-10-2320232023-09-22master thesishttp://purl.org/coar/resource_type/c_bdccinfo:eu-repo/semantics/masterThesisapplication/pdfhttps://riunet.upv.es/handle/10251/198550reponame:RiuNet. Repositorio Institucional de la Universitat Politécnica de Valénciainstname:Universitat Politècnica de València (UPV)Inglésengopen accesshttp://purl.org/coar/access_right/c_abf2Reserva de todos los derechoshttp://rightsstatements.org/vocab/InC/1.0/info:eu-repo/semantics/openAccessoai:riunet.upv.es:10251/1985502026-06-13T07:49:27Z
score 15,300719