Recently, I attended a Seminar on Software Testing by Mr. Srinivasan Desikan , at Hyderabad. He is working as Director for Agile Software Corporation, and is the author of the best-seller “Software testing – Principles and Practices”. He has a great way of teaching testing principles – he teaches them with stories, one for each principle. I liked one of the stories a lot – “The Saint and the Cat”. Here it goes…
In the olden days, there was a saint and had a lovely cat as a pet. One fine morning, when he was about to start his morning prayer, the cat, in a playful mood, was disturbing him. He asked his disciples to put the cat in the basket, finished his prayer peacefully, and asked the disciples to take the cat out of the basket. That’s it! The disciples understood their Guru’s word. Everyday, one of the disciples will search for the cat before the Saint went for prayer, put it in the basket and took it out after the Saint was done with his prayer. The episode continued. Generations passed and the temple saw several generations of the Saint as well as the cat. One day, the disciples of the current Saint were trying hard to find the cat, but were unable to find it. The Saint did not go for his morning prayer because the cat was not put in the basket!
Desikan beautifully concluded this story by saying – “Why to test” is as important as “What to test” and “How to test. I would like to extend the idea here. Even if the testing is mandatory, and we have an answer for “Why to test”, still the way we test it is an important factor. Putting the cat in the basket was the way that suited the old Saint’s requirement for a morning prayer, it might not be the current saint’s requirement. So, the way things usually happen, the processes which are in place and the way the standards have been set may not be the answer to every problem. Every problem has its own solution. We might tailor an old solution for a new problem, but sometimes it might not simply fit.
So, I would conclude by saying that in today’s software testing world, where there is a ready made template for almost everything in the name of established process, we as testers should look at the real problem and then work on the solution. Next time you choose to solve a problem with solution A, just because that is how people around you do it, just think once – “Am I putting the cat in the basket?”.