What is Verification in software testing? or What is software verification?

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

  • 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.
  • Suppose you are building a table. Here the verification is about checking all the parts of the table, whether all the four legs are of the correct size or not. If one leg of the table is not of the right size it will imbalance the end product. Similar behavior is also noticed in the case of the software product or application. If any feature of software product or application is not up to the mark or if any defect is found then it will result into the failure of the end product. Hence, verification is very important. It takes place at the starting of the development process.
  • Software verification and validationSoftware verification and validation
  • 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.

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

Advantages of Software Verification :

Verification helps in lowering down the count of the defect in the later stages of development.
Verifying the product at the starting phase of the development will help in understanding the product in a better way.
It reduces the chances of failures in the software application or product.
It helps in building the product as per the customer specifications and needs.