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 :
- Verification helps in lowering down the count of the defect in the later stages of development.
- Verifying the product at the starting phase of the development will help in understanding the product in a better way.
- It reduces the chances of failures in the software application or product.
- It helps in building the product as per the customer specifications and needs.