The impact of test driven development on design quality: Master's thesis

Maria Siniaalto

Research output: ThesisMaster's thesis

Abstract

This study concentrates on examining the design quality effects of Test-driven development, which is a practice of Extreme Programming. Test-driven development is a development technique in which the test are written prior to the application code. An exhaustive automated test suite is maintained and run constantly during the implementation process in order to decrease the incidence of unplanned failures. First, the existing empirical studies were analyzed and summarized to increase the current knowledge on Test-driven development. Literature suggests that Test-driven development increases software quality significantly, especially when employed in an industrial context. The effects on productivity were not so obvious, but there are some initial findings indicating that Test-driven development does not necessarily decrease developer productivity or extend project lead-times. The second part of this thesis concentrates on empirically evaluating the impact of Test-driven development on design quality through three case projects. Based on the empirical findings, it was concluded that Test-driven development does not seem to provide all design quality benefits suggested in literature: TDD does not necessarily produce highly cohesive systems when employed by junior developers. However, extremely high test coverage (97.7 %) was reached using TDD.
Original languageEnglish
QualificationMaster Degree
Awarding Institution
  • University of Oulu
Place of PublicationOulu
Publisher
Publication statusPublished - 2006
MoE publication typeG2 Master's thesis, polytechnic Master's thesis

Keywords

  • Test-driven design
  • test-first development
  • agile software development
  • extreme programming

Fingerprint

Dive into the research topics of 'The impact of test driven development on design quality: Master's thesis'. Together they form a unique fingerprint.

Cite this