Skip to content

Early Adopter Offer:Get 40% off Core & Scale for your first year with code EARLYQFView pricing

QA Foundations

Visual regression testing

Also known as: visual testing, screenshot testing

Visual regression testing compares a rendered screenshot against a stored baseline image to catch unintended UI changes that assertion-based tests would miss.

Its characteristic failure mode is the false positive, because a screenshot is a property not of your application but of your application rendered by a particular browser build, on a particular OS, with particular fonts, on particular hardware. Playwright documents host OS, version, settings, hardware, power source and headless mode among the variables that can change output.

Tools disagree sharply on how much drift to tolerate. Playwright defaults to a per-pixel colour tolerance of 0.2 while leaving the aggregate pixel allowance unset — meaning zero pixels may actually change. jest-image-snapshot defaults to a far stricter 0.01, Chromatic to 0.063 with antialiasing ignored. Migrating between tools changes the failure rate without any UI changing.

  • A screenshot depends on OS, GPU, fonts and browser build, none of which the test controls.
  • Playwright tolerates colour drift per pixel but zero drifting pixels overall by default.
  • The durable fixes are freezing the rendering environment or moving rendering server-side.

See it in your own test results

Qualflare detects flaky tests, clusters failures by root cause, and scores release risk from the test results you already produce in CI. Start free.

Start free with Qualflare

← Back to the testing & observability glossary.

Last reviewed September 9, 2026