Most companies only focus on manual testing at the start. Down the road they jumping head first into UI automation. This might seem like the best approach, but focusing on just one area of testing can lead you down the wrong path.

There’s a downside to only having Manual & UI automated test. You end up with an anti-pattern called the Software Testing Ice Cream Cone.

I first heard about software testing ice cream cones during a talk that referenced a diagram from Alister Scotts blog Waitrmelon. The original diagrams are in his post, Introducing the software testing ice-cream cone (anti-pattern). Thought I would share here.

What’s A Software Testing Ice Cream Cone

Software Testing Icecream Cone Anti-Pattern

With a software testing ice cream cones, the majority of testing is done manually. UI automated test are a close second, integration test in the middle, with unit testing lagging behind completely. This is not scalable.

What Is The Better Approach

What you want to end up with is the complete opposite, the Pyramid.

Ideal Automated Testing Pyramid

So you don’t want ice cream cones (well not these kinds anyway). Ice cream cones are fleeting. They feel good just for the moment. They never last long enough.

You want to build pyramids. I’ve talked about an agile testing pyramid when building an agile testing framework. Though pyramids are much harder to build they’re strong and last a long time.

Please check out WatirMelon it’s a great blog with a lot of useful post about software testing.