The most confusing terms in the software quality perspectives are software verification and validation. Verification and validation, both terms seems to be same but there is very clear difference exists between the two.
Debate on Software verification and Software Validation
Students and the professionals and so much confused about these terms. Students most of the time write the definition of verification under software validation and vice versa. These two terms are the basic pillars of software quality engineering and most of the testing, specification documents come under verification and validation. For a software to be successful in the industry as well as the client`s perspective, this must have to be properly and correct verified and validated before delivering it to the end user.
There is a possibility that software is verified but is not validated due to some bugs or lack of specific features. Software houses have established the separate teams for both i.e., software verification team and software validation teams. This clearly shows that the need and procedures are very different when we compare verification and the software validation.
Overview of Software Verification in depth
Software verification is involved in all of the software development life cycles. This includes reviews of the documents, reviews, and test cases for the code and walkthroughs and inspection of the specific module. Any bugs identified, any test case written to test a functionality all is under verification. Verification is to ensure the correctness of the module and make sure to meet the client specification. As we see from the business perspective, verification ensures that the business logic requirements are implemented to the product.
Who performs Software Verification?
Verification is usually done by quality assurance team. The very famous line related to verification is,“Are we producing the product right?”
Overview of Software Validation in depth
Validation is different from the verification in terms of testing. In verification, we deal with each requirement and module separately but in validation, we see the product as a whole. Validation is the truth about what has been build. In business perspective for validation, we make sure that if business logic has been implemented correctly. Validation is usually done by executing the test cases to make sure the executed test case and the actual result do match in the end. The famous quote about the validation is, “Are we producing the right product?”
Validation is done after the verification has been completed. An example to make the difference between the two is, if we are cooking the rice and we ensure that the correct amount of salts, oil and water is poured at the right time in the cooking process. This is the specification for to cook rice and addresses verification. In the end, we actually taste some of the rice to make sure they have the same taste as we were expecting. This is validation.
More Explanations about Verification and Validation
More resources to clear the concept of these two terms and list below, to help you understand and implement the concept.