Thursday 6 January 2011

Validation vs. Verification

Another article from 2006:

These two terms keep cropping up as a source of confusion at the moment, so here's my attempt at clarifying the situation.

The traditional definition

I can kind of see why people have trouble with these two terms, when you consider how often I've heard these as definitions:
  • Verification = "Making sure we build it right";
  • Validation = "Making sure we built the right thing".
Yes they are different, but if you're trying to explain this to people who were confused before, I can't see this helping much.

The simple non-definition

Here's the way I remember the difference:
  • Verification - think "system test";
  • Validation - think "User Acceptance Test" (UAT).

Note: these are not definitions, they are examples of types of verification and validation.

In other words...

Verification covers all the checks you do along the way to make sure you're building whatever you're building right e.g. peer reviews, unit tests, load tests etc. etc.

Validation is all the stuff to make sure you're meeting the requirements. So again, this could well be unit testing if it's testing directly against a particular requirement - but it's the stuff that makes sure you're making what the end user needs, as specified by the requirements.

A non-technical example

I find that looking at these things from more than one angle helps.

You can perform verification and validation on anything that you produce. And what you produce doesn't have to be "techie"; whatever you're working on, the same principles apply.

For example, say you're writing a document.

Verification looks at formatting, spelling, and the reviews by colleagues to make sure you're doing it right.

Validation is checking that you're actually answering the questions that need to be answered, and making sure that the person(s) you're writing for are happy enough with it to sign it off.

Yet another perspective

Ok, here's another one.

Verification is all about making sure whatever you're producing is high quality: it follows the standards you should be following, it is error free etc.

Validation is all about sign-off. You want to make sure the audience is happy with what you're doing, and if it's a client you're doing it for you want them to be happy enough to sign it off as complete.

Yes, there can be overlap

Of course, one of the main causes of confusion is that sometimes these activities are performed together. How and when validation and verification are performed is down to your organisation's processes (or your project's processes, or whatever) - the key is that they both happen, and that they're made to work for you.

1 comment: