You are travelling in a Car, which is caught in traffic for last 15 min, calming yourself by reading live commentary of India-SA match on you smart phone. Now how will you feel if Sachin is at 199* and your smarty Hangs itself? That means its Screen freezes like windows PC does sometimes, and all you can do is take out the battery, put it back and restart the mobile to find that the inning is over and you are deprived of live text at MobiCast.
For a moment you might feel like throwing away the dumb thing, and curse its manufacturer and promise yourself to never buy any product of this company. This kind of problem is called BUG in geeky parlance. And as you can understand, when the product doesn’t respond in the expected way, it is going to hit the brand reputation, which in turn is going to bite into the revenue, profit, market share etc of the company.
To avoid such unwanted situations, the product development process has rigorous quality assessment tests. The process starts with an initial design, requirements and expected results. But as you move ahead with the development you come to know that there are many scenarios which were not considered in the beginning, and may result in unwanted leaks. These leaks are found either by developers themselves or by dedicated test engineers, they are like sniffer dogs, or like doubt masters, who always think like “What if” to avoid the “WTFs” in future.
After the testers give a list full of these glitches, the product is again on the drawing table, this is when you start with stitching holes, adding new requirements, putting new conditions and bundling up the whole thing to send it back for next round of testing. The process continues till the deadlines can’t be extended any further.
Germs always remain as they do in Colgate toothpaste advertisements and so do the jobs of thousands of development and test Engineers.