Assessing how developers review tests on Github
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...
| Autor: | |
|---|---|
| Tipo de recurso: | tesis de maestría |
| Estado: | Versión publicada |
| Fecha de publicación: | 2022 |
| País: | Brasil |
| Institución: | Universidade Federal de Minas Gerais (UFMG) |
| Repositorio: | Repositório Institucional da UFMG |
| Idioma: | inglés |
| OAI Identifier: | oai:repositorio.ufmg.br:1843/43919 |
| Acceso en línea: | http://hdl.handle.net/1843/43919 |
| Access Level: | acceso abierto |
| Palabra clave: | Software testing Code Review Software repository mining Software maintenance Mutation Testing Code quality Computação – Teses Engenharia de software – Teses Software – Testes - Teses Software – Controle de qualidade – Teses. |
| Sumario: | 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. |
|---|