VERIFICATION AND VALIDATION
Verification and validation is a systems engineering discipline that determines if work products comply with their specifications and are fit for their intended use. More specifically:
Verification establishes the truth of correspondence between a work product and its specification (from the Latin veritas, “truth”).
Validation establishes the fitness of a software product for its operational mission (from the Latin valere, “to be worth”). It answers the question: “Are we building the right product?”
CONTRASTING VERIFICATION AND VALIDATION
The verifier establishes that a software product faithfully implements all the requirements documented in a software requirements specification (SRS). In contrast, the validator establishes that the SRS is a true reflection of the user’s needs. For example, he might use a prototype to encourage users to think more deeply about their needs and discover that some of the requirements were incorrectly stated in the first place. The validator therefore establishes that the specifications correctly describe a system that is fit for its intended purpose.
WHY IS VERIFICATION AND VALIDATION NECESSARY?
Verification and Validation is necessary because the designers and implementers of computer-based systems are human; they will make errors. These errors will result in undetected faults in delivered systems. Faults can result in dangerous failures causing loss of life, financial loss or property damage. The mission of verification and validation is therefore to find and correct errors as early as possible in the development life cycle thus preventing the delivery of a faulty product to a customer.
HOW MUCH VERIFICATION AND VALIDATION IS REQUIRED?
The level of effort applied to verification and validation is a function of the criticality of the software or systems product. That is, the risks involved if the system fails. At one end of the scale, the software controlling the shutdown of a