How Automated Visual Testing Will Redefine the Testing Pyramid
Automated visual tests reduce the time and expense required to test applications at the user interface level, increasing the potential for broader end-to-end testing than was feasible under the traditional pyramid model.
AI-powered automation will allow QA teams to push visual tests further down the pyramid, implementing visual testing at earlier stages of development.
Combining automated visual and functional tests is the best avenue to ensuring a quality product that both looks and functions as designed.
Even the best error-free code is sometimes foiled in the visual rendering stage. You’ve done everything right — but even so, the screen resolution threw off your grid or a pop-up banner that covered your call-to-action button. Now your website is losing out on conversions, or your app is frustrating users who are unable to perform basic functions.
Visual tests identify these kinds of issues before they reach your end users. As the image processing capabilities of artificial intelligence (AI) systems continue to improve, computers can assume more of the visual checking tasks that were once completed manually.
At this early stage of visual testing technology, AI-powered tests can already reduce the occurrence of visual regressions and save QA teams time and money. But automated visual testing also has the potential to reshape the software development life cycle by redefining the standard test pyramid model.
Keep reading for an idea of what the redefined pyramid could look like, plus a reimagining of how visual tests could shape the future of software development life cycles.
Anatomy of the testing pyramid
The testing pyramid, used by many agile teams to prioritize and implement automated software testing, was first introduced by author Mike Cohn in 2009.
The basic pyramid has three layers: Unit tests appear at the bottom, service tests in the middle and user interface (UI) tests at the top.
The wide base of the pyramid is where teams ensure that small, standalone pieces of the code are operating as expected. These tests are quick and inexpensive. And because they are often written in the programmer’s coding language, much of the unit testing can be completed by the programmers themselves.
The narrow wedge symbolizing UI tests sits at the top of the pyramid. These are the most costly tests for two reasons: the time required to test a large number of interrelated checkpoints and the expense of fixing any defects that surface at this late stage in the development life cycle. UI tests are also considered the most brittle, as small changes made at the unit level can create a ripple effect of errors that impact many parts of the application.
As the pyramid shape suggests, QA teams should perform most of their testing at the unit and service levels, validating each piece of the puzzle before the whole program comes together in the user interface. UI testing should be done sparingly and strategically.
The labels for each layer have shifted over time and adapted to different engineering uses — some layer in component and API testing or add a layer of manual testing on top — but the principles remain the same.
How visual testing reshapes the testing pyramid
Many versions of the agile testing pyramid include a vertical continuum that illustrates the shifts in speed, cost and integration as you work your way up or down the pyramid. UI or end-to-end tests are the most highly integrated but are the slowest and most expensive tests, whereas unit tests are isolated, quick and cheap.
But this is where automated visual tests could change the game. One of the drivers behind the relative expense of higher-layer testing is that it has traditionally been harder to automate.
Sure, QA engineers could write lines of code to test the function of every component part of an application. But only a human could tell you if all of the page elements align as designed or if your banner ad obscured a critical button.
With the power of AI, QA engineers can leverage automated visual tests to make UI and end-to-end testing less expensive. These advancements effectively compress the top layer of the testing pyramid and open the door for teams to do more high-level testing than was previously feasible.
Reimagining visual tests in an AI world
The introduction of AI-powered visual testing will have a wide range of implications for different industries and development processes. Here are a few ways that visual testing could transform the software landscape in the near future.
- Automating the testing of visual components at earlier development stages. Applications that use a library of defined visual components (think content grids, buttons, form fields, etc.) could use visual tests to validate how those components appear under different states long before they are integrated into a finished UI. Automated visual tests could also check for color contrast and other visual elements that affect accessibility.
- Speeding up localization tests. Visual tests could be used to check that layouts appear correctly when the language of the text changes, removing the need to serialize releases in multiple languages.
- Improving feedback processes within production. As visual testing becomes more pervasive in the development lifecycle, testing platforms could provide more detailed feedback by attaching screenshots of visual regressions that result from coding changes.
The vital intersection of visual and functional testing
Automated visual tests have the power to significantly improve QA processes, but they will never replace automated functional testing as it has evolved within the test pyramid model.
Visual tests don’t apply to the bottom layers of the pyramid where there is no visual output to test. And while visual tests can tell you if your button looks right, they can’t verify that the correct programs run when a user clicks it. On the flip side, if a coding error renders your functionally validated button invisible, you have a problem that only visual testing could solve.
From an accessibility perspective, only combined visual and functional testing can ensure that a functioning button is visible to a colorblind audience or that a visible button has the right annotations to be accessible to blind users with screen readers.
Both visual testing and functional testing are required to ensure a quality product. This means the test pyramid model may need to evolve to account for parallel streams of testing activity.
The future of agile testing
The rise of automated visual testing saves QA teams time and money and paves the way for a new approach to those testing activities that have traditionally sat atop the agile testing pyramid.
In addition to inviting broader UI testing, visual tests will likely appear at earlier stages of the software development life cycle, validating individual components before they are fully integrated.
The ability to automate visual tests with AI will effectively push visual tests down into lower layers of the testing pyramid, redefining the testing model for the future.