I don’t remember how many times I have read the difference between Verification and Validation on Blogs. However , it is still very confusing.
Today, this post will show you the main differences with real examples to make it easier to understand.
First, people usually mention this to explain the difference:
Verification answers the question, “Did we build the right system?” while validations addresses, “Did we build the system right?”
It is quite useful but did you really understand what it means? Let’s look at some examples to understand this quote.
Real life example: Imagine yourself going to a restaurant/diner and ordering may be blueberry pancakes. When the waiter/waitress brings your order out, how can you tell that the food that came out is as per your order?
The first things we do are look at it and notice the following things:
- Does the food look like what pancakes typically appear to be?
- Are the blueberries to be seen?
- Do they smell right?
Maybe more, but you get the gist right?
On the other hand, when you need to be absolutely sure about whether the food is as you expected: You will have to eat it.
Verification is all when you are yet to eat but are checking on few things by reviewing the subjects. Validation is when you actually eat the product to see if it is right.
One more example :
- In Software Engineering, consider the following specification
A clickable button with name Submet
=> Verification would check the design doc and correcting the spelling mistake. Otherwise, the development team will create a button like

So new specification after Verification is:
A clickable button with name Submit
Once the code is ready, Validation is done. A Validation test found that the button is not clickable:

- Owing to Validation testing, the development team will make the submit button clickable
I think through these two examples above, now you can truly understand what is the difference between Validation and Verification.
Where Verification is Performed?
Specific to IT projects, the following are some of the areas (I must emphasize that this is not all) in which verification is performed:
| Verification Situation | Actors | Definition | Output |
|---|---|---|---|
| Business/Functional Requirement Review | Dev team/client for business requirements | This is a necessary step to not only make sure that the requirements have been gathered and/or correctly, but also to make sure If they are feasible or not. | Finalized requirements that are ready to be consumed by the next step – design. |
| Design Review | Dev team | Following the design creation, the Dev team reviews it thoroughly to make sure that the functional requirements can be met via the design proposed. | Design is ready to be implemented into an IT system. |
| Code Walkthrough | Individual Developer | The code once written is reviewed to identify any syntactic errors. This is more casual in nature and is performed by the individual developer on the code developed by one self. | Code ready for unit testing |
| Code Inspection | Dev team | This is a more formal set up. Subject matter experts and developers check the code to make sure it is in accordance with the business and functional goals targeted by the software. | Code ready for testing |
| Test Plan Review(internal to QA team) | QA team | Test plan is internally reviewed by the QA team to make sure that it is accurate and complete | A test plan document ready to be shared to the external teams (Project Management, Business Analysis, development, Environment, client, etc.) |
| Test Plan Review(External) | Project Manager, Business Analyst and Developer | A formal analysis of the test plan document to make sure that the timeline and other considerations of the QA team are in line with the other teams and the entire project itself. | A signed off or approved test plan document based on which the testing activity is going to be based on. |
| Test documentation review(Peer review) | QA team members | A peer review is where team members review one another’s work to make sure there are no mistakes in the documentation itself. | Test documentation ready to be shared with the external teams. |
| Test documentation final review | Business Analyst and development team | A test documentation review to make sure that the test cases cover all the business conditions and functional elements of the system | Test documentation ready to be executed |
On the other hand, Validation is all forms of testing that involves working with the product and putting it to test. Therefore, the following are all validation techniques:
- Unit Testing
- Integration testing
- System Testing
- User Acceptance Testing
Conclusion:
Finally, the following are few things to note:
- Verification may or may not involve the product itself. Validation definitely needs the product. Verification can sometimes be performed on documents that represent the final system.
- Verification and validation do not necessarily have to be performed by testers. As you can see from the above list and table – some of these are performed by developers and other teams.
Sources:
https://www.softwaretestinghelp.com/difference-between-verification-vs-validation/
https://www.guru99.com/verification-v-s-validation-in-a-software-testing.html