// visual regression testing //
Visual regression testing,
without writing tests.
Visual regression testing compares screenshots of your pages against an approved baseline and flags what changed. MyKavo runs it automatically on any live website: no test code, no CI pipeline, just severity-ranked alerts with before-and-after evidence.
Why visual bugs slip through everything else
Uptime monitors say the server responded. Unit tests say the functions return the right values. Neither notices when a CSS refactor pushes your pricing table off-screen on mobile, a font fails to load, or a cookie banner covers the signup button. Visual bugs are the failures your customers see first and your tooling sees last.
Visual regression testing closes that gap by treating the rendered page itself as the thing under test.
How MyKavo runs visual regression testing
- Baseline. MyKavo captures a full-page screenshot of every monitored page in a fixed browser environment (viewport, device scale, locale, timezone) and you approve it as the known-good state.
- Stabilize. Before every capture it disables animations and transitions, waits for fonts and network quiet, and applies your ignore rules - so comparisons are deterministic, not flaky.
- Compare. Each scheduled scan diffs the new screenshot against the baseline pixel by pixel, computes a difference percentage, and generates a visual diff image highlighting exactly which regions changed.
- Score and alert. Differences map to severity levels with configurable thresholds. Small drift stays quiet; a 30% visual change on your checkout page is flagged critical and alerts you immediately.
- Approve or fix. Intentional redesign? Approve it and it becomes the new baseline. Unintentional break? You have the before, the after, and the diff to hand your developer.
Monitoring-based vs code-based visual testing
| Monitoring-based (MyKavo) | Code-based (CI snapshot tools) | |
|---|---|---|
| Setup | Paste a URL, approve the baseline | Test code + CI pipeline integration |
| Covers | Any live site, including ones you do not deploy | Only apps whose pipeline you control |
| Catches | Deploys, plugin updates, CMS edits, third-party script changes | Changes that go through the pipeline |
| Runs | On a schedule, continuously | On each build |
| Best for | Agencies, client sites, marketing sites, WordPress/Shopify/Webflow | Product teams with mature CI |
The two approaches complement each other. If you already snapshot-test your app in CI, scheduled monitoring still catches everything that happens outside a deploy: a CMS edit, an expired script, a plugin auto-update at 3 AM.
What visual monitoring pairs with
A layout can survive while the page still breaks. That is why MyKavo checks visual state alongside SEO tags, content, links, scripts, performance, and uptime in the same scan - one alert tells the whole story of what changed.
Frequently asked questions
What is visual regression testing?
Visual regression testing compares a screenshot of a page against an approved baseline screenshot and flags pixel differences. It catches unintended visual changes - broken layouts, missing sections, overlapping elements, font swaps - that functional tests and uptime checks miss entirely.
How is visual regression testing different from functional testing?
Functional tests assert behavior: a button clicks, a form submits. Visual regression testing asserts appearance: the page still looks the way you approved. A page can pass every functional test while its hero section renders behind the navigation - only a visual comparison catches that.
Do I need to write code to run visual regression tests?
Not with monitoring-based tools. Code-based tools like Percy, Chromatic, or Playwright snapshots run inside your CI pipeline and need test code and CI access. Monitoring-based visual testing like MyKavo points at any live URL, captures baselines automatically, and re-checks on a schedule with no code and no CI integration.
How do you avoid false positives from dynamic content?
Good visual testing normalizes the page before comparing: fixed viewport and browser version, animations disabled, fonts awaited, and volatile regions (carousels, dates, ads) masked or ignored. MyKavo applies all of these plus configurable difference thresholds, so a rotating testimonial does not page you at 2 AM.
How often should visual regression tests run?
On every deploy at minimum. For agency and client sites where you do not control every deploy or plugin update, a daily scheduled visual check catches changes you did not make - which are often the ones that hurt most.