Test Validation and Test Verification

Matachi OnonujuMatachi Ononuju
3 min read

Can I tell you guys a funny story? When I first heard the terms test verification and test validation, I was completely lost. They sounded so similar that I couldn’t tell the difference! I had the same reaction as the lady below.

If that's you right now, don't worry; you're not alone. It's perfectly normal to struggle with these concepts, so there's no need to feel embarrassed.

That's why your favourite QA engineer is here to help you!

A QA Engineers responsibilities can be broadly divided into two categories: test verification and test validation.

Test Verification:

Test verification is the category of software testing that focuses on ensuring that an application is built according to the specified requirements outlined by the product team. These requirements are usually documented in a Product Requirements Document (PRD) or a Software Requirements Specification (SRS).

A Product Requirements Document (PRD) and a Software Requirements Specification (SRS) describe what is needed in a product. The PRD focuses on the product’s features from a business and user perspective, while the SRS provides detailed technical and functional requirements for developers.

Test Validation:

Test validation, on the other hand, ensures that the built application meets the user's needs. Test validation prioritises the user's experience while using the application. We answer the question: Is the application useful?

Think of validation as checking the product's effect in the real-world, which is similar to how the marketing team assesses if a product appeals to its target audience.

Key Questions Asked:

Test verification asks: "Are we building the product right?"
Test validation asks: "Are we building the right product?"
It's possible for applications to pass the test verification process but still fail to be useful to users.

Example of Test verification and Test Validation

Here's an example; just take a look at the image below.

✅ Verification (📋 Did we build the shoe according to the design specifications?)

1. Are both shoes the same colour?
2. Are both shoes the same size?
3. Are they made from the correct materials?

✅ Validation (👟 Does the shoe serve it’s intended purpose?)

  1. Is the shoe comfortable when users use it for long walks?

  2. Can the user wear this shoe while standing for 5 hours without feeling any discomfort?

  3. Does the shoe provide the user with enough support for running?

In verification, we check that the code is working properly, and we also check that the UI (User Interface) is working correctly. Validation can be linked to the user acceptance testing. Applications that are verified but not validated can not be sold.

Types of Testing in Test Verification and Test Validation

Common Test Types found in both Verification and Validation
As shown in the diagram above, the following test types are frequently used in both verification and validation:

1. Regression testing: This type of testing ensures that new changes in the application do not cause problems in the application.
2. System testing: This evaluates the complete and integrated system to verify it meets specified requirements.
3. Beta Test: This is the type of testing that Involves releasing the product to a select group of external users for real-world testing and feedback.

Types of Testing in Test Verification:

These include:

  1. Unit tests: Verifies individual components of the software application to ensure they work correctly in isolation.

  2. Integration tests: Checks how different software components interact when combined with each other.

  3. Test automation: This involves the use of automated tools to execute test cases, to improve efficiency and consistency of the software.

Types of Testing in Test Validation:

These include:

  1. User acceptance testing (UAT): This test allows users to test the software in a real-world environment to ensure it meets their needs and expectations.

  2. Usability testing: This checks how easy the software is to use for the target users

Summary:
Verification ensures the product was built according to the specified requirements.
Validation checks if the product functions effectively for users in real-world scenarios.

I hope this helps

11
Subscribe to my newsletter

Read articles from Matachi Ononuju directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Matachi Ononuju
Matachi Ononuju

I am a Software Quality Assurance Engineer. I run manual and automated tests. I am enthusiastic about developing new products and ensuring product quality. I have a fundamental understanding of HTML, CSS, JavaScript, Postman, Newman, Jmeter, and Figma.