If you’ve ever worked in testing or QA you’ve probably seen something like this.
(credit to Ministry of Testing)
And by now you’re probably thinking ‘Surely not another testing pyramid blog’.
Stay with me folks..
Hopefully, this isn't just another Testing pyramid blog. This blog is about changing your perspective.
Infact, the pyramid you’re familiar with isn't a pyramid at all - its just a triangle. This blog is about looking at the pyramid in three dimensions and reframing its context.
So, this is a pyramid, right?
It’s what’s known as a ‘right square pyramid’ because it’s net consists of 4 triangles, a square and its apex is directly above the centroid of its base.
Here’s the bit where i blow your mind. I think the face of the testing pyramid you’re familiar with is actually the base of a tetrahedral pyramid. Or in layman’s terms; the kind made of 4 triangles.
If i sketch that out it looks more like this:
So am i just being pedantic about geometry or is there some real value in reimagining this?
Well, i think so. By reimagining the pyramid in this way we’re building on the pyramid analogy. There is an additional dimension to consider.
In two dimensions most (here-forth known as) ‘testing triangles’ tells us that our unit tests should be more numerous than our API/ service layer tests and our automated UI tests less numerous still. Whilst i think this is still a generally sound model (i’ll save my real criticism of it for another blog) our new imagining of the pyramid gives us a little bit more…
Having this additional context to work with the testing pyramid analogy now tells us;
There’s a point in time where no tests exist
Number of tests increase over time
At any given point in time we should have appropriate distribution of tests
It would be great to hear from the community on this - so feel free to comment and we can talk about it.
Thanks for reading!