Avaliando comodesenvolvedores revisamtestes no GitHub

Autor: Victor Guerra Veloso
Přispěvatelé: Andre Hora Cavalcante, Marco Tulio de Oliveira Valente, Eduardo Magno Lages Figueiredo
Jazyk: angličtina
Rok vydání: 2022
Předmět:
Zdroj: Repositório Institucional da UFMG
Universidade Federal de Minas Gerais (UFMG)
instacron:UFMG
Popis: CNPq - Conselho Nacional de Desenvolvimento Científico e Tecnológico In modern software development, developers are expected to provide proper tests to cover their code changes. However, code contributions are not always attached to good tests. This way, reviewers may request test changes to the contributions. In practice, it is not clear what information is available to guide contributors in implementing the requested test methods during the code review. Therefore, better understanding test review practices would be important to guide both contributors and reviewers. In this dissertation, we propose two studies. First, we provide an empirical study to assess test reviews on GitHub. We find 11,836 test reviews in 5,421 open-source projects, suggesting that this is a common practice. We also detect eight broad categories of recommendations in test reviews: test scope, tool support, test scenarios, goal/purpose, refactoring, bad practices, fixtures, and miscellaneous. Lastly, we find that test reviews with more recommendations are more likely to be solved. In our second study, we propose a tool to assess the quality of individual test methods by relying on mutation testing. This tool extends a state-of-the-art mutation testing framework to analyze test methods and report mutation results at the method level. Finally, based on our results, we discussed implications for researchers and practitioners. No desenvolvimento de software moderno, espera-se que desenvolvedores forneçam testes adequados para cobrir suas alterações de código. No entanto, contribuições nem sempre incluem bons testes. Dessa forma, os revisores podem solicitar melhoria de testes nas contribuições. Na prática, não está claro quais informações estão disponíveis para orientar os colaboradores na implementação dos métodos de testes solicitados durante a revisão de código. Portanto, entender melhor as práticas de revisão de testes seria importante para orientar tanto os colaboradores quanto os revisores. Nesta dissertação, propomos dois estudos. Primeiro, fornecemos um estudo empírico para avaliar as revisões de testes no GitHub. Encontramos 11.836 avaliações de teste em 5.421 projetos de código aberto, sugerindo que essa é uma prática comum. Também detectamos oito amplas categorias de recomendações em revisões de testes: escopo do teste, suporte a ferramentas, cenários de teste, objetivo/propósito, refatorações, más práticas, fixtures e miscellaneous. Por fim, descobrimos que as revisões de testes com mais recomendações são mais propensas a serem resolvidas. Em nosso segundo estudo, propomos uma ferramenta para avaliar a qualidade de métodos de testes individuais por meio de testes de mutação. Esta ferramenta estende uma framework de testes de mutação estado-da-arte para analisar métodos de teste e relatar resultados de mutação a nível de método. Finalmente, com base em nossos resultados, discutimos implicações para pesquisadores e profissionais.
Databáze: OpenAIRE