Verification & Validation

Verification and Validation (or more commonly known as v&v) is the process of investigating if software satisfies specifications and standards, and also makes sure the software can complete the tasks it was intended to do.

Although they come together, verification and validation are two very different things.

  • Verification is the process of making sure the software verified can do the tasks imposed without any bugs. This can be resumed in making sure it has no errors, no weird bugs and functions as it should
  • Validation is the process of making sure that the software can actually fulfill the requirements imposed to it. It is the process of checking that the software created is actually the software we want or need.

A very short but very precise description of both validation and verification provided by Barry Boehm is:

  • Verification: Are we building the product right?
  • Validation: Are we building the right product?

These are very powerful phrases because it actually just summarized all of the above.

Procedure:

To verify and validate there is a common, pretty general but recommended procedure to follow. The Verification has to be followed by the Validation. Meaning we first verify if our software actually works and then we validate that our software is actually useful.

This also means that it is entirely possible for a product to pass the verification procedure but fail de validation procedure, rendering the product unfinished. This can also happen even if the software is built according to the specifications given, but still failing to fulfill the user. In other words, the user has the final word in a project, as I think it should be.

Verifying and validating both are executed by the use of tests to the software.Testing is a core part of the developement of a product, but one must know what tests must be done in order to ensure quality. Below there is a chart with tests belonging to either verification or validation. You may have heard of some of them before:

chart of tests belonging to verification or validation

To verify and validate properly there are standards you would want to follow, meaning there are standards for quality control in software as well. These are called Quality management systems (QMS) and are a great tool to meet the necessary requirements in order to have a global acceptance.  For example the Institute of Electrical and Electronic Engineers (IEEE) has one standard with procedures and, well, explanations (this standard is called IEEE 1059). However access to this document is behind a paywall.

Another standard is the ISO 9001, this one is actually free and can get a project (or organization) to meet global standards in terms of verification and validation.

Below I leave a link to the ISO 9001 guide and materials download page:

https://advisera.com/9001academy/free-downloads/

Leave a comment

Design a site like this with WordPress.com
Get started