Helpful Metaphors for Software Testing
Metaphors are a wonderful way to describe something to your audience that they would not likely understand without them. Explaining testing to non-testers and testing concepts to experienced testers can be significantly easier when using good metaphors.
So what are some of the more interesting metaphors we can use for software testing?
For one thing, kayaking and slalom can be likened to scripted testing while freestyle canoeing can be likened to exploratory testing. As Duncan Nisbet writes, “I see the slalom discipline as similar to scripted testing—the river is the software, the river features are, well, the software features, and the gates define the route down the river, like a script guiding a tester through the software.”
Another metaphor you can use relates to preparing a yard for an ice rink, as explained by Paul Holland. Paul writes of his experience setting up an ice rink in his backyard and how that experience reminded him of proper test coverage. Paul had to remove debris (bugs) before laying down the tarp and ensure that whatever debris remained was not significant enough to cause problems, much like how testers make sure that no bugs harm a project.
Finally, you can even consider the ice cream cone as a helpful metaphor. In the same way that ice cream rests on the cone itself, we can think of manual testing being placed atop automated testing. Manual testing is the sweet ice cream that is anchored and supported by automated testing, which is the sturdy (and possibly delicious) cone.
If you are still looking for more testing metaphors, check out this video featuring Scott Barber.
With all of these metaphors, however, you might find yourself being overloaded with so many analogies. There is an underlying sense in our industry that if you come up with an amazing new metaphor for software testing—or a part thereof—then you'll be crowned the next thought leader. While building a reputation is very important, it's a great idea to make sure you research your chosen metaphor well.
One way is to only use a metaphor when you believe it is necessary. Think about your target audience and assess if they even need the use of one. At times when you're not entirely sure, it's good to only briefly focus on the metaphor and then spend the majority of your time on your true subject.
It is also very important to make sure you clearly define your story as a metaphor—or perhaps an analogy —as there is potential for them to be taken the wrong way.
Do you have any metaphors that you care to share? Please comment below.