Test-first programming is one of the central techniques of extreme programming. Programming test-first means (i) write down a test-case before coding and (ii) make all the tests executable for regression testing. Thus far, knowledge about test-first programming is limited to experience reports. Nothing is known about the benefits of test-first compared to traditional programming (design, implementation, test). This paper reports an experiment comparing. test-first to traditional programming. It turns out that test-first does not accelerate the implementation, and the resulting programs are not more reliable, but test-first seems to support better program understanding.
[1]
James R. Lyle,et al.
A Two-Person Inspection Method to Improve Prog ramming Productivity
,
1989,
IEEE Transactions on Software Engineering.
[2]
John T. Nosek,et al.
The case for collaborative programming
,
1998,
CACM.
[3]
Laurie A. Williams,et al.
Strengthening the Case for Pair Programming
,
2000,
IEEE Softw..
[4]
Jacob Cohen.
Statistical Power Analysis for the Behavioral Sciences
,
1969,
The SAGE Encyclopedia of Research Design.
[5]
David E. Goldschmidt.
DESIGN AND IMPLEMENTATION OF A GENERIC GRAPH CONTAINER IN JAVA
,
1998
.