A comparative case study on the impact of test-driven development on program design and test coverage

Maria Siniaalto, Pekka Abrahamsson

Research output: Chapter in Book/Report/Conference proceedingConference article in proceedingsScientificpeer-review

34 Citations (Scopus)

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 superior to iterative test-last development.
Original languageEnglish
Title of host publicationFirst International Symposium on Empirical Software Engineering and Measurement (ESEM 2007). Madrid, Spain, 20 - 21 Sept. 2007
PublisherIEEE Institute of Electrical and Electronic Engineers
Pages275-284
ISBN (Electronic)978-0-7695-2886-1
DOIs
Publication statusPublished - 2007
MoE publication typeA4 Article in a conference publication
EventFirst International Symposium on Empirical Software Engineering and Measurement (ESEM 2007) - Madrid, Spain
Duration: 20 Sept 200721 Sept 2007

Conference

ConferenceFirst International Symposium on Empirical Software Engineering and Measurement (ESEM 2007)
Country/TerritorySpain
CityMadrid
Period20/09/0721/09/07

Fingerprint

Dive into the research topics of 'A comparative case study on the impact of test-driven development on program design and test coverage'. Together they form a unique fingerprint.

Cite this