What is the agile test automation pyramid?
The agile test automation pyramid is a graphical strategy guide for implementing automated software testing.
The model splits types of testing into three layers based on the return on investment (ROI) offered by automating that particular type. The components of each layer can vary from one organization to another but the bottom layer (the largest part of the pyramid structure) typically includes unit testing, representing the idea that automating it offers the best ROI to the organization.
Unit tests involve testing small units of code. They are the least expensive to write and maintain, and they provide value to the team multiple times per day. Acceptance tests, in this particular model, provide the next greatest benefit and user interface testing the least.
In automated testing, software tools execute pre-scripted tests on a software application or program component to ensure it is functional. Automating testing makes it possible to run tests quickly and repeatedly and the software involved can also provide reports and compare results. Automation helps deal with problems resulting from manual testing, including:
- missed deadlines
- quality issues
- human error
The order of testing can also impact its success and that of the Agile development project as a whole.
The agile test automation pyramid was introduced by Mike Cohn in his book Succeeding with Agile. The image above represents Cohn's version of the model.