What is Verification and Validation in Software Testing?

Verification:

It is the process of determining whether the output of one phase of software development conforms to that of its previous phase. The primary techniques used for verification include review, simulation, formal verification, and testing. Review, simulation, and testing are usually considered informal verification techniques.

Verification does not require the execution of the software. Verification is carried out during the development process to check if the development activities are proceeding alright.

Verification techniques can be viewed as an attempt to achieve phase containment of errors. Phase containment of errors has been acknowledged to be a cost-effective way to eliminate program bugs and it is an important software engineering principle. The principle of detecting errors as close to their points of commitment as possible is known as phase containment of errors. Phase containment of errors can reduce the effort required for correcting bugs.

Validation:

It is the process of determining whether a fully developed software conforms to its requirements specification. validation is applied to the fully developed and integrated software to check if it satisfies the customer’s requirements.

validation techniques are primarily based on product testing. validation requires the execution of the software. validation is carried out to check if the right as required by the customer has been developed.