Verification and Validation

How verification and validation differ in practice and why products usually need both.

Updated:

Contents

Verification and validation are often summarized as “build the product right” and “build the right product.” More precisely, verification checks compliance with specifications and rules, while validation checks whether the product meets real user and business needs.

The core distinction

  • →Verification asks whether the system correctly follows the specified requirements, contracts, and rules.
  • →Validation asks whether the system addresses the right user and business problem.

Where verification applies

  • →Reviews of requirements, schemas, API contracts, test documentation, and acceptance criteria.
  • →Checking implementation against agreed logic, designs, calculation rules, and constraints.
  • →Static analysis, code review, contract testing, and formal technical checks.

Where validation applies

  • →Checking journeys in their actual usage context.
  • →Assessing whether a feature achieves its business goal, beyond formal requirement compliance.
  • →Exploratory testing, usability checks, pilot releases, user feedback, and product metrics.

A typical example

A registration form may precisely follow requirements: fields validate, errors display correctly, and requests are sent as specified. Verification succeeds. If users do not understand one step, abandon the form, and fail to register, validation fails: the implementation follows the specification but serves the need poorly.

Common mistakes

  • →Assuming passed test cases automatically mean a product is useful and usable.
  • →Confusing requirement compliance with actual user value.
  • →Treating requirement assumptions as unquestionable facts.
  • →Focusing entirely on validation while neglecting verification discipline, or vice versa.

Verification guards against incorrect implementation; validation identifies correctly implemented solutions that fail to serve the product's purpose. Effective testing addresses both.