When you start studying the testing processes, you will definitely face such concepts as verification and validation.
It is very hard to find clear definitions to these concepts and criteria for their difference on the Internet (and this is despite the fact that questions about these terms are a really common thing on QA job interviews).
Further, in the article, we will analyze these concepts and the difference between them.
Verification of software is more general concept than testing. Any verification tries to prove that tested software completely meets the requirements and is fully implemented. Also this product must satisfy all the project specification’s criteria and predetermined quality standards.
Any verification process includes inspections, program code checking, test data analysis, creating the report documentation and analysis where all the problems of a certain project will be written in detail.
So, in the sphere of software testing, there is a common statement that the testing process is an inherent part of the verification.
Verification is a totally internal process of a software quality management which provide consent with set rules, standards or developed specification.
An example of the typical verification: testing of the system component. We execute testing according to some requirements, and record whether developers had met these demands or not. At the end of verification, we get an answer to the question: Does the product meet validated requirements?
Validation is a specific process which proves that the project team reach the preset results in the process of system functioning. In other words, validation is a conformance checking of the created system to the client’s expectation.
We can take a look at these processes as at the questions that they can answer. In case of verification there will be such questions as: What was done? Does the system meet the client’s expectations? In case of validation: Was the needed task completed? Does the system meet the expectation that the client has told about in advance?
The Difference Between Verification and Validation
|It answers the questions: Is software being developed and tested correctly? Had the project team meet all the requirements?||It answers the question: Did the specialists develop the product correctly considering the client’s expectation?|
|During the verification, we make sure that all the app functionality is working properly and logically correctly.||During the validation, we make sure that the product fully corresponds the expected behavior and the client knows about such functionality.|
|Verification includes such components as correlation with validated requirements, technical documentation and correct program code execution at any stage of software development and testing.||Validation mostly consists of general software evaluation and can be based on a subjective opinion about the correct work of the app and its components.|
Usage of Verification and Validation in Practice
Let’s imagine that we have a site. In order to enter this site user must sign up or log in with his/her account information.
So, there’s a special form with the fields that need to be filled in.
At first, let’s perform the verification:
- We will check the existence of the fields. All of them should be valid and meet the specification requirements. Designers who make the mock-ups define fields’ quantity, displaying and peculiarities. You should enter the necessary data in the terms of reference. But if there aren’t any TOR, you should have access to the created mock-ups.
During the verification process, you have to understand that any field is valid initially and you can enter the data there according to the displayed designations and names.
After this, the validation takes place:
- During the validation, there’s a testing of entered data in the information field and its meeting the established specification.
And now we will analyze the example based on login /signup form in the popular social network Facebook.
Let’s imagine that we have a specification and a group of fields on the landing page totally corresponds to it. According to this fact, the verification was successful.
Our next task is to check the validation. In order to accelerate this process, we will enter the wrong information in the data-entry fields.
As we see in the screenshot, the entered information didn’t pass the validation and the system didn’t let us enter the site. That is just what we had to test.
From the All Described Above We Can Conclude That:
- During the validation, there’s a testing of the total efficiency of the selected functionality.
- During the verification, we check if the product has such a logic (parameters of interaction among components).