Pitfalls and Anti-Patterns of the Test Pyramid

The test pyramid is a concept invented in 2012 by Martin Fowler and defined as “a way of thinking about how different kinds of automated tests should be used to create a balanced portfolio.” The Test Pyramids is a common way to define and structure your test strategy, to organize the different test techniques, tools, and to manage the test automation effort.Antoine Craske wonders however if we can apply this approach to all models? How can we challenge them regarding their inherent assumptions? Could current solutions and practices help revisit them?

Pitfalls and Anti-Patterns of the Test Pyramid

Without technical and organizational constraints, the author explains that the traditional test pyramid focuses the software testing efforts on the main business and customer facing value, from successful customer experience to a flexible architecture. There is often a poor functional test automation experience, because the tests are partially automated, costly and harder to maintain over time. There is also the lack of trained software testers and software testing competencies, resulting in fragile tests.

The article proposes a table that lists the advantages and disadvantages of every layer of the traditional test pyramid. It then explains an approach that resides in applying the traditional pyramid, with an aggressive automation focus on end-to-end and functional testing, while limiting integration tests as possible, and keeping unit tests for architecture validation.

The conclusion of the article is that “The evolving technological ecosystem is growing in complexity: distributed event-driven microservices, serverless functions, APIs, screen-less interactions, low-code and developer citizens. In this environment, we highly recommend investing in your Test strategy and implementation!”

Read the complete article on http://www.methodsandtools.com/archive/testpyramid.php