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