Please use this identifier to cite or link to this item: http://hdl.handle.net/1843/43919
Type: Dissertação
Title: Assessing how developers review tests on Github
Other Titles: Avaliando comodesenvolvedores revisamtestes no GitHub
Authors: Victor Guerra Veloso
First Advisor: Andre Hora Cavalcante
First Referee: Marco Tulio de Oliveira Valente
Second Referee: Eduardo Magno Lages Figueiredo
Abstract: 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.
Abstract: 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.
Subject: Computação – Teses
Engenharia de software – Teses
Software – Testes - Teses
Software – Controle de qualidade – Teses.
language: eng
metadata.dc.publisher.country: Brasil
Publisher: Universidade Federal de Minas Gerais
Publisher Initials: UFMG
metadata.dc.publisher.department: ICX - DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO
metadata.dc.publisher.program: Programa de Pós-Graduação em Ciência da Computação
Rights: Acesso Aberto
metadata.dc.rights.uri: http://creativecommons.org/licenses/by-nc/3.0/pt/
URI: http://hdl.handle.net/1843/43919
Issue Date: 13-Jul-2022
Appears in Collections:Dissertações de Mestrado

Files in This Item:
File Description SizeFormat 
Master_Thesis.pdf5.2 MBAdobe PDFView/Open


This item is licensed under a Creative Commons License Creative Commons