Pós-Graduação em Ciência da Computação – UFPE
Defesa de Tese de Doutorado Nº 599
Aluno: Elvys Alves Soares
Orientador: Prof. André Luís de Medeiros Santos
Coorientador: Prof. Márcio de Medeiros Ribeiro (UFAL/Instituto de Computação)
Título: A Multimethod Study of Test Smells: Cataloging, Awareness, and
Refactoring
Data: 31/05/2023
Hora/Local: 8h – Virtual – Interessados em assistir entrar em contato com o aluno
Banca Examinadora:
Prof. Paulo Henrique Monteiro Borba (UFPE / Centro de Informática)
Prof. Breno Alexandro Ferreira de Miranda (UFPE / Centro de Informática)
Prof. Leopoldo Motta Teixeira (UFPE / Centro de Informática)
Prof. Fabiano Cutigi Ferrari (UFSCar / Departamento de Computação)
Prof. Rohit Gheyi (UFCG / Departamento de Sistemas e Computação)
RESUMO:
Test smells são sintomas no código de teste que indicam possíveis problemas de design ou implementação. Sua presença em conjuntos de testes automatizados, juntamente com sua nocividade, já foi demonstrada por pesquisas anteriores. Embora a área de test smells tenha sido objeto de muita literatura acadêmica e cinzenta desde sua proposta em 2001, muitas questões sobre a adesão dos test smells na indústria ainda precisam ser esclarecidas: com relação aos tipos de test smells – propostas por vários estudos e literatura cinzenta — nenhum catálogo publicamente disponível os agrega; considerando a evolução dos frameworks de teste e linguagens de programação, não há correspondência entre os novos recursos propostos e sua capacidade de refatoração ou prevenção de test smells; por fim, considerando que a automação de testes requer um investimento inicial significativo nem sempre disponível para projetos de software, pouco se sabe sobre a possibilidade da existência de test smells em suítes de testes manuais, bem como como identificá-los e removê-los. Este trabalho apresenta um estudo multimétodo que visa preencher essas lacunas de conhecimento na área de test smells, que compreende o levantamento do estado da arte sobre test smells e ações de refatoração, o uso de análises manuais e automáticas de repositórios de código aberto, a realização de pesquisas com profissionais de teste de software, o estudo de novos recursos de estrutura de teste, a proposição de ações de refatoração test smells e o envio de contribuições para projetos de software de código aberto ativos e populares. Os resultados apresentam: (i) um catálogo inédito que unifica 127 estudos primários e 482 test smells distintos, (ii) a confirmação de que novos recursos de frameworks de teste podem refatorar e prevenir test smells, onde propomos e avaliamos novas refatorações baseadas em 6 recursos JUnit 5 destinados a 13 cheiros de teste, (iii) a proposição de um catálogo contendo 8 novos cheiros de teste específicos para suítes de teste manual, suas estratégias de identificação baseadas no processamento de linguagem natural e sua frequência em importantes sistemas governamentais, industriais e de código aberto. As conclusões deste trabalho fornecem direções para um maior desenvolvimento em várias frentes da área de estudo de test smells.
Palavras-chave: Engenharia de Software, Teste de Software, Test Smells
Comentários desativados