Software verification and validation

             Verification              Validation
1. Verification is a static practice of verifying documents, design, code and program. 1. Validation is a dynamic mechanism of validating and testing the actual product.
2. It does not involve executing the code. 2. It always involves executing the code.
3. It is human based checking of documents and files. 3. It is computer based execution of program.
4. Verification uses methods like inspections, reviews, walkthroughs, and Desk-checking etc. 4. Validation uses methods like black box (functional)  testing, gray box testing, and white box (structural) testing etc.
5. Verification is to check whether the software conforms to specifications. 5. Validation is to check whether software meets the customer expectations and requirements.
6. It can catch errors that validation cannot catch. It is low level exercise. 6. It can catch errors that verification cannot catch. It is High Level Exercise.
7. Target is requirements specification, application and software architecture, high level, complete design, and database design etc. 7. Target is actual product-a unit, a module, a bent of integrated modules, and effective final product.
8. Verification is done by QA team to ensure that the software is as per the specifications in the SRS document. 8. Validation is carried out with the involvement of testing team.
9. It generally comes first-done before validation. 9. It generally follows afterverification.

 

Advantages of Software Verification :

  1. Verification helps in lowering down the count of the defect in the later stages of development.
  2. Verifying the product at the starting phase of the development will help in understanding the product in a better way.
  3. It reduces the chances of failures in the software application or product.
  4. It helps in building the product as per the customer specifications and needs.