Um mapeamento sistemático sobre ferramentas para detecção de flaky tests

Detalhes bibliográficos
Autor(a) principal: Martins, Pedro Anderson Costa
Data de Publicação: 2023
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da Universidade Federal do Ceará (UFC)
Texto Completo: http://www.repositorio.ufc.br/handle/riufc/73947
Resumo: Flaky tests are tests that behave in a non-deterministic way, that is, they have uncertain results, and may return pass and fail results even when executed in the same code of tests that have not changed. A considerable part of test suite failures are caused by flaky tests. If we consider that the continuous integration model is widely adopted in industrial projects, with thousands of tests, the presence of flaky tests can be even more critical, since during regression tests, a single flaky test can paralyze the entire creation process of builds and releases of updates, causing delays in deliveries. In this study, a systematic mapping was carried out to investigate the tools related to Flaky tests in 37 articles, with the objective of answering 3 research questions. The first research question seeks to show the tools found and available to the community, where 30 tools were returned and which were organized according to their publication or creation dates. The second research question is intended to provide an overview of each of the 30 tools collected, encompassing the objectives, techniques or approaches and the study from which each tool was collected, where it was possible to observe, for example, rerun is the most used technique to support detection. The third and final research question is intended to provide the highest level features of the tools and the causes they address, showing, for example, that a total of 46% of the tools address the test order dependency cause and that 70% of the tools are analyzed in the java language. With the discoveries of this study, it is expected to contribute to players in the Software Testing area, researchers and developers, providing inputs for future studies and a more centralized source of available tools, so that those interested can select one or more tools for future studies or some professional necessity.
id UFC-7_e3ae3213fab437b8a7fb1af23bcd1715
oai_identifier_str oai:repositorio.ufc.br:riufc/73947
network_acronym_str UFC-7
network_name_str Repositório Institucional da Universidade Federal do Ceará (UFC)
repository_id_str
spelling Um mapeamento sistemático sobre ferramentas para detecção de flaky testsFlaky testsFerramentas - DetecçãoTeste de software – AutomaçãoFlaky tests are tests that behave in a non-deterministic way, that is, they have uncertain results, and may return pass and fail results even when executed in the same code of tests that have not changed. A considerable part of test suite failures are caused by flaky tests. If we consider that the continuous integration model is widely adopted in industrial projects, with thousands of tests, the presence of flaky tests can be even more critical, since during regression tests, a single flaky test can paralyze the entire creation process of builds and releases of updates, causing delays in deliveries. In this study, a systematic mapping was carried out to investigate the tools related to Flaky tests in 37 articles, with the objective of answering 3 research questions. The first research question seeks to show the tools found and available to the community, where 30 tools were returned and which were organized according to their publication or creation dates. The second research question is intended to provide an overview of each of the 30 tools collected, encompassing the objectives, techniques or approaches and the study from which each tool was collected, where it was possible to observe, for example, rerun is the most used technique to support detection. The third and final research question is intended to provide the highest level features of the tools and the causes they address, showing, for example, that a total of 46% of the tools address the test order dependency cause and that 70% of the tools are analyzed in the java language. With the discoveries of this study, it is expected to contribute to players in the Software Testing area, researchers and developers, providing inputs for future studies and a more centralized source of available tools, so that those interested can select one or more tools for future studies or some professional necessity.Flaky tests são testes que se comportam de forma não determinística, ou seja, possuem resultados incertos, podendo retornar resultados de aprovação e falha mesmo quando forem executados em um mesmo código de testes que não sofreu alteração. Uma parte considerável das falhas em suítes de testes são ocasionadas por flaky tests. Se considerar que o modelo de integração contínua é amplamente adotado em projetos industriais, com milhares de testes, a presença de flaky tests podem ser mais críticas ainda, visto que durante os testes de regressão, um único flaky test pode paralisar todo o processo de criação de builds e lançamentos de atualizações, ocasionando atraso nas entregas. Neste estudo, foi executado um mapeamento sistemático para investigar as ferramentas relacionadas a Flaky tests em 37 artigos, com o objetivo de responder a 3 questões de pesquisa. A primeira questão de pesquisa, busca mostrar as ferramentas encontradas e disponíveis para a comunidade, onde foram retornadas 30 ferramentas e que foram organizadas de acordo com suas datas de publicação ou criação. A segunda questão de pesquisa tem o intuito de fornecer uma visão geral de cada uma das 30 ferramentas coletadas, englobando os objetivos, técnicas ou abordagens e o estudo da qual cada ferramenta foi coletada, onde foi possível observar, por exemplo, que a reexecução é a técnica mais utilizada como apoio à detecção. A terceira e última questão de pesquisa tem como intuito fornecer as características de mais alto nível das ferramentas e as causas que elas abordam, mostrando, por exemplo, que um total 46% das ferramentas abordam a causa de dependência da ordem de teste e que 70% das ferramentas são analisadas na linguagem java. Com as descobertas deste estudo, espera-se contribuir com atuantes da área de Testes de Software, pesquisadores e desenvolvedores, fornecendo insumos para estudos futuros e uma fonte mais centralizada das ferramentas disponíveis, para que os interessados possam selecionar uma ou mais ferramentas para estudos futuros ou alguma necessidade profissional.Bezerra, Carla Ilane MoreiraMartins, Pedro Anderson Costa2023-08-11T17:11:19Z2023-08-11T17:11:19Z2023info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisapplication/pdfMARTINS, Pedro Anderson Costa. Um mapeamento sistemático sobre ferramentas para detecção de flaky tests. 2023. 65 f. Trabalho de Conclusão de Curso (Graduação em Engenharia de Software)-Universidade Federal do Ceará, Campus de Quixadá, Quixadá, 2023.http://www.repositorio.ufc.br/handle/riufc/73947porreponame:Repositório Institucional da Universidade Federal do Ceará (UFC)instname:Universidade Federal do Ceará (UFC)instacron:UFCinfo:eu-repo/semantics/openAccess2023-08-11T17:11:19Zoai:repositorio.ufc.br:riufc/73947Repositório InstitucionalPUBhttp://www.repositorio.ufc.br/ri-oai/requestbu@ufc.br || repositorio@ufc.bropendoar:2024-09-11T18:21:27.093392Repositório Institucional da Universidade Federal do Ceará (UFC) - Universidade Federal do Ceará (UFC)false
dc.title.none.fl_str_mv Um mapeamento sistemático sobre ferramentas para detecção de flaky tests
title Um mapeamento sistemático sobre ferramentas para detecção de flaky tests
spellingShingle Um mapeamento sistemático sobre ferramentas para detecção de flaky tests
Martins, Pedro Anderson Costa
Flaky tests
Ferramentas - Detecção
Teste de software – Automação
title_short Um mapeamento sistemático sobre ferramentas para detecção de flaky tests
title_full Um mapeamento sistemático sobre ferramentas para detecção de flaky tests
title_fullStr Um mapeamento sistemático sobre ferramentas para detecção de flaky tests
title_full_unstemmed Um mapeamento sistemático sobre ferramentas para detecção de flaky tests
title_sort Um mapeamento sistemático sobre ferramentas para detecção de flaky tests
author Martins, Pedro Anderson Costa
author_facet Martins, Pedro Anderson Costa
author_role author
dc.contributor.none.fl_str_mv Bezerra, Carla Ilane Moreira
dc.contributor.author.fl_str_mv Martins, Pedro Anderson Costa
dc.subject.por.fl_str_mv Flaky tests
Ferramentas - Detecção
Teste de software – Automação
topic Flaky tests
Ferramentas - Detecção
Teste de software – Automação
description Flaky tests are tests that behave in a non-deterministic way, that is, they have uncertain results, and may return pass and fail results even when executed in the same code of tests that have not changed. A considerable part of test suite failures are caused by flaky tests. If we consider that the continuous integration model is widely adopted in industrial projects, with thousands of tests, the presence of flaky tests can be even more critical, since during regression tests, a single flaky test can paralyze the entire creation process of builds and releases of updates, causing delays in deliveries. In this study, a systematic mapping was carried out to investigate the tools related to Flaky tests in 37 articles, with the objective of answering 3 research questions. The first research question seeks to show the tools found and available to the community, where 30 tools were returned and which were organized according to their publication or creation dates. The second research question is intended to provide an overview of each of the 30 tools collected, encompassing the objectives, techniques or approaches and the study from which each tool was collected, where it was possible to observe, for example, rerun is the most used technique to support detection. The third and final research question is intended to provide the highest level features of the tools and the causes they address, showing, for example, that a total of 46% of the tools address the test order dependency cause and that 70% of the tools are analyzed in the java language. With the discoveries of this study, it is expected to contribute to players in the Software Testing area, researchers and developers, providing inputs for future studies and a more centralized source of available tools, so that those interested can select one or more tools for future studies or some professional necessity.
publishDate 2023
dc.date.none.fl_str_mv 2023-08-11T17:11:19Z
2023-08-11T17:11:19Z
2023
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv MARTINS, Pedro Anderson Costa. Um mapeamento sistemático sobre ferramentas para detecção de flaky tests. 2023. 65 f. Trabalho de Conclusão de Curso (Graduação em Engenharia de Software)-Universidade Federal do Ceará, Campus de Quixadá, Quixadá, 2023.
http://www.repositorio.ufc.br/handle/riufc/73947
identifier_str_mv MARTINS, Pedro Anderson Costa. Um mapeamento sistemático sobre ferramentas para detecção de flaky tests. 2023. 65 f. Trabalho de Conclusão de Curso (Graduação em Engenharia de Software)-Universidade Federal do Ceará, Campus de Quixadá, Quixadá, 2023.
url http://www.repositorio.ufc.br/handle/riufc/73947
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da Universidade Federal do Ceará (UFC)
instname:Universidade Federal do Ceará (UFC)
instacron:UFC
instname_str Universidade Federal do Ceará (UFC)
instacron_str UFC
institution UFC
reponame_str Repositório Institucional da Universidade Federal do Ceará (UFC)
collection Repositório Institucional da Universidade Federal do Ceará (UFC)
repository.name.fl_str_mv Repositório Institucional da Universidade Federal do Ceará (UFC) - Universidade Federal do Ceará (UFC)
repository.mail.fl_str_mv bu@ufc.br || repositorio@ufc.br
_version_ 1813028769358675968