RAIDE: uma abordagem semi-automatizada para identificação e refatoração de test smells
Ano de defesa: | 2020 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | , |
Tipo de documento: | Dissertação |
Tipo de acesso: | Acesso aberto |
Idioma: | por |
Instituição de defesa: |
Universidade Federal da Bahia
Instituto de Matemática e Estatística Departamento de Ciência da Computação |
Programa de Pós-Graduação: |
em Ciência da Computação
|
Departamento: |
Não Informado pela instituição
|
País: |
brasil
|
Palavras-chave em Português: | |
Área do conhecimento CNPq: | |
Link de acesso: | http://repositorio.ufba.br/ri/handle/ri/33621 |
Resumo: | 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. |