What is validation in software testing?
Purpose
Validation is determining if the system complies with the requirements and performs functions for which it is intended and meets the organization’s goals and user needs.
- Validation is done at the end of the development process and takes place after verification is completed.
- It answers the question like: Am I building the right product?
- Am I accessing the right data (in terms of the data required to satisfy the requirement).
- It is a High level activity.
- Performed after a work product is produced against established criteria ensuring that the product integrates correctly into the environment.
- Determination of correctness of the final software product by a development project with respect to the user needs and requirements.
Software verification and validation
According to the Capability Maturity Model (CMM) we can also define validation as The process of evaluating software during or at the end of the development process to determine whether it satisfies specified requirements. [IEEE-STD-610].
A product can pass while verification, as it is done on the paper and no running or functional application is required. But, when same points which were verified on the paper is actually developed then the running application or product can fail while validation. This may happen because when a product or application is built as per the specification but these specifications are not up to the mark hence they fail to address the user requirements.
Advantages of Validation:
During verification if some defects are missed then during validation process it can be caught as failures.
If during verification some specification is misunderstood and development had happened, then during validation process while executing that functionality the difference between the actual result and expected result can be understood.
Validation is done during testing like feature testing, integration testing, system testing, load testing, compatibility testing, stress testing, etc.
Validation helps in building the right product as per the customer’s requirement and helps in satisfying their needs.
Validation is basically done by the testers during the testing. While validating the product if some deviation is found in the actual result from the expected result then a bug is reported or an incident is raised. Not all incidents are bugs. But all bugs are incidents. Incidents can also be of type ‘Question’ where the functionality is not clear to the tester.
Hence, validation helps in unfolding the exact functionality of the features and helps the testers to understand the product in much better way. It helps in making the product more user friendly.