Beware of Auto-Reset Events (They Don’t Behave the Way You Think They Do)

So I just spent several days debugging an intermittent crash in some test code.  Part of the reason it took so long was because whoever wrote this code introduced a dependency on a legacy test component that was apparently so old that sources and symbols had disappeared.  So the first part of the diagnosis involved a bit…

4

Why Stepping Through Code Trumps Unit Testing

Over the past few years, there has been a big buzz about how writing unit tests (preferably via Test Driven Development) combined with code coverage is the silver bullet for keeping bugs out of the product.  While the benefits of unit testing are undeniable, there are quite a few folks out there who advocate unit…

3

Wither White-Box Testing?

I was recently reading JW’s blog post on Prevention vs. Cure: http://blogs.msdn.com/james_whittaker/archive/2008/07/24/prevention-v-cure-part-1.aspx and it set me off a bit.  The blog post talks about “developer testing” which got me thinking about one of my biggest gripes: the “Software Design Engineer In Test” title.  I hate this title because it implies that someone who does test development…

4

The Three Laws of Software Development

If you haven’t read The Pragmatic Programmer, by Andrew Hunt and David Thomas, I’d highly recommend it.  It puts a fresh coat of paint on many of the concepts discussed in Steve Maguire’s classic Writing Solid Code and Steve McConnell’s CodeComplete (both of which are must reads for any software developer).  Anyway, one of the…

3