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

Maria Siniaalto

Research output: ThesisMaster's thesisTheses

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

Fingerprint

Design quality
Productivity
Developer
Software quality
Implementation process
Lead time
Empirical study
Extreme programming

Keywords

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

Cite this

Siniaalto, M. (2006). The impact of test driven development on design quality: Master's thesis. Oulu: University of Oulu.
Siniaalto, Maria. / The impact of test driven development on design quality : Master's thesis. Oulu : University of Oulu, 2006.
@phdthesis{26113f1ab3534471a91112b4cdf2710c,
title = "The impact of test driven development on design quality: Master'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.",
keywords = "Test-driven design, test-first development, agile software development, extreme programming",
author = "Maria Siniaalto",
note = "TK701 diplomity{\"o} University of Oulu: Department of Electrical and Information Engineering",
year = "2006",
language = "English",
publisher = "University of Oulu",
address = "Finland",
school = "University of Oulu",

}

Siniaalto, M 2006, 'The impact of test driven development on design quality: Master's thesis', Master Degree, University of Oulu, Oulu.

The impact of test driven development on design quality : Master's thesis. / Siniaalto, Maria.

Oulu : University of Oulu, 2006.

Research output: ThesisMaster's thesisTheses

TY - THES

T1 - The impact of test driven development on design quality

T2 - Master's thesis

AU - Siniaalto, Maria

N1 - TK701 diplomityö University of Oulu: Department of Electrical and Information Engineering

PY - 2006

Y1 - 2006

N2 - 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.

AB - 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.

KW - Test-driven design

KW - test-first development

KW - agile software development

KW - extreme programming

M3 - Master's thesis

PB - University of Oulu

CY - Oulu

ER -