A Comparative Case Study on the Impact of Test-Driven Development on Program Design and Test Coverage
Maria Siniaalto, Pekka Abrahamsson

TL;DR
This study compares the effects of test-driven development (TDD) on program design and test coverage across three projects, finding limited impact on design but significantly improved test coverage.
Contribution
It provides empirical evidence on TDD's influence on object-oriented design metrics and test coverage in real-world projects.
Findings
TDD had limited impact on program design metrics.
Test coverage was significantly higher with TDD.
Design improvements were less evident than expected.
Abstract
Test-driven development (TDD) is a programming technique in which the tests are written prior to the source code. It is proposed that TDD is one of the most fundamental practices enabling the development of software in an agile and iterative manner. Both the literature and practice suggest that TDD practice yields several benefits. Essentially, it is claimed that TDD leads to an improved software design, which has a dramatic impact on the maintainability and further development of the system. The impact of TDD on program design has seldom come under the researchers' focus. This paper reports the results from a comparative case study of three software development projects where the effect of TDD on program design was measured using object-oriented metrics. The results show that the effect of TDD on program design was not as evident as expected, but the test coverage was significantly…
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.
