in reply to The purpose of testing
After a long break from being a professional developer, I'm finally back doing what I like. But what really excites me, is that I've managed to convince several others around me to break as much code as possible by writing tests. 160+ tests for three little (very small!) modules of mine, and I've uncovered bugs that I wouldn't have caught otherwise... "What happens if I try to set X to Y?"
It looks like perhaps you've gotten along without needing it, but I'd like to mention Test::MockObject, by our very own chromatic. I'm getting ready to test my modules from a higher level (they're utility modules for a database-accessing mod_perl app) and without Test::MockObject, I'm having trouble envisioning how to give them a proper thrashing. In case you'd like to see a practical example, Jason Gessner gave a talk at YAPC::NA 2006, and his slides are available online. Test::MockObject shows up around page 25.
s**lil*; $*=join'',sort split q**; s;.*;grr; &&s+(.(.)).+$2$1+; $; = qq-$_-;s,.*,ahc,;$,.=chop for split q,,,reverse;print for($,,$;,$*,$/)