Aprimorando a detecção de Testes Flaky ​orientados por reexecuções com orquestração de contêineres

dc.contributor.advisor1Endo, André Takeshi
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/4221336619791961
dc.contributor.advisor1orcidhttps://orcid.org/0000-0002-8737-1749
dc.contributor.authorLopes, João Victor Lima
dc.contributor.authorlatteshttp://lattes.cnpq.br/9490984753361156
dc.contributor.authororcidhttps://orcid.org/0009-0007-0333-032X
dc.contributor.refereeEndo, André Takeshi
dc.contributor.refereeSilva, Marco Aurélio Graciotto
dc.contributor.refereeVincenzi, Auri Marcelo Rizzo
dc.contributor.refereeLatteshttp://lattes.cnpq.br/4221336619791961
dc.contributor.refereeLatteshttp://lattes.cnpq.br/9383290036853173
dc.contributor.refereeLatteshttp://lattes.cnpq.br/0611351138131709
dc.contributor.refereeorcidhttps://orcid.org/0000-0002-8737-1749
dc.contributor.refereeorcidhttps://orcid.org/0000-0002-1737-8240
dc.contributor.refereeorcidhttps://orcid.org/0000-0001-5902-1672
dc.date.accessioned2026-05-08T17:58:22Z
dc.date.issued2026-04-01
dc.description.abstractSoftware testing is a primary activity to achieve good quality standards, where developers rely on automated tests to identify and fix software bugs and validate solutions. These tests are sometimes unreliable and present non-deterministic results, such as passing and failing when executing the same code and test several times. This type of inconsistent test is called flaky test. While the literature presents many initiatives to identify flaky tests, rerunning the tests several times remains the primary approach to debugging and analyzing test flakiness. This master’s thesis presents an approach that enhances rerun-driven flaky test detection by applying container orchestration so that flaky tests are detected faster, and more flaky tests are uncovered. To do so, we employ container orchestration technologies like Kubernetes and other tools, like Grafana, Prometheus, and Loki. The proposed approach is instantiated in a tool called FlakyTestLab. We evaluated FlakyTestLab with twenty-eight open source projects, being fourteen in Java and fourteen in Python. Using a High-End computer, FlakyTestLab performs reruns on average 76.93% faster than a baseline, and is 300% faster than the baseline in finding the first failure. FlakyTestLab detected flaky tests up to 143.40% more than the baseline. On the other hand, we observe that the flakiness ratio decreased when FlakyTestLab employed more parallelism.eng
dc.description.resumoTestes de software são uma atividade fundamental para alcançar altos padrões de qualidade, onde os desenvolvedores dependem de testes automatizados para identificar e corrigir erros de software e validar soluções. No entanto, esses testes às vezes não são confiáveis e apresentam resultados não determinísticos, como passar e falhar ao executar o mesmo código e mesmo teste várias vezes. Esse tipo de teste inconsistente é denominado teste flaky. Embora a literatura apresente diversas iniciativas para identificar testes flaky, a execução repetida dos testes continua sendo a principal abordagem para depuração e análise da flakiness dos testes. Esta dissertação apresenta uma abordagem que aprimora a detecção de testes flaky orientada por rerun, aplicando orquestração de contêineres, de modo que os testes flaky sejam detectados mais rapidamente, com maior taxa de reprodução e de forma mais eficiente. Para isso, utilizamos tecnologias de orquestração de contêineres, como Kubernetes, e outras ferramentas, como Grafana, Prometheus e Loki. A abordagem proposta é implementada em uma ferramenta chamada FlakyTestLab. Avaliamos o FlakyTestLab com vinte e oito projetos de código aberto, sendo quatorze em Java e quatorze em Python. Usando um computador de alto desempenho, o FlakyTestLab executa reruns, em média, 76,93% mais rápido do que a abordagem comum e é 300% mais rápido na detecção da primeira falha. O FlakyTestLab melhorou a taxa de flakiness em 143,40% e detectou mais testes flaky quando comparado com a abordagem comum. Por outro lado, observamos que a flakiness ratio dos testes flaky diminuiu quando o FlakyTestLab empregou mais paralelismo.
dc.identifier.citationLOPES, João Victor Lima. Aprimorando a detecção de Testes Flaky ​orientados por reexecuções com orquestração de contêineres. 2026. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de São Carlos, São Carlos, 2026. Disponível em: https://repositorio.ufscar.br/handle/20.500.14289/24080.por
dc.identifier.urihttps://hdl.handle.net/20.500.14289/24080
dc.language.isoeng
dc.publisherUniversidade Federal de São Carlos
dc.publisher.addressCampus São Carlos
dc.publisher.initialsUFSCar
dc.publisher.programPrograma de Pós-Graduação em Ciência da Computação - PPGCC
dc.rightsAttribution-NonCommercial-NoDerivs 3.0 Brazilen
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/br/
dc.subjectTestes automatizados
dc.subjectTestes Flaky
dc.subjectOrquestração de Contêineres
dc.subjectAutomação de testes com Kubernetes
dc.subjectAutomated tests with Kuberneteseng
dc.subjectFlaky testseng
dc.subjectAutomated testseng
dc.subjectContainer orchestrationeng
dc.subject.cnpqCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO
dc.subject.ods9. Indústria, Inovação e Infraestrutura
dc.titleAprimorando a detecção de Testes Flaky ​orientados por reexecuções com orquestração de contêineres
dc.title.alternativeEnhancing rerun-driven Flaky Test detection with container orchestrationeng
dc.typeDissertação

Arquivos

Pacote Original

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
dissertacao_joao_victor_lima_lopes_2026.pdf
Tamanho:
2.08 MB
Formato:
Adobe Portable Document Format