Test-Driven Development (TDD) is based on formalizing a piece of functionality as a test, implementing the functionality
such that the test passes, and iterating the process. This paper describes a controlled experiment for evaluating an important aspect of
TDD: In TDD, programmers write functional tests before the corresponding implementation code. The experiment was conducted with
undergraduate students. While the experiment group applied a test-first strategy, the control group applied a more conventional
development technique, writing tests after the implementation. Both groups followed an incremental process, adding new features one
at a time and regression testing them. We found that test-first students on average wrote more tests and, in turn, students who wrote
more tests tended to be more productive. We also observed that the minimum quality increased linearly with the number of
programmer tests, independent of the development strategy employed.
%0 Journal Article
%1 Erdogmus2005
%A Erdogmus, Hakan
%A Morisio, Maurizio
%A Torchiano, Marco
%D 2005
%J IEEE Trans. Software Eng.
%K TDD engineering prog programming software testfirst
%N 3
%P 226-237
%T On the Effectiveness of the Test-First Approach to Programming
%V 31
%X Test-Driven Development (TDD) is based on formalizing a piece of functionality as a test, implementing the functionality
such that the test passes, and iterating the process. This paper describes a controlled experiment for evaluating an important aspect of
TDD: In TDD, programmers write functional tests before the corresponding implementation code. The experiment was conducted with
undergraduate students. While the experiment group applied a test-first strategy, the control group applied a more conventional
development technique, writing tests after the implementation. Both groups followed an incremental process, adding new features one
at a time and regression testing them. We found that test-first students on average wrote more tests and, in turn, students who wrote
more tests tended to be more productive. We also observed that the minimum quality increased linearly with the number of
programmer tests, independent of the development strategy employed.
@article{Erdogmus2005,
abstract = {Test-Driven Development (TDD) is based on formalizing a piece of functionality as a test, implementing the functionality
such that the test passes, and iterating the process. This paper describes a controlled experiment for evaluating an important aspect of
TDD: In TDD, programmers write functional tests before the corresponding implementation code. The experiment was conducted with
undergraduate students. While the experiment group applied a test-first strategy, the control group applied a more conventional
development technique, writing tests after the implementation. Both groups followed an incremental process, adding new features one
at a time and regression testing them. We found that test-first students on average wrote more tests and, in turn, students who wrote
more tests tended to be more productive. We also observed that the minimum quality increased linearly with the number of
programmer tests, independent of the development strategy employed.},
added-at = {2009-12-22T13:49:03.000+0100},
author = {Erdogmus, Hakan and Morisio, Maurizio and Torchiano, Marco},
bibsource = {DBLP, http://dblp.uni-trier.de},
biburl = {https://www.bibsonomy.org/bibtex/260610e4bdf192ff1d603484d99ce728d/ist_spl},
ee = {http://dx.doi.org/10.1109/TSE.2005.37},
interhash = {88ca7f652542818f0b8ed8304e2eef99},
intrahash = {60610e4bdf192ff1d603484d99ce728d},
journal = {IEEE Trans. Software Eng.},
keywords = {TDD engineering prog programming software testfirst},
number = 3,
pages = {226-237},
timestamp = {2009-12-22T13:49:03.000+0100},
title = {On the Effectiveness of the Test-First Approach to Programming},
volume = 31,
year = 2005
}