Verification and Validation in Software testing

 Verification and Validation in Software testing

Before getting into the various strategies of testing we must understand the process of verifying and validating the software code. Verification and validation is the generic name given to checking processes which ensure that the software conforms to its specification and meets the needs of the customer.

The system should be verified and validated at each stage of the software development process using documents produced in earlier stages. Verification and validation thus starts with requirements gathering phase and continues through design and code(development) reviews to product testing.

Verification will help to determine whether the software is of high quality, but it will not ensure that the system is useful.For example, You are testing an application. The system requirements say there is a field with max Length of 64 characters and Save button. The Use case says that the User will fill the name and save.When checking the presence of the field and the Save button, it is verification. When you follow the use case to use 64 characters, it is validation.

Suppose we have the specifications related to the project than by checking that specifications without executing to see whether the specifications are up to the mark or not is what we have done in verification.Similarly, Validation of the software is done to make sure that the software always meets the requirements of the customer by executing the specifications of the project and product.

Validation: The process of evaluating software during or at the end of the development process to determine whether it satisfies specified requirements.

validation:this is dynamic testing where we have to check the whole software whether its is meeting all required need of customer.

What is Verification?
Verification is a process of evaluating the intermediary work products of a software development life-cycle to check if we are in the right track of creating the final product.

We sometimes tend to neglect the importance of reviewing the documents but we should understand that reviewing itself can find out many hidden anomalies when if found or fixed in the later phase of development cycle, can be very costly.
In other words we can also state that verification is a process to evaluate the mediator products of software to check whether the products satisfy the conditions imposed during the beginning of the phase.

What is Validation?
Validation is the process of evaluating the final product to check whether the software meets the business needs. In simple words the test execution which we do in our day to day life are actually the validation activity which includes smoke testing, functional testing, regression testing, systems testing etc…




Evaluates the intermediary products to check whether it meets the specific requirements of the particular phase

Evaluates the final product to check whether it meets the business needs.

Checks whether the product is built as per the specified requirement and design specification.

It determines whether the software is fit for use and satisfy the business need.

Checks “Are we building the product right”?

Checks “Are we building the right product”?

This is done without executing the software

Is done with executing the software

Involves all the static testing techniques

Includes all the dynamic testing techniques.

Examples includes:

  • Reviews
  • Walk through
  • Inspections

Example includes all types of testing like smoke, regression, functional, systems and UAT

Verification is the process of evaluating products of a development phase to find out whether they meet the specified requirements. Validation is the process of evaluating software at the end of the development process to determine whether software meets the customer expectations and requirements.
The objective of Verification is to make sure that the product being develop is as per the requirements and design specifications. The objective of Validation is to make sure that the product actually meet up the user’s requirements, and check whether the specifications were correct in the first place.
Following activities are involved inVerification: Reviews, Meetings and Inspections. Following activities are involved in Validation: Testing like black box testing, white box testing, gray box testing etc.
Verification is carried out by QA team to check whether implementation software is as per specification document or not. Validation is carried out by testing team.
Execution of code is not comes underVerification. Execution of code is comes under Validation.
Verification process explains whether the outputs are according to inputs or not. Validation process describes whether the software is accepted by the user or not.
Verification is carried out before the Validation. Validation activitis carried out just after the Verification.
Following items are evaluated duringVerification: Plans, Requirement Specifications, Design Specifications, Code, Test Cases etc, Following item is evaluated during Validation: Actual product or Software under test.
Cost of errors caught in Verification is less than errors found in Validation. Cost of errors caught in Validation is more than errors found in Verification.
It is basically manually checking the of documents and files like requirement specifications etc. It is basically checking of developed program based on the requirement specifications documents & files.

Conclusion Verification and Validation:

  • Facilitates early detection and correction of errors.
  • Encourages and enhances the management intervention and inside into process and product risks.
  • Provide supportive measures towards the software life-cycle process, to enhance compliance with schedule and budget requirements.
  •  Verification means the review activities or the static testing techniques and validation means the actual test execution activities or the dynamic testing techniques.
  • Both are used to finds a defect in different way, Verification is used to identify the errors in requirement specifications & validation is used to find the defects in the implemented Software application.