Difference between Verification and Validation
In few days back we have seen article about “V-Model”. In the V Model Software Development Life Cycle, based on requirement specification document the development & testing activity is started. The V-model is also called as Verification and Validationmodel. The testing activity is perform in the each phase of Software Testing Life Cycle. In the first half of the model validations testing activity is integrated in each phase like review user requirements, System Design document & in the next half the Verification testing activity is come in picture.
In interviews most of the interviewers are asking questions on “What is Difference between Verification and Validation?” Lots of people use verification and validation interchangeably but both have different meanings. So in this article I am adding few differences about Verification & Validation.
Difference between software Verification and Validation:
Verification | Validation |
Are we building the system right? | Are we building the right system? |
Verification is the process of evaluating products of a development phase to find out whether they meet the specified requirements. | Validation is the process of evaluating software at the end of the development process to determine whether software meets the customer expectations and requirements. |
The objective of Verification is to make sure that the product being develop is as per the requirements and design specifications. | The objective of Validation is to make sure that the product actually meet up the user’s requirements, and check whether the specifications were correct in the first place. |
Following activities are involved in Verification: Reviews, Meetings and Inspections. | Following activities are involved in Validation: Testing like black box testing, white box testing, gray box testing etc. |
Verification is carried out by QA team to check whether implementation software is as per specification document or not. | Validation is carried out by testing team. |
Execution of code is not comes under Verification. | Execution of code is not comes under Validation. |
Verification process explains whether the outputs are according to inputs or not. | Validation process describes whether the software is accepted by the user or not. |
Verification is carried out before the Validation. | Validation activity is carried out just after the Verification. |
Following items are evaluated during Verification: Plans, Requirement Specifications, Design Specifications, Code, Test Cases etc, | Following item is evaluated during Validation: Actual product or Software under test. |
Cost of errors caught in Verification is less than errors found in Validation. | Cost of errors caught in Validation is more than errors found in Verification. |
It is basically manually checking the of documents and files like requirement specifications etc. | It is basically checking of developed program based on the requirement specifications documents & files. |
Conclusion on difference of Verification and Validation in software testing:
- Both Verification and Validation are essential and balancing to each other.
- Different error filters are provided by each of them.
- Both are used to finds a defect in different way, Verification is used to identify the errors in requirement specifications & validation is used to find the defects in the implemented Software application.