[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] My Daily Diary of Validation
- From: rjelliffe@allette.com.au
- To: "Costello, Roger L." <costello@mitre.org>
- Date: Wed, 30 Sep 2009 12:50:32 +1000 (EST)
>
> Hi Folks,
Hi Roger.
Are these really validation? Or are they verification (I know it has
other meanings too)? I think there is a difference.
The difference: invalidity is a symptom of system failure or error;
negative verification means the system is working OK, it just produces a
result you may not want or may be exceptional.
> I wake up. Before entering the bathroom I validate that it is not
> occupied.
You would validate that the bathroom is either empty or busy: has the roof
fallen in for example. Those are its allowed states.
You verify that the bathroom is empty.
> I walk down stairs and get a can of V-8 juice from the 'frig. Before I
> open it I validate that the expiration date hasn't passed.
ditto
> Tonight there's a nice movie on TV. I set the VCR to record the show. I
> validate that it is programmed correctly.
Validation would say "have I entered something that makes sense" while
verification would be "have I entered the actual time I wanted."
> I'm short on groceries. I write a list of items I need. I go to the store
> and shop. When finished, I validate the items in my shopping cart against
> the items on my grocery list.
I'll allow this as validation.
> I pay for the groceries by check. I validate that the total purchase
> amount is less than the balance in my checking account.
Verification. Overspending is not a system error.
> Time for work. I start my car. I validate that the amount of fuel is
> greater than 1/8 tank (I have a rule that I get gas when the tank gets to
> 1/8 or less).
Verification.
> As I drive I validate that my speed doesn't exceed the posted limit.
Verification
> When entering the highway I validate that I am entering it in the
> correct direction.
Verification, unless we are robots.
> When exiting the highway I validate that I am taking the correct exit.
Verification, unless we are guided by GPS.
> Before proceeding through the intersection I validate that the traffic
> signal is green.
Verification.
> Before turning I validate there are no oncoming cars.
Verification.
> I arrive at the subway station. I need cash for the subway train. At the
> ATM I validate that I got the correct amount.
Validation.
> Before getting on the subway train I validate that the train is for the
> correct line.
Verification.
> Before getting off the subway I validate that I am at the correct
> station.
Verify, unless you have a guide dog perhaps.
> I arrive at the office. The guard validates me and my badge.
Verify.
> I need to FAX a document. I validate that the original is face down as
> required by the machine. I validate that the destination fax number is
> correct.
Verify.
> I check my inter-office mail. I validate that I am retrieving the mail
> from the correct bin.
I don't understand what a bin is.
> I need to send an email message. I validate that the recipient list is
> correct.
Verify.
> Time to go home. I need to first pick up a prescription. I validate that
> it is correct (it is mine and the medicine is the right one).
Validate.
> Time for bed. I validate that the alarm is on and set to the correct wake
> up time.
Verify.
The practical difference is that validation and verification result in
completely different kinds of responses: verification errors are user
issues; validity errors are system issues. Conventional schema languages
don't allow any way of representing the difference (Schematron they can be
modelled as phases, or just using the @roles attribute.) They mix
everything up.
The conventional Fail|error|warning|caution|note kinds of error log
messages show that there are these kinds of demarcations.
It is a separation of concerns.
Cheers
Rick Jelliffe
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]