If you're interested in the difference between validation and verification as technical terms in the software industry, see wikipedia. This difference has nothing to do with the meaning of the words in the English language (for which see the answers to this question).
–
Peter Shor Jan 6 '12 at 15:48

@Peter Shor I believe it's a perfectly relevant question. The meaning in programming plays directly to the meaning in English, as well as the etymology. Understanding those could indeed help Svish be a better programmer and speaker. Please see my answer as to why.
–
LunivoreJan 6 '12 at 17:44

6 Answers
6

I think the subtle difference would be in that "verification is validation by empirical means".

empirical: Based on, concerned with, or verifiable by observation or
experience rather than theory or pure logic.

Taking your example, checking the format of an email address is done by logic, to see if you have <something>@<something>.<xxx> format. But, you cannot logically tell by looking at the string that it is a genuine email address.

Right, so I validate an email address, because it's based on theory and logic, while I verify that an email address is genuine because it's based on the observation/experience I get after the user has clicked a link (or whatever). Correct?
–
SvishJan 6 '12 at 13:13

In my opinion, yes, but I don't think this universally applies. I would use this as a thumb rule to decide when to use which.
–
abhinavJan 6 '12 at 13:16

For example, I would say that a form is valid, when all the necessary details are filled with appropriate values, a text for name, a number for phone number, etc. But, I would use verified, if the form has been cross-checked with my ID or passport.
–
abhinavJan 6 '12 at 13:19

Exactly, so the email would be valid if it is appropriate according to defined format, and verified once "cross-checked" with an action. Think I get it now :)
–
SvishJan 6 '12 at 14:06

Scientists today verified that the stars did in fact disappear during daylight, when astronauts aboard the shuttle "Scepticism" travelled above the atmosphere for the first time and found that no stars above the daylight side were visible.

The biggest difference is in the hypothesis. A valid hypothesis is one which appears to have supporting evidence, or which has not been disproven*. A verified hypothesis is one which has been proven (in this case, the anti-hypothesis).

Let's say that your hypothesis is that the user has entered their email address correctly. The address is valid if it's well-formed, or if you can send an email to it - it exists - but only verified as the user's address once the link sent in the email is clicked.

Or perhaps your hypothesis is that entries in a form are correct. It might be valid if all mandatory fields are filled, but only verified once the business rules associated with the different fields have been checked too.

Because verification necessarily involves validation, there may be some flexibility about what you define as valid. The purpose of validation is usually to provide quick feedback about what might be wrong, whereas the purpose of verification is to make sure it's right.

I saw an ad for this question on the Computational Science Q&A site, so if you'll allow me to provide an answer from that perspective...

Where I come from, to "verify" means to make sure you are solving the equations correctly. Does the code you implemented accurately compute the equations you mean to solve?

To "validate" is to make sure you are solving the correct equations. Is the model you implemented an accurate representation of the physics you are attempting to emulate? Does it compare well to observed behavior?

There is a lot of work in the computational science community on "V&V" and every document on them starts with this type of definition.

This is indeed the difference in meaning when these two words are considered as technical terms in the software industry, but it has very little to do with the meaning of these words in general English.
–
Peter Shor Jan 6 '12 at 15:50

@PeterShor I do not disagree, which is why I included the "if you'll allow me" at the beginning. You'll notice this is my first contribution on this site. If you feel it is too far off topic, you can down vote it or I can even delete it (though I'd prefer more input from the rest of the community before I took that step).
–
BarronJan 6 '12 at 16:24

Welcome to EL&U. This isn't a bad answer, but I thought it should be pointed out more clearly that it just applies to the software industry. Since some people will be interested in the software terminology, this answer should definitely not be deleted.
–
Peter Shor Jan 6 '12 at 16:49

Validation: To check data or filter data that requires no external references; usually meaning to check the format of the data matching a particular pattern. For example, check if something is filled in or not or the pattern of an email address matches. More specifically, validation is doing as little work as possible to check the very basic assumptions of the data.

Verification: Occurs after Validation in that it is more complex and you would always use validation first and not allow verification if the validation did not pass. Verification has to do with checking against a current set of data that takes more resources to discover than Validation. For example, checking if an email has already been registered or not requires a lookup of existing registered users or another example would be checking if a zip code entered is actually a real zipcode by looking through a database of registered zipcodes.

The dictionary can give a more complete proper answer but I prefer plain English spoken in everyday terms, relevant to its actual usage rather than from an academic sense. Academia tends to separate us from the simplicity of things.