Table of Contents
What is Verification?
Definition : The process of evaluating software to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase.
Verification is a static practice of verifying documents, design, code and program. It includes all the activities associated with producing high quality software: inspection, design analysis and specification analysis. It is a relatively objective process.
Verification will help to determine whether the software is of high quality, but it will not ensure that the system is useful. Verification is concerned with whether the system is well-engineered and error-free.
Methods of Verification : Static Testing
- Walkthrough
- Inspection
- Review
What is Validation?
Definition: The process of evaluating software during or at the end of the development process to determine whether it satisfies specified requirements.
Validation is the process of evaluating the final product to check whether the software meets the customer expectations and requirements. It is a dynamic mechanism of validating and testing the actual product.
Methods of Validation : Dynamic Testing
- Testing
- End Users
Verification vs Validation: Key Difference
Here is the main difference between verification and validation testing:
Verification | Validation |
---|---|
The verifying process includes checking documents, design, code, and program | It is a dynamic mechanism of testing and validating the actual product |
It does not involve executing the code | It always involves executing the code |
Verification uses methods like reviews, walkthroughs, inspections, and desk- checking etc. | It uses methods like Black Box Testing, White Box Testing, and non-functional testing |
Whether the software conforms to specification is checked | It checks whether the software meets the requirements and expectations of a customer |
It finds bugs early in the development cycle | It can find bugs that the verification process can not catch |
Target is application and software architecture, specification, complete design, high level, and database design etc. | Target is an actual product |
QA team does verification and make sure that the software is as per the requirement in the SRS document. | With the involvement of testing team validation is executed on software code. |
It comes before validation | It comes after verification |
Example of verification and validation
Real-life Consider this scenario: You’re going to a restaurant and ordering blueberry pancakes. How do you determine whether the meal that comes out is what you ordered when the waiter/waitress brings it out?
The first thing we notice when we look at it is the following −
- Is the food what you’d expect pancakes to look like?
- Are there any blueberries around?
- Do they have the correct smell?
Maybe a little more, but you get the idea.
On the other hand, if you need to be certain that the dish is exactly what you anticipated, you’ll have to consume it.
When you haven’t eaten yet but want to double-check a few things by going over the topics, verification is the way to go. When you validate a product, you actually consume it to verify whether it’s correct.