Use este identificador para citar ou linkar para este item: https://repositorio.ufba.br/handle/ri/33621
Tipo: Dissertação
Título: RAIDE: uma abordagem semi-automatizada para identificação e refatoração de test smells
Autor(es): Santana, Railana dos Santos
Autor(es): Santana, Railana dos Santos
Abstract: Teste de unidade é um tipo específico de teste que lida com as menores unidades do sistema. Ele representa o primeiro teste após a implementação do componente. Quando a implementação dos testes de unidade não segue boas práticas, é provável que anti-padrões sejam introduzidos no código. Anti-padrões nos testes, também conhecidos como test smells, são más decisões para projetar e implementar código de teste. Os test smells prejudicam a qualidade do código de teste e reduzem a capacidade de os desenvolvedores interagirem com o código de teste, o que dificulta a compreensão, leitura e, consequentemente, a manutenibilidade e evolução do sistema. Uma estratégia para remover test smells é a refatoração do código de teste. Poucos estudos na literatura oferecem suporte automatizado para a detecção e refatoração de test smells em projetos Java com o framework JUnit. Assim, o presente estudo fornece uma abordagem semi-automatizada para auxiliar a identificação de test smells e sugerir refatorações para o código de teste em projetos que utilizam as tecnologias Java e JUnit. A abordagem proposta é apoiada pela ferramenta RAIDE, desenvolvida de modo integrado ao Eclipse IDE, para lidar com código de teste desenvolvido em Java. O RAIDE oferece suporte a dois test smells: Assertion Roulette e Duplicate Assert. Apesar de existir outras ferramentas capazes de identificar test smells, até onde sabemos, ainda não há evidências de ferramentas que forneçam suporte automatizado a refatoração de test smells. Além disso, as ferramentas existentes não fornecem interfaces amigáveis e integradas a uma IDE para a identificação de test smells. Para avaliar como a abordagem proposta pode contribuir com a melhoria na qualidade do código de teste, realizamos um estudo experimental. Comparamos nossa ferramenta com o estado da arte e verificamos que o uso da abordagem RAIDE possibilitou a identificação de test smells de forma mais fácil e rápida. Além disso, RAIDE também se mostrou eficiente na refatoração de métodos de teste. Como RAIDE é uma ferramenta integrada ao Eclipse IDE, os processos de identificação e refatoração são mais rápidos e intuitivos em comparação com o estado da arte e a refatoração manual,uma vez que com o RAIDE é possível realizar a identificação de test smells e a refatoração com alguns cliques em apenas alguns segundos.
Unit testing is a specific type of test that deals with the smallest units in the system. It represents the first test after the component is implemented. When the implementation of unit tests does not follow good practices, anti-patterns are likely to be introduced in the code. Anti-patterns in tests, also known as test smells, are poor decisions for designing and implementing test code. Test smells impair the quality of the test code and reduce the ability of developers to interact with the test code, making it difficult to understand, read, and, consequently, maintain and evolve the system. One strategy to remove test smells is to refactor the test code. Few studies in the literature offer automated support for the detection and refactoring of test smells in Java projects with the JUnit framework. Therefore, this study provides a semi-automated approach to assist the identification of test smells and suggest refactorings for the test code in projects using Java and JUnit technologies. The proposed approach is supported by the RefActorIng test Design Errors (RAIDE) tool, an Eclipse IDE plugin, to deal with Java test code. RAIDE supports two test smells, Assertion Roulette and Duplicate Assert. Although there are other tools capable of identifying test smells, as far as we know, there is no evidence of tools that provide automated support for test smells refactoring. In addition, we are unaware of a user-friendly and IDE-integrated tool to identify test smells. To assess how the proposed approach can improve the quality of the test code, we carried out an experimental study. We compared RAIDE with the state-of-the-art tool and found that when using RAIDE, test smells are easier and faster to be identified. Also, RAIDE proved to be efficient in refactoring test methods. The identification and refactoring processes are faster and more intuitive compared to the state-of-the-art tool and the manual refactoring. With RAIDE, it is possible to perform test smells identification and refactoring with a few clicks in a few seconds.
Palavras-chave: Test Smells
Teste de Unidade
Refatoração de teste
Teste de software automatizado.
Software - Refatoração
Software - Testes
RefActorIng test Design Errors (RAIDE)
CNPq: Ciências Exatas e da Terra
Ciência da Computação
Metodologia e Técnicas da Computação
Engenharia de Software
País: brasil
Sigla da Instituição: UFBA
metadata.dc.publisher.program: em Ciência da Computação
Tipo de Acesso: Acesso Aberto
URI: http://repositorio.ufba.br/ri/handle/ri/33621
Data do documento: 22-Jun-2021
Aparece nas coleções:Dissertação (PGCOMP)

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
Dissertacao_RailanaSantana_VersaoFinal.pdf14,89 MBAdobe PDFVisualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.