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 only one area of testing can lead you down the wrong path.
There is definitely a down side 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 which referenced a diagram from Alister Scotts blog Waitrmelon. The original diagrams on the concept are in his post Introducing the software testing ice-cream cone (anti-pattern), which I thought I would share here.
What’s A Software Testing Ice Cream Cone
With software testing ice cream cones, the largest 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.
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.