Publicação científica
Comprehending Test Code: An Empirical Study
Os desenvolvedores gastam grande parte de seu tempo e esforço na compreensão do código-fonte. Embora muitos estudos tenham investigado como os desenvolvedores abordam essas tarefas de compreensão e quais fatores influenciam seu sucesso, pouco se sabe sobre como os desenvolvedores compreendem especificamente o código de teste, apesar da importância indiscutível dos testes.
Neste artigo, relatamos os resultados de um estudo empírico com 44 desenvolvedores para entender quais fatores influenciam os desenvolvedores na compreensão do código de teste Java. Medimos três variáveis dependentes: o tempo total gasto na leitura de um conjunto de testes, a capacidade de identificar o propósito geral de um conjunto de testes e a capacidade de produzir casos de testes adicionais para estender um conjunto de testes.
As principais conclusões do nosso estudo, com diversas implicações para futuras pesquisas e profissionais, são que (i) o conhecimento prévio do projeto de software diminui o tempo total de leitura, (ii) a experiência com Java afeta a proporção de tempo gasto nas seções Arrange e Assert dos casos de teste, (iii) a experiência com Java e o conhecimento prévio do projeto de software influenciam positivamente a capacidade de produzir casos de teste adicionais de certas categorias, e (iv) a experiência com testes automatizados é um fator influente para a compreensão e extensão de um conjunto de testes automatizados.
BibTeX:
@inproceedings{aniche-test-code-comprehension,
author = "Chak Shun Yu and Christoph Treude and Maurício Aniche",
title = "Comprehending Test Code: An Empirical Study",
booktitle = "Proceedings of 35th IEEE International Conference on Software Maintenance and Evolution (ICSME)",
year = 2019,
doi = "10.1109/ICSME.2019.00084"
}