A Family of Experiments on Test-Driven Development
Adrian Santos, Sira Vegas, Oscar Dieste, Fernando Uyaguari, and Aysee Tosun, Davide Fucci, Burak Turhan, Giuseppe Scanniello and, Simone Romano, Itir Karac, Marco Kuhrmann, Vladimir Mandic and, Robert Ramac, Dietmar Pfahl, Christian Engblom, Jarno Kyykka and, Kerli Rungi

TL;DR
This study aggregates 12 experiments to evaluate how various factors influence the effectiveness of test-driven development (TDD) in improving software quality across academic and industrial settings.
Contribution
It provides a comprehensive meta-analysis of TDD experiments, identifying key variables that impact its performance and clarifying conflicting previous results.
Findings
Novices perform slightly better with iterative test-last development.
Task characteristics significantly influence quality outcomes.
Professional developers' TDD performance declines more than students'.
Abstract
Context: Test-driven development (TDD) is an agile software development approach that has been widely claimed to improve software quality. However, the extent to which TDD improves quality appears to be largely dependent upon the characteristics of the study in which it is evaluated (e.g., the research method, participant type, programming environment, etc.). The particularities of each study make the aggregation of results untenable. Objectives: The goal of this paper is to: increase the accuracy and generalizability of the results achieved in isolated experiments on TDD, provide joint conclusions on the performance of TDD across different industrial and academic settings, and assess the extent to which the characteristics of the experiments affect the quality-related performance of TDD. Method: We conduct a family of 12 experiments on TDD in academia and industry. We aggregate their…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
