On May 7, 2006, at 10:01 PM, Bill Kelly wrote: > I'm not sure how many people might know about this (or > how many might care <grin>) but: The state of the art in > Test Driven Development has come pretty far. Drop by a > TDD mailing list and ask folks how many minutes a year > they spend stepping through code anymore; or indeed, if > they even use a debugger at all. > > Most TDD folk are likely to say they use a debugger rarely, > if ever. Maybe to deal with weird interactions with a third party > module to which they don't have tests. But on > the TDD codebase? I rarely if ever use a debugger in my C++ > TDD code and never in Ruby, nor do I miss it. > > Stepping through code in the debugger is inefficient > because it doesn't buy any security for the future. The > debugger is a great tool when needed--this is definitely > not some anti-debugger rant--but the key difference of > unit tests is that, once written, they are _automated_ > tests, where using the debugger is a wholly manual > process each time. Not to mention that using a debugger to find bugs is a case of you repeating yourself. Writing tests keeps your from duplicating work that should be automatic. > State-of-the-art TDD uses One Button Testing(*) where > you bind a key in your editor to run your tests, and > without interrupting your flow. You get to keep coding, > while your tests are running, but if the tests don't > pass, you get results that allow you to easily navigate > to the failure point. If you're running your tests > frequently, chances are the failure relates to code you > just typed moments ago. > > (*) Hmm - I see I'm behind the times. Some folks were > already pushing toward Zero Button Testing three years > ago. :) > http://www.testdriven.com/modules/newbb/viewtopic.php? > topic_id=412&forum=6 autotest in ZenTest gives you Zero Button Testing (well, you have to save the file, does that count?) -- Eric Hodel - drbrain / segment7.net - http://blog.segment7.net This implementation is HODEL-HASH-9600 compliant http://trackmap.robotcoop.com