I was previously blogging at a blogspot site and over time I realized that I am getting limited in terms of tools there so I opted to do it on my own. Apart from other things which are needed to host and run a website, one of the basic initial things is to identify a name. And after being unsuccessful at getting a domain for the more common names, I was lost and dejected when suddenly I thought of validateverify, checked it and found that this is available.
Over time, I also realized that there are still a lot of people who are googling on these terms, to find their meanings, there differences and so on. While as a software testing practitioner and as a interview-holic person, ‘Validation and Verification’ are ingrained on my mind-slate, I can imagine that there would be lot of people who might just get confused. More so in places where English is not their first (and probably preferred) language.
So lets try to understand these terms and then see their relation vis-a-vis software testing.
Validation – Act of finding whether something is ‘right’ or not. The ‘Right’ is from the perspective of overall need and desire. Whether something is valid or not.
Verification – Act of finding whether something does whats its supposed to do in defined (or may be undefined at the time of testing) condition. Verification is for built behavior, its for smaller nuances and not for the initial big goal.
Let me now take couple of examples to drive these points home.
Imagine that you are asked to test a ‘Login’ screen. A verification test would be to see that it accepts right user name and pwd, that it gives relvant error message , that the ‘Hot Keys’ and ‘Short cut keys’ are correct and so on. A Validation test would first see whether you need a ‘Login’ screen or not, was the goal to have users first getting authenticated to use the system or it was to make a ‘barrier-free’ system where we ask for ‘Login’ only when required. Is the presence of ‘Login’ screen a valid presence.
The above case is a simpler case and probably before deciding to put login screen, someone might have already answered those questions and decided the ‘s/w design’.Imagine that you are testing a software which creates ‘Greeting Cards’, something like ‘Adobe Photoshop Elements’. As you exercise the option, you test the various imaging related options, verify the ability to handle various kind of formats of digital photos, being able to put a artefact like a candle or a balloon and so on. All these things are under verification. A ‘Validation’ test would answer questions like, is it a standard practice to have greeting cards of arbitrary size, aren’t greeting cards mostly with some standard sizes. Another ‘Validation’ test would be that ‘Is there is a provision to write a ‘Text’ ‘ such that when you print the card, you can fold it and the text is shown in the inner flap and the photo is on the outer flap. Try to imagine this and you would understand the complexity. Whats the goal of this feature, is the goal is of being able to create and print a ‘Gretting Card’ which you can post to your friend. Interestingly Photoshop Elements doesn’t do these things and probably the people who tested this feature didn’ really validated it.
So to summarize, validation is to see whether something is ‘Built Right’ while verification is to see whether something is ‘Rightly Built’.
thoughts ?
good idea of having a post on V&V. that’s how these terms are popularly known as.
i can’t remember the Pressman definition. But I do remember they are very aptly described there.
a good follow-up post would be QA&QC. Most folks get these 2 terms muddled up…
Thanks Rahul. Good idea, would write a one on QA and QC.