Does test-driven development really improve software design quality?

80Citations
Citations of this article
182Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Test-driven development (TDD) is first and foremost a design practice. The question is, "How good are the resulting designs?" Advocates claim that TDD produces code that is simpler, more cohesive, and less coupled than code developed in a more traditional test-last way. Sounds good, but is it true? We collected evidence to substantiate or question the claims regarding TDD's influence on software. We focused on internal software quality that is, design and code characteristics such as code complexity, size, coupling, and cohesion. We conducted three quasicontrolled experiments and one case study in a Fortune 500 company and another two quasicontrolled experiments with university students in undergraduate and graduate software engineering courses. We evaluated 24 student and professional programmers working on 21 software projects ranging in size from a few hundred to over 30,000 lines of code. The results indicate that TDD programmers tend to write software modules that are smaller, less complex, and more highly tested than modules produced by their test-last counterparts. However, the results didn't support claims for lower coupling and increased cohesion with TDD. © 2008 IEEE.

Cite

CITATION STYLE

APA

Janzen, D. S., & Saiedian, H. (2008). Does test-driven development really improve software design quality? IEEE Software, 25(2), 77–84. https://doi.org/10.1109/MS.2008.34

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free