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

  • It 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, walkthroughs, 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 correct size or not. If one leg of table is not of the right size it will imbalance the end product.Similar behavior is also noticed in 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 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(CMMI-SW v1.1) 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 :
  1. Verification helps in lowering down the count of the defect in the later stages of development.
  2. Verifying the product at the starting phase of the development will help in understanding the product in a better way.
  3. It reduces the chances of failures in the software application or product.
  4. It helps in building the product as per the customer specifications and needs.

Difference between software Verification and Validation:

             Verification             Validation
Are we building the system right?Are we building the right system?
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 activity is 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 on difference of Verification and Validation in software testing:
  1. Both Verification and Validation are essential and balancing to each other.
  2. Different error filters are provided by each of them.
  3. 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.