Difference between Validation and Verification in software Testing
Validation and verification are most frequently used terms in the software testing but the meaning of these terms are very confusing.
Verification and validation are independent procedures that are used together for verifying that a product, service, or system meets requirements and specifications.
Verification is testing that your product meets the specifications / requirements you have written. “Did I build a right product what I said I would?”
The process of evaluating work-products (not the actual final product) of a development phase to determine whether they meet the specified requirements for the phase.
Verification is static testing where we don’t execute the source and test the application.
Below are the activities in verification
As per IEEE-STD-610 standards verification is
The process of evaluation software to determine whether the products of a given development phase satisfy the conditions imposed at the beginning of that phase.
For example – verify the documents like CRS, SRS, designs etc. We use different process like inspections, reviews etc. to do the verification and It is done before the validation begins.
Validation is the process of evaluating software during or at the end of the development process to determine whether it satisfies the business/customer requirements
Validation tests how well you addressed the business needs that caused you to write those requirements. “Did I build a right Product what I need?”
Validation is the Dynamic testing where we execute the source code and do the application testing by using different testing techniques like White Box Testing Techniques, Black Box Testing Techniques to the validation.
As per IEEE-STD-610 standards validation is :
The process of evaluating software during or at the end of the development process to determine whether it satisfies specified requirements [IEEE-STD-610]
Validation is done after verification is completed.
Below are the activities involved in validation
- Black box testing
- White box testing
- Unit testing
- Integration testing
The difference between both is as follow:
Verification Vs Validation:-
|Verification is a static practice of checking documents, design, code and program.||Validation is a dynamic mechanism of testing the actual product.|
|It does not involve executing the code.||It always involves executing the code.|
|Static Testing Technique||Dynamic Testing Technique|
|Verification uses methods like inspections, reviews, walkthroughs etc.||Validation uses methods like black box (functional) testing, white box (structural) testing etc.|
|Verification is to check whether the software conforms to specifications.||Validation is to check whether software meets the customer expectations and requirements.|
|It can catch errors that validation cannot catch. It is low level exercise.||It can catch errors that verification cannot catch. It is High Level Exercise.|
|Generally carries out before Validation||It generally follows verification|
|Verification is done by QA team to ensure that the software is as per the specifications .||Validation is carried out with the involvement of testing team.|
|Verification is Low level Exercise||Validation is high level Exercise.|
|Checks whether the software conforms to specifications or not.||checks whether the software meets the requirements and expectations or not.|