Visual Regression Testing
Visual regression testing compares screenshots of an application before and after a change, flagging unexpected visual differences — a shifted layout, a broken style, an overlapping element — that functional tests checking only behavior would completely miss.
A functional test can confirm a button exists and is clickable while missing that it's rendered off-screen, the wrong color, or overlapping other content — visual regression testing catches exactly this category of bug by comparing actual rendered pixels against an approved baseline image, pixel by pixel or region by region.
The main operational challenge is noise: minor, harmless rendering differences (anti-aliasing, font rendering variance across environments) can trigger false positives constantly if the comparison is too strict, which is why most visual regression tools support configurable tolerance thresholds and the ability to mask known-dynamic regions of a page.