YAQRTDD
-
Yet another question regarding TDD... I have read the few resources sent to me in an earlier message and now I have a more specific question. What is the purpose of TDD? I mean, where is this method any better than say... Recording return values from functions in a log file? Don't exceptions or ASSERTS in MFC basically do the same thing for you? I suppose that a framework for automated testing would make entering the test data alot easier (being automated and all). Is that the point behind TDD? It's frustrating being a genius and living the life of a moron!!!
-
Yet another question regarding TDD... I have read the few resources sent to me in an earlier message and now I have a more specific question. What is the purpose of TDD? I mean, where is this method any better than say... Recording return values from functions in a log file? Don't exceptions or ASSERTS in MFC basically do the same thing for you? I suppose that a framework for automated testing would make entering the test data alot easier (being automated and all). Is that the point behind TDD? It's frustrating being a genius and living the life of a moron!!!
Hockey wrote: What is the purpose of TDD? IMO, the purpose of TDD is six-fold (at least, the major points): 1. formalize testing 2. enforce testing as part of the implementation process 3. improve test repeatability 4. formally document test results 5. "document through code" usage/tests 6. automate testing in conjunction with a test engine If you want more elaboration/discussion, shoot! However, the above 6 points don't necessarily require a TDD approach--there are other ways to the skin the cat as well. But these are (or should be) the goals of TDD. Marc My website Traceract Understanding Simple Data Binding Diary Of A CEO - Preface
-
Yet another question regarding TDD... I have read the few resources sent to me in an earlier message and now I have a more specific question. What is the purpose of TDD? I mean, where is this method any better than say... Recording return values from functions in a log file? Don't exceptions or ASSERTS in MFC basically do the same thing for you? I suppose that a framework for automated testing would make entering the test data alot easier (being automated and all). Is that the point behind TDD? It's frustrating being a genius and living the life of a moron!!!
To restate Marc's #2 point, TDD makes it much more likely you will do more then just test the one little thing you changed when you change one little thing. It's all those 2 minute fixes that cause you to spend 3 days debugging a week later that TDD helps to eliminate. If you buy into the XP manifesto, then you accept that debugging and integrating changes into the system are where most development time ends up being spent. Agile methods try to reduce this wasted time as much as possible. 20 minutes time up front setting up tests means that 2 minute fix takes 10 minutes in reality once you fix the tests you broke rather then many hours later because you didn't discover what you broke until it is too late.
I can imagine the sinking feeling one would have after ordering my book, only to find a laughably ridiculous theory with demented logic once the book arrives - Mark McCutcheon
-
Yet another question regarding TDD... I have read the few resources sent to me in an earlier message and now I have a more specific question. What is the purpose of TDD? I mean, where is this method any better than say... Recording return values from functions in a log file? Don't exceptions or ASSERTS in MFC basically do the same thing for you? I suppose that a framework for automated testing would make entering the test data alot easier (being automated and all). Is that the point behind TDD? It's frustrating being a genius and living the life of a moron!!!
Marc and Brummer answered well. There is one last thing I want to cover. Agile development assimilates a lot of good practices that rabid anti-Agile developers have been doing for decades. A lot of it is common sense, but written down. A lot of it is things we already do, but formalised. A lot of it is stuff we know, but given a name. The same has happened with AJAX in the web-development world. A set of existing technologies have been wrapped up into a handy label and re-marketed. Most of us appreciate it because it drives forward understanding of it and spreads good practices and interesting technology. But there are a subset of web-developers who are just throwing scorn on the name because they have been using the technologies for many years already. So with TDD I'd take the new, remember the old and carry on. It is not revolutionary and you aren't missing anything if most of it seems familiar. regards, Paul Watson South Africa Colib and WebTwoZero. K(arl) wrote: oh, and BTW, CHRISTIAN ISN'T A PARADOX, HE IS A TASMANIAN!
-
Marc and Brummer answered well. There is one last thing I want to cover. Agile development assimilates a lot of good practices that rabid anti-Agile developers have been doing for decades. A lot of it is common sense, but written down. A lot of it is things we already do, but formalised. A lot of it is stuff we know, but given a name. The same has happened with AJAX in the web-development world. A set of existing technologies have been wrapped up into a handy label and re-marketed. Most of us appreciate it because it drives forward understanding of it and spreads good practices and interesting technology. But there are a subset of web-developers who are just throwing scorn on the name because they have been using the technologies for many years already. So with TDD I'd take the new, remember the old and carry on. It is not revolutionary and you aren't missing anything if most of it seems familiar. regards, Paul Watson South Africa Colib and WebTwoZero. K(arl) wrote: oh, and BTW, CHRISTIAN ISN'T A PARADOX, HE IS A TASMANIAN!
Paul Watson wrote: A set of existing technologies have been wrapped up into a handy label and re-marketed. hehe. Like XAML? Marc My website Traceract Understanding Simple Data Binding Diary Of A CEO - Preface