So what is the difference?
It’s simple really, as long as you don’t read the plethora of arduous ISO and IEEE standards.
Verification is making sure what we built is working as we intended. This is acceptance testing, executable specifications and exploratory testing. These are testing fundamentals.
Validation is asking the question, did we build the right thing? There is little point in building a entirely configurable system if the owners have no want or need to.
Our definitions, like most of the ones we’ve found, are defined in the past tense, which illustrates the real problem. Why wait to ask such important questions? It’s Madness!
Ask these questions early and often, then you’ll never have to bother with these definitions again:
- Are building the right thing?
- Is it working?
Defining your testing as verification or validation is largely irrelevant in the grand scheme of things. Dissecting testing into small chunks is a useful way to learn new things, however in the real world, evolving your expertise to include new things, like user experience design, is more effective.