What is Verification and Validation?

Difference Between Verification and Validation

In the context of testing, “Verification and Validation” are very widely and commonly used terms. Most of the times, we consider the terms same, but actually the terms are quite different.

There are two aspects of V&V tasks

  • Confirms to requirements (Producer view of quality)
  • Fit for use (consumers view of quality)

Producer’s view of quality, in simpler terms means the developers perception of the final product.
Consumers view of quality means users perception of final product.
When we carry out the V&V tasks, we have to concentrate both of these view of quality.

To begin, let’s try to understand the terms first and try to explore them with different standards.

What is Verification?

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

Now the question here is : What are the intermediary products? Well, These can include the documents which are produced during the development phases like, requirements specification, design documents, data base table design, ER diagrams, test cases, traceability matrix etc. We sometimes tend to neglect the importance of reviewing these 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…

Lets try to understand the differences between Verification and Validation:

VerificationValidation
Evaluates the intermediary products to check whether it meets the specific requirements of the particular phaseEvaluates 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 softwareIs done with executing the software
Involves all the static testing techniquesIncludes all the dynamic testing techniques.
Examples includes reviews, inspection and walkthroughExample includes all types of testing like smoke, regression, functional, systems and UAT

Verification &Validation in various standards:

ISO / IEC 12207:2008

Verification ActivitiesValidation Activities
• Requirement verification
Involves review of the requirements

• Design Verification
Involves reviews of all the design documents including the HLD and LDD

• Code verification
Code review

• Documentation Verification
Verification of user manuals and other related documents.
• Prepare the test requirements documents, test cases, and other test specifications to analyze the test results.

• Evaluate that these test requirements, test cases and other specifications reflects the requirements and is fit for use.

• Test for boundry values, stress and the functionalities

• Test for error messages and in case of any error, the application is terminated gracefully.

• Test that the software meets the business requirements and is fit for use.

CMMI

Verification and validation are two different KPAs at maturity level 3

Verification ActivitiesValidation Activities
• Performing peer reviews.

• Verify the selected work products.

• Standardize a definite process by establishing organizational level policies for planning and doing reviews.
• Validate that the products and its components are suitable for environment.

• When the validation process is being implemented , It is monitored and controlled.

• Do lessons learnt activities and collect the improvement information.

• Institutionalize a definite process.

IEEE 1012:

The objectives of Verification and Validation activities are as follows:


  • 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 lifecycle process, to enhance compliance with schedule and budget requirements.

V&V tasks during different phases of development lifecycle:

A development phase has different phase. Verification and validation are performed in each of the phases of the lifecycle. Let’s try to have a look at them.

#1. V & V tasks – Planning:
–  Verification of contract
–  Evaluation of Concept document
–  Performing risk analysis

#2. V & V tasks- Requirement phase
–  Evaluation of software requirements
–  Evaluation / analysis of the interfaces
–  Generation of systems test plan
–  Generation of Acceptance test plan

#3. V&V tasks – Design Phase
–  Evaluation of software design
–  Evaluation / Analysis of the Interfaces (UI)
–  Generation of Integration test plan
–  Generation of Component test plan
–  Generation of test design

#4. V&V Tasks – Implementation Phase
–  Evaluation of source code
–  Evaluation of documents
–  Generation of test cases
–  Generation of test procedure
–  Execution of Components test cases

#5. V&V Tasks – Test Phase
–  Execution of systems test case
–  Execution of acceptance test case
–  Updating of traceability metrics
–  Risk analysis

#6. V&V Tasks – Installation and checkout phase
–  Audit of installation and configuration
–  Final test of the installation candidate build.
–  Generation of final test report

#7. V&V Tasks – Operation Phase
–  Evaluation of new constraint
–  Assessment of the change proposed

#8. V&V Tasks – Maintenance Phase
–  Evaluation of the anomalies
–  Assessment of migration
–  Assessment of the retrial features
–  Assessment of proposed change.
–  Validating the production issues.

Conclusion Verification and Validation:

V&V processes determine whether products of a given activity confirm to requirements and are fit for its use. In a very simpler terms ( to avoid any kind of confusion), we just remember that Verification means the review activities or the static testing techniques and validation means the actual test execution activities or the dynamic testing techniques.