Difference Between Verification and Validation with Example

54

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:

VerificationValidation
The verifying process includes checking documents, design, code, and programIt is a dynamic mechanism of testing and validating the actual product
It does not involve executing the codeIt 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 checkedIt checks whether the software meets the requirements and expectations of a customer
It finds bugs early in the development cycleIt 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 validationIt 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.