What Is The Difference Between Verification and Validation?

These two terms are closely related to software testing and quality assurance processes. Unfortunately, they are frequently confused though there is a big difference between them.

Verification is the process to assess the system and its elements in order to ensure that they deliver all functionality to the user. It is done early in the software development lifecycle and includes reviews, meetings, inspection and so on to evaluate documentation, code, plans, specifications and requirements.

Namely, this procedure allows the testers to know whether software development goals, tasks and deadlines are met.

Validation is the process to confirm that software being developed meets the needs and expectations of its user, and the system is in compliance with the requirements set for it.

The following table will help you to learn the key differences between the 2 definitions:

Is the product developed correctly?
Do we create the right software product?
Is all functionality available to the users?
Has functionality been implemented correctly?
Verification is performed at the beginning of the development process and involves checking the correctness of documentation, code, etc.
Validation is done after verification and, as a rule, includes assessment of the product in general
Is carried out by the developers
Is done by testers
Involves statistical analysis – code inspection, requirements comparison
Involves the runtime analysis – running the program to ensure it actually works as it is expected to.  
Based on objective conformity assessment of functions available
Subjective process that includes personal assessment of software quality

By validating you may make sure that you have built the right software product that will fully satisfy the customer’s needs. 

By verifying you may make sure that your software product has been created correctly: through the use of necessary techniques, tools and standards.  

No comments: