All posts

How to Do Visual QA Before Every Release (Without Slowing Down)

Most teams skip visual QA. Not because they don't care about UI quality — but because there's no fast, repeatable way to do it.

The result: users find regressions you missed. A button shifts by 4px. A dark mode screen goes white. A form field overlaps its label on a small viewport. All shipped to production.

This guide covers a practical visual QA process that frontend developers and QA engineers can run in under 30 minutes before every release.


What Is Visual QA?

Visual QA (visual quality assurance) is the process of systematically reviewing the UI of your application to catch layout issues, visual regressions, spacing inconsistencies, and design drift before a release ships.

It's different from functional testing — which checks that buttons work and APIs return the right data. Visual QA checks that the interface itself looks correct.

Common issues visual QA catches:

  • Padding or margin changes introduced by a CSS refactor
  • Font weight or colour shifts from a design token update
  • Components that break on specific viewport widths
  • Dark mode screens that inherit wrong background colours
  • Misaligned elements after a third-party library update

Why Most Teams Skip It

Visual QA has historically been painful for three reasons:

1. No standard tooling for desktop apps and web UIs. Automated visual regression tools like Percy or Chromatic exist for web — but they require CI setup, baseline management, and monthly subscriptions. Many teams skip them.

2. Screenshots scatter. A developer takes a screenshot, pastes it into Slack, someone responds, the thread disappears. There's no structured record of what was reviewed and what was flagged.

3. No clear owner. Visual QA sits between design and engineering. Designers don't have access to staging. Developers don't want to context-switch into Figma to check spacing. Things fall through the gap.


A Practical Visual QA Process

Here's a repeatable process that works without CI pipelines, complex tooling, or dedicated QA headcount.

Step 1: Define your visual QA scope per release

Before every release, identify which screens changed. Be specific:

  • Which routes were touched by this PR?
  • Did any shared components (buttons, forms, cards, navbars) change?
  • Were any design tokens (colours, spacing, typography) updated?

Don't review everything every time — that's how the process dies. Focus on the diff.

Step 2: Capture a screenshot of each affected screen

Take a screenshot of each affected screen or component in its current state. Use the same viewport width every time (1440px desktop + 375px mobile is a solid baseline).

Group your screenshots by feature or route so they're easy to reference during the review.

Step 3: Compare against the previous version or Figma

For each screen, compare:

  • Current vs. previous release — did anything shift?
  • Current vs. Figma — does the implementation match the design?

Side-by-side comparison is the most reliable method. Your eye catches differences quickly when two versions sit next to each other at the same size.

Tools like Captur let you load any two screenshots side-by-side, sync zoom to inspect specific sections at 2x or 4x, and overlay a grid to check alignment.

Step 4: Annotate issues with precise context

When you spot an issue, document it immediately. Don't rely on memory or vague Slack messages like "the header looks off."

Annotate directly on the screenshot:

  • Pin a comment at the exact pixel location
  • Describe what's wrong and what it should be
  • Note the viewport and environment

This gives engineers enough context to fix the issue without a follow-up meeting.

Step 5: Create a bug ticket from the annotated screenshot

Take the annotated screenshot and create a Jira or ClickUp task from it. Attach the screenshot, write a one-line title, and set a priority.

If you're running Captur, this is one click — the screenshot attaches automatically, the title is pre-filled, and the task lands in your backlog without switching tabs.

Step 6: Sign off or block the release

After reviewing all affected screens:

  • No issues found → Visual QA sign-off. Ship it.
  • Minor issues found → Log tickets, ship with known issues documented.
  • Critical regression found → Block the release. Fix first.

Document the outcome. Over time this creates an audit trail of every visual review per release — useful when a client asks "when did this change?"


What to Look For During Visual QA

A checklist for each screen you review:

Layout

  • [ ] No unintended spacing changes (padding, margin, gap)
  • [ ] Elements align to the grid
  • [ ] Nothing overflows its container

Typography

  • [ ] Font sizes match design spec
  • [ ] Font weights are correct
  • [ ] Line height and letter spacing are consistent

Colour

  • [ ] Brand colours are correct
  • [ ] Dark mode uses the right tokens
  • [ ] No hardcoded colours that ignore the theme

Responsive

  • [ ] Mobile (375px) — nothing overlaps or wraps unexpectedly
  • [ ] Tablet (768px) — layout adapts correctly
  • [ ] Desktop (1440px) — no excessive white space

Interactive states

  • [ ] Hover states visible
  • [ ] Focus rings present for accessibility
  • [ ] Disabled states look correct

How Often Should You Run Visual QA?

Every release. Even small ones.

The biggest visual regressions come from "trivial" changes — a CSS refactor, a dependency update, a shared component tweak. The only way to catch them is to look at every release, every time.

If you're releasing multiple times per day, add visual QA to your pre-merge review checklist rather than running it release-by-release.


The Right Tool Makes Visual QA Fast

A visual QA process only sticks if it's fast enough to fit into a normal release cycle. If it takes more than 30 minutes, it becomes a bottleneck and gets skipped.

The key requirements for a fast visual QA workflow:

  • Screenshot capture that doesn't require switching apps
  • Side-by-side comparison with sync zoom
  • Annotation directly on the screenshot
  • One-click bug creation in Jira or ClickUp

Captur is a desktop app for macOS and Windows built specifically for this workflow. It sits in your system tray, captures screenshots as you work, and gives you everything you need to compare, annotate, and ship bugs without leaving your machine.

Join the waitlist →