Verification vs. Validation

In QA work these terms are often used interchangeably. This is a bad practice as these terms refer to different processes. A better approach is to define each term as the team should understand and use it. This document provides that definition and describes some real-world examples. This is also an example of the type of documentation I produce for a team.

– krypton –

validation: proving that the product meets the expectations of the users and the executable system performs as expected

verification: proving that a product meets the requirements specified throughout the development life cycle

Validation examples include:
– Manual user interface testing
– Automated test scripts
– Database queries to check data content

Verification examples include:
– Code reviews
– Documentation reviews
– Architecture walk-through

When writing test cases, using the above definitions, validation statements should be written to assert the true or false state of the test case. Verification is handled in the Agile process by communication and team activities (i.e. effective sprint planning, sprint end reviews, etc. ) and therefore should be considered separate from validation (mostly testing) efforts.

Sources

Lewis, William E.  Software Testing and Continuous Quality Improvement.  Auerbach, 2000, pp. 5-6

Sharma, Laksay.  ToolsQA, February 26, 2017, https://www.toolsqa.com/software-testing/difference-between-verification-and-validation/.  Accessed June 2019.