What Software Testers Can Learn from the Game of 20 Questions

Dave Whalen posted a good piece here asserting that software testing, done well, requires a blend of “Science” and “Art”. I recommend it. (He also has a good post about testing databases here).

He includes the statement below which I agree with. If you are a software tester and any doubts about whether all of these methods work (pairwise software testing in particular), I would encourage you to conduct a pilot project on your own and measure the results achieved with and without the technique applied.

From the scientific side, testing can include a number of proven techniques such as equivalency class testing, boundary value analysis, pair-wise testing, etc. These techniques, if used properly, can reduce test times and focus on finding the bugs where they tend to hang out – much like a porch light on a summer night.

My response to Dave’s post, included below, is not especially profound or even well-written, but, hey, I’m in a hurry in the pre-Thanksgiving rush and the topic hit close to home so I couldn’t resist jotting a little something. Enjoy. Please let me know your thoughts / reactions if you have any.

Dave,

Very well said!

I wholeheartedly, enthusiastically agree with your premise. I also wish that more people saw things the same way.

My father co-wrote Statistics for Experimenters which describes the “art and science” within the Design of Experiments (“DoE”) field of applied statistics. Well-run manufacturing companies use DoE techniques in their manufacturing processes. Many companies, such as Toyota see them as an absolutely fundamental part of their processes (yet unfortunately, software testers, who could use DoE techniques such as pairwise and other forms of combinatorial testing, are often ignorant about how to use them properly and the software testing industry as a whole dramatically under-utilizes such techniques…. but I digress).

I brought the book up because it opens up with a good example relevant to the points you made. To win at the game of 20 questions, it is useful to know “the science” of game theory and DoE; choose questions so that there is a 50/50 chance that the answer will be Yes. Someone who knows this technique, all else being equal, will be win more because of their “scientific” approach than someone who doesn’t know the technique. And yet… other stuff (whether the subject matter expertise in this example, or subject matter expertise and “artistic” Exploratory Testing in your example) is indispensable as well.

You can’t truly excel at either 20 Questions or software testing unless you have a good mix of “science” (governed by mathematical principles, proven methods of DoE, etc.) and and “art” (governed by experience, instincts, and subject matter expertise).

– Justin

3 thoughts on “What Software Testers Can Learn from the Game of 20 Questions

  1. Hi Justin,

    You are not what people expect. They expect you to be selling a tool first, and that you aren’t a skilled tester or a thoughtful person first. The assumptions other people make, and I must admit, I very nearly made until I looked into it are an obstacle to the very useful things you have to say.

    I believe after investigating beyond my first instincts to say no to anyone selling anything at all, that you have some interesting ideas and can back them up with practical experience. I hope people will give you a chance beyond their first impression or fears.

    Lanette

  2. Justin,

    I am glad for saying your thoughts which most of us not do always.

    None of us are expert and me too. Every one of us are fallible. It is the context’s which makes one to be seen as an *expert* or *skilled*. That expert definitely would have practiced and failed initially later continued the practice. And keeps applying all the practice with various approaches, with her/his experiences and tries new thing every moment; you too know this.

    If all are singers who will play the music. Varying skills makes colorful.

    I love your comment.

Leave a comment