On the Relation Between Unit Testing and Code Quality
This research addresses the problem of understanding the effectiveness of unit testing for software developers and organizations, but it is incremental as it builds on existing debates with new empirical data.
The study investigated the relationship between unit testing and software quality, finding no or weak correlations between practitioners' perceptions of code quality and unit testing practices, as well as between unit test coverage and post-unit test defects, based on a survey of 235 responses and a case study.
Unit testing has been considered as having a key role in building high quality software, and therefore it has been widely used in practice. However, data on the relationship between unit testing and aspects of software quality remain scarce. A survey study with 235 survey responses from seven organizations was conducted in order to understand the correlation between practitioners' perception of code quality and unit testing practices. In addition, we conducted a case study in one of these organizations to investigate the correlation between unit test coverage and post-unit test defects. In both cases none or weak correlations were found. We recommend further research on the effectiveness of different testing practices in order to help practitioners to understand how to best allocate their resources to the testing chain.