IEE Proceedings - Software · 2002 · 166 citations · 5 references
EngineeringSoftware EngineeringTest-first MeansSoftware AnalysisProgram EvaluationTest-first ProgrammingComputational TestingTraditional ProgrammingTest AutomationTesting TechniqueComputer EngineeringComputer ScienceRegression TestingTest-driven DevelopmentAutomated ReasoningProgram AnalysisSoftware TestingFormal MethodsTest Evolution
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.
5
Strengthening the case for pair programming
Laurie Williams, Robert R. Kessler, Ward Cunningham et al. · IEEE Software · 2000 · 771 citations