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 language | English |
---|---|
Qualification | Master Degree |
Awarding Institution |
|
Place of Publication | Oulu |
Publisher | |
Publication status | Published - 2006 |
MoE publication type | G2 Master's thesis, polytechnic Master's thesis |
Keywords
- Test-driven design
- test-first development
- agile software development
- extreme programming