Verification vs Validation

Defect Priority
Defect Severity


The terms ‘Verification‘ and ‘Validation‘ are frequently used in the software testing world but the meaning of these terms are mostly vague and debatable. You will encounter (or have encountered) all kinds of usage and interpretations of those terms, and it is our humble attempt here to distinguish between them as clearly as possible.

Criteria Verification Validation
Definition The process of evaluating work-products (not the actual final product) of a development phase to determine whether they meet the specified requirements for that phase. The process of evaluating software during or at the end of the development process to determine whether it satisfies specified business requirements.
Objective To ensure that the product is being built according to the requirements and design specifications. In other words, to ensure that work products meet their specified requirements. To ensure that the product actually meets the user’s needs, and that the specifications were correct in the first place. In other words, to demonstrate that the product fulfills its intended use when placed in its intended environment.
Question Are we building the product right? Are we building the right product?
Evaluation Items Plans, Requirement Specs, Design Specs, Code, Test Cases The actual product/software.
  • Reviews
  • Walkthroughs
  • Inspections
  • Testing

It is entirely possible that a product passes when verified but fails when validated. This can happen when, say, a product is built as per the specifications but the specifications themselves fail to address the user’s needs.

  • Trust but Verify.
  • Verify but also Validate.
Defect Priority
Defect Severity

13 thoughts on “Verification vs Validation

  1. I agree with everything but the questions: you have them reversed. Testing does not answer “are we building the right product” since you are actually testing the actual product. Therefore, you cannot ask at that time, “are we building the right product,” since it is “ipso facto.” You can only answer the question, “did we correctly build the product?” as you have the product/service under test. Verification is where you ask the question about the specifications, designs, etc BEFORE you build the product/service, “are we building the right product/service?” Once built, the product is in existence, “it is too late to ask if you built the right product.” IMHO.
    Paul Nanouk

    • MY dear he right and the things explained are correct.
      Please improve your logic before doubting anyone.

    • Verification: 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.
      Validation: The process of evaluating software during or at the end of the development process to determine whether it satisfies specified requirements.

  2. @ Paul Nanouk

    Actually there may be some confusion, questions are correct the way they are and not reversed. Maybe just a misunderstanding. Wikipedia clarifies it in some more detail.

    As per Wikipedia, it lists: “It is sometimes said that validation can be expressed by the query “Are you building the right thing?”[1] and verification by “Are you building it right?”[1] “Building the right thing” refers back to the user’s needs, while “building it right” checks that the specifications are correctly implemented by the system. “

  3. verification:first we have to verify our requirement of customer ,and then whatever we have developed till time cross check we have made verification we have to be prepared with checklist for inspection.and certain stranded to which we have to compare with and reviews.
    validation:this is dynamic testing where we have to check the whole software whether its is meeting all required need of custmer.

  4. the explanation given here is absolutely excellent, and Paul Nanouk and others stop modifying the efficient work of this link, for the sake of the novice who might need this information. and thank you Mukesh, for protecting the knowledge

  5. The activities mentioned here for Verification are (Inspection, Walkthroughs and Reviews). All these are static testing techniques.
    Does that mean that in order to verify we are not executing the software and making use of static testing technique?
    If answer to above question is “yes” then why we call defect verification and not defect validation?
    Kindly, cany anybody explain this with proper examples.
    Iron Man.

  6. Simply put: In Verification, we’re testing the CORRECTNESS of the product’s functionality. In Validation, we’re testing for the COMPLETENESS of the product.

  7. Verification is a process of building a software by keeping all the requirements for specific needs.

    Validation is making/correcting the final product(s)/software(s) to utilize for your specific need. We may not want to involve during the verification process.

Comments are closed.