Verification & Validation

1. What is Verification in Software Testing?

Verification makes sure that the product is designed to deliver all functionality to the customer.

According to the Capability Maturity Model (CMM) we can also define 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. [IEEE-STD-610].

  • Verification is done at the starting of the development process. It includes reviews and meetings, walk-throughs, inspection, etc. to evaluate documents, plans, code, requirements and specifications.
  • It answers the questions like: Am I building the product right?
  • Am I accessing the data right (in the right place; in the right way).
  • It is a Low level activity
  • Performed during development on key artifacts, like walkthroughs, reviews and inspections, mentor feedback, training, checklists and standards.
  • Demonstration of consistency, completeness, and correctness of the software at each stage and between each stage of the development life cycle.

2. What is Validation in Software Testing?

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.

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].

  • Validation is done at the end of the development process and takes place after verifications are 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.