Difference Between Verification and Validation in Testing

Verification and validation are two important processes, that are carried out in software testing. Although, they are used interchangeably, there is a difference between verification and validation in testing.
Software testing is the process, that is carried out to give information to the end users and the other stakeholders about the quality of the software that has been developed. It also gives an objective and independent purview of the software. In others words, the aim of software testing is not only to find bugs in the software, but also defects that exist in the software, in terms of not meeting the expectations of the end users. There are two main processes, which are a part of the entire software testing process, namely verification and validation. It is not uncommon to see that the two terms are used interchangeably by a lot of people. There is a difference between verification and validation in testing, which one should not overlook. The purpose of each of them is different and they are carried out on the software at different points of time.

Difference Between Verification and Validation in Software Testing

Before we start reading about the difference between verification and validation in testing, let me tell you both validation and verification is a part of software quality control process. IEEE defines verification as, "The process of evaluating software to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase". On the other hand, validation has been defined by IEEE as "The process of evaluating software during or at the end of the development process to determine whether it satisfies specified requirements".

Verification
From the definition given by IEEE, we can derive that verification is the process, which ensure that the product is made built in accordance with the requirements and design specifications given by the end user. The answer to the question, " Am I building the product right" is what one can derive from the verification process. The verification process happens at the start of the testing life cycle. It is in this process that check is performed on the main artifacts. Along with the question, "Am I building the product right", there is one more pertinent question, which is answered by this process. The question is "Am I accessing the data right". This may seem to be a little confusing. To put it in simple words, it is verification, which ensure that the data gathered is used in the right place in the right manner. It is a part of static testing, where processes like walk-through, reviews, inspections, etc. are used. This process can be made a part of the each stage of software testing life cycle. It is used for demonstrating consistency, correctness, completeness of the software at every stage as well as in between the different stages of the lifecycle. It is in the verification phase that the documents pertaining to the software, plans, code, specifications, etc. are checked. Although verification is a low level activity, it should not be neglected, as it goes a long way in ensuring the quality of the product. Learning verification is not a difficult task and can be learned with little help.

Validation
If one has to go into the depth of the definition of validation as given by IEEE, it can be said that validation is the process, which checks the product design to ensure that the product is perfect for its intended use. Like verification answers the question, " Am I building the product right", validation answers the question, "am I building the right product". The validation process follows the verification process and is performed in the later part of the software testing cycle. It often starts after the product has been built according to the criteria mentioned at the start of the process. There another aim of the validation process. It aims to find answer to the question, "Am I accessing the right data". To simplify it further, the data which is required for building the product and satisfying the requirement of the end user. It is a part of the dynamic testing form, as it is in this process that the actual testing the software takes place. In other words, it can be said that validation process is used for determining the correctness of the product in conjunction with the user requirements. It is a high level activity, where the team doing the validation process considers itself in the shoes of the end user and validates whether the software does indeed meet the requirements of the user.

The software verification & validation model cannot be complete without one another. It is the difference in aims, which clearly bring out the difference between verification and validation in testing. At the same time, none of them can be substituted for the other. Studying the real life examples of verification and validation in software testing may often prove to be useful.
By
Published: 4/12/2011
Like This Article?
Follow:
Post Comment
Your Comments:
Your Name: