A draft book on TDD, by Kent Beck.
Reading this I started to wonder just how different TDD is from classic stepwise refinement, in which you write client code, and only then drill down into subroutines.
Stepwise refinement is about procedural programming (e.g., Pascal or C). eXtreme programming and TDD tend to be more about OOP. Indeed, the essence of the xUnit framework is an object oriented design.
Posted to Software-Eng by Ehud Lamm on 7/31/02; 4:18:02 AM
But I hope you'll agree that the design of jUnit et al is object oreinted? Of course, you can write test frameworks that aren't.
I was just pointing out that while the ideas can be applied to different paradigms, there are closely related to the language and paradigm used.
Different to be sure. But how different?
When I was a die hard Pascal programmer, I remember writing the main program, stubs, and then testing that things are ok. Then I'd add more functionality, re-test etc.
Now this isn't TDD. There were no automatic tests - so obviously tests weren't written before the code. There was no real regression testng going on etc.
Still, it seem to me not so unlike TDD.
It may be instructive for people with little sw design experience (i.e., co-workers etc. )
I dearly love TDD, I would want to do things any other way. Even so, I do web development. TDD in web dev situations is difficult in many settings. Any suggestions for fixing that?