Verification and Validation

The terms verification and validation are often used in the context of Software Testing practice. Here's a brief look at these terms.

Verification involves evaluating a system or component to determine whether the output of a given life cycle phase satisfies the conditions imposed at the start of the phase. The process of verification attempts to answer the question - are we building the system or component right ? Examples of verification activities include, reviews, inspections, static analysis, walk throughs, etc.

Validation involves evaluating a system or component to determine whether it meets specified requirements. The process of validation attempts to answer the question - are we building the right system or component ? Validation generally takes place after verification is performed.

In simple terms, it would be fair to equate the preventive Quality Assurance activities to Verification and the reactive Quality Control / Testing activities to Validation.

Verification testing when done thoroughly, helps eliminate defects earlier and facilitates validation activities such as unit, integration, system and acceptance testing to focus better on determining whether the system or component being built meets the real needs of the user.