Um estudo sobre testes Flaky em projetos Python

Detalhes bibliográficos
Autor(a) principal: Tararam, Gabriel Mari
Data de Publicação: 2024
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UFSCAR
Texto Completo: https://repositorio.ufscar.br/handle/20.500.14289/20532
https://github.com/gabrielmtararam/FlaPy-tools
Resumo: Understanding the behavior of automated tests is crucial for improving software development practices. This study focuses on investigating the incidence of flaky tests in Python projects. The research involved analyzing a diverse set of Python projects to address the proposed research questions. The results indicated that 19.44% of the analyzed projects exhibited flaky tests, a significantly higher rate than the 4.5% reported by Gruber et al. (2021). The analysis showed that the majority (85.1%) of the identified flaky tests depended on the order of execution, emphasizing the need to ensure independence between tests to minimize the chance of flakiness. Non-order-dependent \textit{flaky} tests were less frequent but exhibited inconsistencies mainly due to dependencies on external APIs and execution time limits of libraries. These findings suggest that test stability can be compromised by external factors, such as the availability of external services and the variability in responses from these APIs. Future work could be carried out to expand the FlaPy tool to enable the installation and verification of a broader range of projects.
id SCAR_e8e91e853feaddd0f27ea104ae73814b
oai_identifier_str oai:repositorio.ufscar.br:20.500.14289/20532
network_acronym_str SCAR
network_name_str Repositório Institucional da UFSCAR
repository_id_str 4322
spelling Tararam, Gabriel MariEndo, André Takeshihttp://lattes.cnpq.br/42213366197919612024-09-12T18:54:53Z2024-09-12T18:54:53Z2024-09-06TARARAM, Gabriel Mari. Um estudo sobre testes Flaky em projetos Python. 2024. Trabalho de Conclusão de Curso (Graduação em Engenharia de Computação) – Universidade Federal de São Carlos, São Carlos, 2024. Disponível em: https://repositorio.ufscar.br/handle/20.500.14289/20532.https://repositorio.ufscar.br/handle/20.500.14289/20532https://github.com/gabrielmtararam/FlaPy-toolsUnderstanding the behavior of automated tests is crucial for improving software development practices. This study focuses on investigating the incidence of flaky tests in Python projects. The research involved analyzing a diverse set of Python projects to address the proposed research questions. The results indicated that 19.44% of the analyzed projects exhibited flaky tests, a significantly higher rate than the 4.5% reported by Gruber et al. (2021). The analysis showed that the majority (85.1%) of the identified flaky tests depended on the order of execution, emphasizing the need to ensure independence between tests to minimize the chance of flakiness. Non-order-dependent \textit{flaky} tests were less frequent but exhibited inconsistencies mainly due to dependencies on external APIs and execution time limits of libraries. These findings suggest that test stability can be compromised by external factors, such as the availability of external services and the variability in responses from these APIs. Future work could be carried out to expand the FlaPy tool to enable the installation and verification of a broader range of projects.A compreensão do comportamento dos testes automatizados é crucial para o aprimoramento das práticas de desenvolvimento de software. Este estudo foca na investigação da incidência de testes flaky em projetos Python. A pesquisa envolveu a análise de um conjunto diversificado de projetos Python para responder às questões de pesquisa propostas. Os resultados indicaram que 19,44% dos projetos analisados apresentaram testes flaky, uma taxa significativamente maior do que os 4,5% relatados por Gruber et al. (2021). A análise mostrou que a maioria (85,1%) dos testes flaky identificados dependiam da ordem de execução, enfatizando a necessidade de um cuidado com a independência entre os testes para minimizar a chance de ocorrer flakiness. Testes flaky não dependentes de ordem foram menos frequentes, mas mostraram inconsistências principalmente devido à dependência de APIs externas e limite de tempo de execução de bibliotecas. Esses achados sugerem que a estabilidade dos testes pode ser comprometida por fatores externos, como a disponibilidade de serviços externos e a variabilidade nas respostas dessas APIs.Não recebi financiamentoporUniversidade Federal de São CarlosCâmpus São CarlosEngenharia de Computação - ECUFSCarAttribution 3.0 Brazilhttp://creativecommons.org/licenses/by/3.0/br/info:eu-repo/semantics/openAccessTestes flakyFlaky testsAutomated testsTest reliabilitityTestes automatizadosPythonConfiabilidade de testesCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAOUm estudo sobre testes Flaky em projetos PythonA study on Flaky tests in Python projectsinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisreponame:Repositório Institucional da UFSCARinstname:Universidade Federal de São Carlos (UFSCAR)instacron:UFSCARTEXTGabriel_Tararam_TCC_ENC_final.pdf.txtGabriel_Tararam_TCC_ENC_final.pdf.txtExtracted texttext/plain85958https://repositorio.ufscar.br/bitstreams/386a88c4-6026-4c2c-b052-7e3b51eb6be0/download360a50db6f4e7fef06342b4ad1aaa04bMD53falseAnonymousREADTHUMBNAILGabriel_Tararam_TCC_ENC_final.pdf.jpgGabriel_Tararam_TCC_ENC_final.pdf.jpgGenerated Thumbnailimage/jpeg3506https://repositorio.ufscar.br/bitstreams/dfa22330-bd5e-49e0-bbf5-8681001580a0/download2871941b81c1faa4cf33ec2dcf064611MD54falseAnonymousREADORIGINALGabriel_Tararam_TCC_ENC_final.pdfGabriel_Tararam_TCC_ENC_final.pdftexto do tccapplication/pdf2169350https://repositorio.ufscar.br/bitstreams/7ec63cbc-c94c-4caa-b134-ea03c2242d3c/download43db521486f2f6cec30b9ec4e03b6881MD51trueAnonymousREADCC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8913https://repositorio.ufscar.br/bitstreams/264fbe59-c4f8-41a5-b938-5c560f77b1a6/download3185b4de2190c2d366d1d324db01f8b8MD52falseAnonymousREAD20.500.14289/205322025-02-06 03:13:18.375http://creativecommons.org/licenses/by/3.0/br/Attribution 3.0 Brazilopen.accessoai:repositorio.ufscar.br:20.500.14289/20532https://repositorio.ufscar.brRepositório InstitucionalPUBhttps://repositorio.ufscar.br/oai/requestrepositorio.sibi@ufscar.bropendoar:43222025-02-06T06:13:18Repositório Institucional da UFSCAR - Universidade Federal de São Carlos (UFSCAR)false
dc.title.por.fl_str_mv Um estudo sobre testes Flaky em projetos Python
dc.title.alternative.eng.fl_str_mv A study on Flaky tests in Python projects
title Um estudo sobre testes Flaky em projetos Python
spellingShingle Um estudo sobre testes Flaky em projetos Python
Tararam, Gabriel Mari
Testes flaky
Flaky tests
Automated tests
Test reliabilitity
Testes automatizados
Python
Confiabilidade de testes
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO
title_short Um estudo sobre testes Flaky em projetos Python
title_full Um estudo sobre testes Flaky em projetos Python
title_fullStr Um estudo sobre testes Flaky em projetos Python
title_full_unstemmed Um estudo sobre testes Flaky em projetos Python
title_sort Um estudo sobre testes Flaky em projetos Python
author Tararam, Gabriel Mari
author_facet Tararam, Gabriel Mari
author_role author
dc.contributor.author.fl_str_mv Tararam, Gabriel Mari
dc.contributor.advisor1.fl_str_mv Endo, André Takeshi
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/4221336619791961
contributor_str_mv Endo, André Takeshi
dc.subject.eng.fl_str_mv Testes flaky
Flaky tests
Automated tests
Test reliabilitity
topic Testes flaky
Flaky tests
Automated tests
Test reliabilitity
Testes automatizados
Python
Confiabilidade de testes
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO
dc.subject.por.fl_str_mv Testes automatizados
Python
Confiabilidade de testes
dc.subject.cnpq.fl_str_mv CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO
description Understanding the behavior of automated tests is crucial for improving software development practices. This study focuses on investigating the incidence of flaky tests in Python projects. The research involved analyzing a diverse set of Python projects to address the proposed research questions. The results indicated that 19.44% of the analyzed projects exhibited flaky tests, a significantly higher rate than the 4.5% reported by Gruber et al. (2021). The analysis showed that the majority (85.1%) of the identified flaky tests depended on the order of execution, emphasizing the need to ensure independence between tests to minimize the chance of flakiness. Non-order-dependent \textit{flaky} tests were less frequent but exhibited inconsistencies mainly due to dependencies on external APIs and execution time limits of libraries. These findings suggest that test stability can be compromised by external factors, such as the availability of external services and the variability in responses from these APIs. Future work could be carried out to expand the FlaPy tool to enable the installation and verification of a broader range of projects.
publishDate 2024
dc.date.accessioned.fl_str_mv 2024-09-12T18:54:53Z
dc.date.available.fl_str_mv 2024-09-12T18:54:53Z
dc.date.issued.fl_str_mv 2024-09-06
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.citation.fl_str_mv TARARAM, Gabriel Mari. Um estudo sobre testes Flaky em projetos Python. 2024. Trabalho de Conclusão de Curso (Graduação em Engenharia de Computação) – Universidade Federal de São Carlos, São Carlos, 2024. Disponível em: https://repositorio.ufscar.br/handle/20.500.14289/20532.
dc.identifier.uri.fl_str_mv https://repositorio.ufscar.br/handle/20.500.14289/20532
dc.identifier.url.por.fl_str_mv https://github.com/gabrielmtararam/FlaPy-tools
identifier_str_mv TARARAM, Gabriel Mari. Um estudo sobre testes Flaky em projetos Python. 2024. Trabalho de Conclusão de Curso (Graduação em Engenharia de Computação) – Universidade Federal de São Carlos, São Carlos, 2024. Disponível em: https://repositorio.ufscar.br/handle/20.500.14289/20532.
url https://repositorio.ufscar.br/handle/20.500.14289/20532
https://github.com/gabrielmtararam/FlaPy-tools
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv Attribution 3.0 Brazil
http://creativecommons.org/licenses/by/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution 3.0 Brazil
http://creativecommons.org/licenses/by/3.0/br/
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de São Carlos
Câmpus São Carlos
Engenharia de Computação - EC
dc.publisher.initials.fl_str_mv UFSCar
publisher.none.fl_str_mv Universidade Federal de São Carlos
Câmpus São Carlos
Engenharia de Computação - EC
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFSCAR
instname:Universidade Federal de São Carlos (UFSCAR)
instacron:UFSCAR
instname_str Universidade Federal de São Carlos (UFSCAR)
instacron_str UFSCAR
institution UFSCAR
reponame_str Repositório Institucional da UFSCAR
collection Repositório Institucional da UFSCAR
bitstream.url.fl_str_mv https://repositorio.ufscar.br/bitstreams/386a88c4-6026-4c2c-b052-7e3b51eb6be0/download
https://repositorio.ufscar.br/bitstreams/dfa22330-bd5e-49e0-bbf5-8681001580a0/download
https://repositorio.ufscar.br/bitstreams/7ec63cbc-c94c-4caa-b134-ea03c2242d3c/download
https://repositorio.ufscar.br/bitstreams/264fbe59-c4f8-41a5-b938-5c560f77b1a6/download
bitstream.checksum.fl_str_mv 360a50db6f4e7fef06342b4ad1aaa04b
2871941b81c1faa4cf33ec2dcf064611
43db521486f2f6cec30b9ec4e03b6881
3185b4de2190c2d366d1d324db01f8b8
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFSCAR - Universidade Federal de São Carlos (UFSCAR)
repository.mail.fl_str_mv repositorio.sibi@ufscar.br
_version_ 1834468900046110720