When Testing Meets Code Review: Why and How Developers Review Tests
Automated testing is considered an essential process for ensuring software quality. However, writing and maintaining high-quality test code is challenging and frequently considered of secondary importance. For production code, many open source and industrial software projects employ code review, a well-established software quality practice, but the question remains whether and how code review is also used for ensuring the quality of test code.
The aim of this research is to answer this question and to increase our understanding of what developers think and do when it comes to reviewing test code. We conducted both quantitative and qualitative methods to analyze more than 300,000 code reviews, and interviewed 12 developers about how they review test files.
This work resulted in an overview of current code reviewing practices, a set of identified obstacles limiting the review of test code, and a set of issues that developers would like to see improved in code review tools. The study reveals that reviewing test files is very different from reviewing production files, and that the navigation within the review itself is one of the main issues developers currently face. Based on our findings, we propose a series of recommendations and suggestions for the design of tools and future research.
Watch a summary of the paper (in English):
Watch a summary of the paper (in Brazilian Portuguese):
BibTeX:
@inproceedings{aniche-testing-meets-code-review, author = "Davide Spadini and Maurício Aniche and Margaret-Anne Storey and Magiel Bruntink and Alberto Bacchelli", title = "When Testing Meets Code Review: Why and How Developers Review Tests", booktitle = "Proceedings of 40th International Conference on Software Engineering (ICSE)", year = 2018, doi = "10.1145/3180155.3180192" }