Recently I was thinking about the plethora of Test Heuristics floating about the blogosphere. HICCUPPS, CRUSSPIC STMPL, FCC CUTS VIDS, and on and on and on. Eventually I became overloaded and started searching for a heuristic to help me sort through and remember all of these heuristics!

Then I realized I already had a sorting heuristic: me! I am a sometimes fallible solution to the many different problems I encounter every day. Sometimes I work in solving those problems, and sometimes I do not - I am fallible. So it does not make sense to get down on myself when I fail; heuristics fail sometimes, and I am a heuristic. It does not matter if I do not always bring the results someone else is expecting; heuristics do not always bring the results we expect, and I am a heuristic.

Wouldn't it be grand if CRUSSPIC STMPL could speak up and say "Um, actually, San Francisco DePOT would be more appropriate right now"? If all of these testing heuristics could walk in to our offices and test our products for us? That is in fact what they do, in the person of me, and you, and everyone else on our teams. If we are heuristics, then so are our developers, and our program managers, and even our managers! Which means each of us and all of us will fail at times.

Anyone who expects CRUSSPIC STMPL to find every bug is mad. Likewise, anyone who expects you or me to find every bug is mad. Even if that expecting person is you or me!

Heuristics fail sometimes - that is their nature. As each of us is a heuristic, we will fail sometimes. We will be asked to do things for which we are not well suited. We will be expected to bring about results which we are unable to do. And we will fail. No big deal, such is the life when one is a heuristic.

As a self-aware heuristic, it is my duty to speak up when I feel I am being misapplied. It is also my duty to help those using me to understand how to best apply me. As I do, I must remember that those using me are also heuristics, and so they will sometimes fail in their roles as well. If I expect perfection from them, then I am the one who is mad.

What are you doing to discover how you are best applied, and to help you teammates understand this? Let me know: michael dot j dot hunter at microsoft dot com.