Functional tests verify behaviour. Visual QA verifies appearance. Both are necessary.

Lorem ipsum dolor sit amet, consectetur adipiscing elit tincidunt iaculis eget interdum pretium ullamcorper est dui, donec feugiat at etiam aliquam ornare parturient ut convallis gravida malesuada netus commodo hendrerit lorem sed imperdiet praesent consectetur fermentum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit quis ultricies sed non sodales morbi ornare non ullamcorper nulla aliquet viverra non est nulla bibendum nunc ac egestas habitant.

Lorem ipsum dolor sit amet, consectetur adipiscing elit asit ornare odio mauris egestas tincidunt cras tincidunt adipiscing vivamus iaculis ullamcorper turpis eros, congue pellentesque pharetra, eu tempor facilisis magna sed consectetur feugiat tempus quis vestibulum praesent.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Id odio duis est, et aliquet lectus nunc eu est ut enim tristique nunc quis pellentesque sit leo volutpat in quam cursus sit euismod feugiat.
“Nisi quis eleifend quam adipiscing vitae aliquet bibendum enim facilisis gravida neque velit in pellentesque”
Eget lorem dolor sed viverra ipsum nunc aliquet bibendum felis donec et odio pellentesque diam volutpat commodo sed egestas aliquam sem fringilla ut morbi tincidunt augue interdum velit euismod eu tincidunt tortor aliquam nulla facilisi aenean sed adipiscing diam donec adipiscing.
Visual QA is the process of verifying that a web page’s rendered output matches its original design. For QA engineers, it is a distinct discipline from functional testing: where functional tests verify that things work, visual QA verifies that things look right. Both are necessary, and neither substitutes for the other.
Functional testing checks behaviour. A button triggers the correct action. A form validates input and submits correctly. A page loads the expected content. These tests can be automated, written against defined acceptance criteria, and run repeatedly with consistent results.
Visual QA checks appearance. A button has the correct height, padding, font weight, and colour. A form has the right spacing between fields. A page reflects the typographic and layout decisions made in the design. These checks are harder to define in advance because they require comparing a rendered output against a visual reference, not against a set of input-output pairs.
The gap between the two is where visual drift lives. An implementation can pass every functional test and still not reflect the design. Typography can be off by a weight, spacing can be inconsistent, colours can be close but not exact. None of these cause functional failures. All of them affect how the product looks and how polished it feels.
Visual QA typically fits at two points in a QA process.
The first is during feature validation, when a new implementation is being reviewed before release. This is where visual QA verifies that what was built reflects what was designed, checking the rendered output against the design reference and documenting any differences before sign-off.
The second is during regression testing, when existing pages are re-checked after changes to the codebase or design system. Visual regressions are a common side effect of changes that were not intended to affect appearance: a CSS change that affects layout globally, a design token update that propagates inconsistently, a component refactor that changes how something renders in context.
Both use cases share the same core requirement: a reliable way to compare the rendered output against a known design reference, consistently, across the pages being verified.
Manual visual QA requires a reviewer to work through a page element by element, comparing rendered values against design specifications. On a complex page, that is a time-consuming process, and one that is prone to inconsistency. Different reviewers notice different things. The same reviewer notices different things at different times. Small deviations in spacing, font weight, or colour are genuinely hard to perceive without measuring.
The result is that manual visual QA is less thorough and less consistent than most QA processes would accept for functional testing. A functional test either passes or fails by the same criteria every time. A manual visual review passes or fails based on who is reviewing and how carefully.
A repeatable visual QA process uses the same comparison method, applied to the same reference, every time a check is run. The result should not depend on who runs it or when.
This requires a comparison method that measures rather than perceives: checking actual rendered values against specified design values across typography, spacing, colour, and component dimensions. The output is a list of specific differences with their values, not a set of impressions about whether things look right.
With a documented list of differences in hand, a QA engineer can make consistent decisions about which deviations are within acceptable tolerance and which require a fix, based on criteria that apply the same way across every review.

