I guess it’s time for the second installment. My earlier essay started just as a casual reply to a client, but when Rex Black posted it on his web site, it went viral — going to #3 on Reddit and appearing prominently on other social networking amalgamation sites. Since then I’ve had the pleasure of watching the dialog unfold. It’s ranged from profound to just silly and, sadly, the majority of it falls into the latter category. It appears as though there is a very wide mythology, perhaps propelled by industry hope and fuelled by academic programs and consultants desperate to justify their reason to exist.
There have been precious few real arguments against the positions I laid out in the earlier essay, but a lot of emotive disagreement. In this second round I take inspiration from the dialog that ensued from the first round and offer a few more insights and opinions. Forgive me for opining a bit more in this round than in the first, but I had already covered most of the substantial groundings earlier.
Here, I’ll present a very few fundamental arguments against unit testing that in theory should have been in the first article, such as Weinberg’s Law of Decomposition (An Introduction toGeneral Systems Thinking by Gerald Weinberg, 2001). I’ll offer some models that help us reason about QA in general, such as the Venn diagram on testing opportunity. And I’ve looked further into my contacts to find other smells in unit testing, such as the work-in-progress from Magne Jørgensen, and the broader perspective at Toyota that challenges the very idea of testing as we usually think of it. Last, I’ll look at some of the more archetypical responses that the gallery offered on the first round, together with my analysis. These provide a good cross-section of the typical misunderstandings that flood our industry.
Please refer back to Chapter 1 before launching into social media discussions on Chapter 2. You can find the earlier chapter here.
Read this article → (PDF 217 kB)