Fundamentals 6 min read

Test Pyramid and Its Anti‑Patterns: Ice Cream Cone, Cupcake, and Hourglass

The article explains the classic test pyramid concept, clarifies the confusing term integration testing, and details three common anti‑patterns—Ice Cream Cone, Cupcake, and Hourglass—showing why they hinder continuous testing and how teams can move toward a proper testing strategy.

Continuous Delivery 2.0
Continuous Delivery 2.0
Continuous Delivery 2.0
Test Pyramid and Its Anti‑Patterns: Ice Cream Cone, Cupcake, and Hourglass

As a consultant, some of my clients get stuck in an endless loop of end‑to‑end UI testing and don't know how to break out.

Over the past few years I have repeatedly used the test pyramid and its anti‑patterns to illustrate the approach I recommend. Although the Internet is full of articles about the test pyramid, few adequately describe its anti‑patterns.

So let me explain them.

Test Pyramid

The famous test pyramid was introduced by Mike Cohn in his book "Succeeding with Agile".

The pyramid answers when and where to test; see Martin Fowler: Effective Test Pyramid.

Implementing the pyramid can be challenging for many teams with existing systems, but it is very suitable when a software development team is building its testing skills or moving to a new technology stack.

Unit tests and UI tests are self‑explanatory. The confusing term is Integration Testing, which refers to any middle‑layer such as application APIs, micro‑services, databases, etc.

Anti‑Patterns

Understanding what is not correct is sometimes crucial for learning the right testing approach.

Many experienced developers and other software professionals have never heard of these anti‑patterns, which surprises me. I have summarized them here.

The three software‑development anti‑patterns are:

Ice Cream Cone

Cupcake

Hourglass

Ice Cream Cone Anti‑Pattern

Alister Scott first introduced the "Ice Cream Cone" on his blog.

This anti‑pattern is easily found in organizations with dedicated automation‑testing teams and low release frequency, where the mindset is "I will automate everything through the UI".

It is dangerous because UI automation is expensive and slow.

If you cannot test continuously, you cannot deploy continuously; without continuous deployment, your product is always delayed to market.

Does that make the "Ice Cream Cone" sound terrible?

Cupcake Anti‑Pattern

ThoughtWorks blog introduced the "Cupcake" anti‑pattern.

Different teams write automated tests while sitting on different floors or locations. Developers write unit, integration, and component tests; automation engineers convert manual regression tests to automated ones; another team manually executes test cases. All teams duplicate testing. Although more tests do not cause harm, they are inefficient. Teams cannot focus on more complex testing problems because everyone is busy with many tasks.

Hourglass Anti‑Pattern

The hourglass anti‑pattern comes from KHUSHI, written in a 2019 blog.

In this anti‑pattern you have an excellent development team writing unit tests and a QA team writing UI tests, but no one writes service/middleware tests. Although this is better than the Ice Cream Cone, it is still not as good as the test pyramid.

Your team may be in one of these anti‑patterns; what practices are you adopting to move toward the test pyramid?

Reference Reading

Fix the Test Hourglass

Martin Fowler: Effective Test Pyramid

Original author: Khushiy

Original link: https://khushiy.wordpress.com/2019/02/07/test-pyramid-antipatterns/

testingsoftware qualityintegration-testingtest pyramidUI testinganti‑pattern
Continuous Delivery 2.0
Written by

Continuous Delivery 2.0

Tech and case studies on organizational management, team management, and engineering efficiency

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.