Back

The Agile Test Automation Pyramid

In order to explain how test automation should be distributed across each category, Mike Cohn came up with the visual aid of a pyramid. The pyramid shows how time and effort compare to return on investment for different types of automation testing. One pyramid explains traditional automation testing, while an inverted pyramid represents modern Agile test automation.

Traditional

The traditional way to distribute automation testing is to spend a little time on unit testing, more time on the “middle” layer of acceptance tests and the like, and significantly more time on automated UI testing. The problem with this tactic is that UI changes force testers to recreate all of their automation tests. Not only does this require more time, but it poses the risk of user error when setting up these tests. Testers are more likely to miss edge cases or improperly implement tests if they are constantly reworking the tests to accept UI changes.

Modern

More modern tactics prioritize the most time and effort in creating unit tests, with less effort going to the “middle” layer, and still less going to UI testing. This distribution of automation testing improves upon the traditional distribution in numerous ways. First, creating more unit tests reduces the amount of changes that must be made for UI changes. If logic and functionality do not change, the unit tests should continue working as designed. Even if the entire UI is recreated, backend behaviours remain the same, and most of the automation testing is still functional. Some “middle” and UI layer automation testing is necessary, but most problems should be caught at the unit testing level when sufficient unit tests are included.

Recommended Further Reading

The following materials may assist you in order to get the most out of this course:

Translate »