In general, when we are in a manual testing project and we start to automate tests, we fall into the error of automating everything at the user interface level because it is what we are used to testing. This is the anti-pattern of automation known as the ice cream cone.
What is an antipattern? It is the best way to do something wrong.
And what's wrong with approaching automation in this way? Mainly 2 things:
- Maintainability - The GUI is what changes the most and if we depend on that, our scripts will have a lot of changes too.
- Speed: it takes longer to run these tests and find the defects.
For this reason comes the Pyramid of Automation created by Mike Cohn. It is about the proportion of tests that it is good to have at each level: In this sense, it shows that we must have a good base of unit tests, a few integration tests and very few automated tests at GUI level.
If you want to know more about this, do not hesitate to watch this video that has a lot of information.
To make it even clearer, we make an analogy cooking a pear pie.
Enjoy it!