Please use this identifier to cite or link to this item: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/29336
Title: Avaliando a qualidade de suítes de teste geradas automaticamente em detectar faltas introduzidas por refatoramentos.
Other Titles: Evaluating the quality of automatically generated test suites in detecting faults introduced by refactorings.
???metadata.dc.creator???: GOMES, Levi Rios.
???metadata.dc.contributor.advisor1???: LIRA, Melina Mongiovi Brito.
???metadata.dc.contributor.referee1???: MACHADO, Patricia Duarte De Lima.
???metadata.dc.contributor.referee2???: MASSONI, Tiago Lima
Keywords: Suítes de testes;Test suites;Refatoramento;Refactoring;Testes de mutação;Mutation tests;Detecção de faltas em sistemas - suítes;Fault detection in systems - suites;Faltas em sistemas - suítes de testes;Faults in systems - test suites
Issue Date: 14-Feb-2023
Publisher: Universidade Federal de Campina Grande
Citation: GOMES, Levi Rios. Avaliando a qualidade de suítes de teste geradas automaticamente em detectar faltas introduzidas por refatoramentos. 2023. 10f. (Trabalho de Conclusão de Curso - Artigo), Curso de Bacharelado em Ciência da Computação, Centro de Engenharia Elétrica e Informática , Universidade Federal de Campina Grande – Paraíba - Brasil, 2023. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/29336
???metadata.dc.description.resumo???: Refatoramentos são a prática em que desenvolvedores alteram seu código de forma que não altere o comportamento do sistema. Tal prática costuma vir acompanhada do uso de suítes de regressão para detectar mudanças de comportamento indesejadas em um sistema. Porém, tais suítes de teste podem não garantir a detecção de faltas, criando um falso senso de segurança durante refatoramentos, visto que a suíte pode não perceber certas alterações. Neste trabalho, propomos uma abordagem que tem por objetivo avaliar tais suítes de teste na sua capacidade de detectar faltas de refatoramento, assim como as comparar com alternativas de geração de suítes de teste automatizadas. Para isso, foi realizado um estudo relacionado às faltas do refatoramento Extract Method, e o desenvolvimento de uma ferramenta que facilita a avaliação de uma suíte de testes, por meio de um plugin da IDE Eclipse feito com a linguagem de programação Java. A partir disso, foram criados mutantes de refatoramento (faltas) e utilizados em um estudo quantitativo, no qual avaliamos as suítes de regressão de 3 diferentes projetos open source, assim como suítes de testes geradas pela ferramenta de geração EvoSuite. Nossos estudos mostraram que existe uma possível relação entre cobertura de testes e detecção de mutantes de refatoramento em um sistema, assim como uma negligência de casos menos comuns durante o desenvolvimento dessas suítes, visto que cerca de 38,7% das faltas de refatoramento injetadas não foram detectadas nas suítes manuais, e 45,3% nas suítes automatizadas, demonstrando que existe espaço para melhoria das suites de teste focadas neste contexto.
Abstract: Refactorings are the practice where developers alter their code in a way that does not alter the system's behavior. Such a practice is usually accompanied by the use of regression suites to detect unwanted changes in a system's behavior. However, such test suites may not guarantee fault detection, creating a false sense of security during refactorings, since the suite may not detect certain changes. In this work, we propose an approach that aims to evaluate such test suites in their capacity to detect refactoring faults, as well as compare these suites to automated test suites alternatives. For this, a study related to the refactoring faults of the Extract Method refactoring type was carried out, as well as the development of a tool that facilitates the evaluation of a test suite, through a Eclipse IDE plugin made using the Java programming language. From this, refactoring mutants(faults) were created and utilized in a quantitative study, in which we evaluate the regression suites of 3 different open source projects, as well as test suites generated by the generation tool EvoSuite. Our studies show that there is a possible relation between test coverage and refactoring mutant detection in a system, as well as negligence of less common cases during the development of these suites, since about 38.7% of refactoring faults inserted where not detected by the manual test suites, and 45.3% by the automated suites, showing that there is room for improvement in the test suites focused in this context.
Keywords: Suítes de testes
Test suites
Refatoramento
Refactoring
Testes de mutação
Mutation tests
Detecção de faltas em sistemas - suítes
Fault detection in systems - suites
Faltas em sistemas - suítes de testes
Faults in systems - test suites
???metadata.dc.subject.cnpq???: Ciência da Computação.
URI: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/29336
Appears in Collections:Trabalho de Conclusão de Curso - Artigo - Ciência da Computação

Files in This Item:
File Description SizeFormat 
LEVI RIOS GOMES - TCC ARTIGO CIÊNCIA DA COMPUTAÇÃO CEEI 2023.pdfLevi Rios Gomes - TCC Artigo Ciência da Computação CEEI 2023678.07 kBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.