When I find myself in times of trouble, Douglas Adams comes to me, speaking words of wisdom. So I’ve give this blog a title which sums up my state of mind, a state of mind engendered by reading the excellent posts of my great friend Ileana in LinkedIn. You’ll find them under the hashtag #thisisaseriouslackoftestingmindset.
In the third post in the series, “Everything but an Egyptian and a testing point of view”, Ileana mentions testing pyramids and puts in a link to this great post written by James Bach. A combination of the two writers put my mind in the cynical mode, and I started thinking about other graphics that could be both entertaining and completely useless:
The Testing Iceberg
Figure 1 – The testing iceberg
Yes, it looks like a molar, but it’s an iceberg. The iceberg represents the famous system-under-test, and floats in a sea of operating systems, oceans of uncertainty and ponds of yucky green stuff. With a little bit of cloud thrown in for good measure.
The layers illustrate:
#1: What non-testers think mere testers test;
#1 plus #2: What can be covered with automated checking;
#1, #2 plus #3 What testers test;
#4 Where the sharks in “Sharknado” originate.
The Sinking Project Ship
Something that will surprise you almost as much as it surprises me is that, during a career that began with me learning coding from Ada Lovelace, I’ve never been present when an IT project sank. Once or twice I’ve done just what’s pictured below in my “Sinking Project Ship” model:
Here we can see that the first victims of the project sinking to the bottom of the briny, are the workers. Middle management still have time to search desperately for a lifeboat that isn’t occupied by Kate Winslet. The CEO is waiting for the cute little helicopter to rescue them from the hoi-polloi.
The Coverage Rainbow
Moving on to one of the great misconceptions that people, mostly managers, have about testing: the 100% requirements coverage. The nice little picture below depicts the Coverage Rainbow, with the pot of gold at the end of the rainbow representing the achievement of 100% requirements coverage.
Does anyone else find the idea of 100% requirements coverage to be a Panglossian notion?
There are some assumptions made, and having a testers mindset, I reject concepts bases on assumptions like these:
- The requirements are perfect and take into account that the end user is (probably) human and will hence do unexpected things;
- The requirements are complete;
- The requirements will not change;
- The test cases are perfect;
- I’m perfect.
Figure 2- The 100% Coverage Rainbow
By the way, the little chap to the left of the 100.0% value is one of the Leprechauns of Software Engineering.
Everything else in the graphic is meaningless but had to be included to give the impression that the model has some statistical significance. Thus it all sits comfortably with the concept of 100% requirements coverage.
The Testing Mindset vs Influence Pyramids
What you’re going to see next, the last in the “useless graphics” series, is a variation on the “Testing Pyramid” concepts, although it has only one thing in common with most of the graphical representations of the testing pyramids: they’re not pyramids, they’re triangles.
My theory is that “Testing Pyramid” gives a veneer of class and classicalism to the articles that propone the idea, while “Testing Triangle” would most likely conjure up thoughts of the Bermuda Triangle. Also, the use of a pyramid as an analogy for testing (albeit a false one), is much more persuasive than the use of a triangle. Something that has lasted for millennia resonates much more than a small, rarely used, musical instrument.
That’s enough preamble, here’s the “The Testing Mindset vs Influence Pyramids” graphic:
The more I think, the more I come to realise that this is an accurate reflection of the situation in some companies, and maybe not at all meaningless.
Graphics, pictures and statistics can be used to manipulate our beliefs into something that, in turn, can be used to manipulate people into believing. I think we must question much of what we’re told, much of what we hear, especially if it comes from people who clearly believe in what they’re saying. This isn’t something I’d apply to my personal life, I would be foolish to doubt what my partner tells me, I trust her.
But I don’t trust people in my field of work who have absolute faith in the testing pyramid, for example. Or others who use the same concept to pursue their own dubious objectives. Snake oil can only be sold because people are desperate for a solution to what they consider to be their problems.
I need some more Douglas Adams:
“That’s right … we demand rigidly defined areas of doubt and uncertainty”
― Douglas Adams, The Hitchhiker’s Guide to the Galaxy