Saturday, August 16, 2008

Gambler And an Expert Tester

Of late I have been reading a lot of stuff on Expert Testers, articles written by them and have also personally met an Expert Tester. Interacting and reading articles written by them, I feel they have certain traits which best fits a Gambler. In this article I am trying to compare few qualities of a Gambler and Expert Testers, which I personally think these Expert Testers possess and should benefit the Testers who aspire to become an Expert Tester.

#1. The Gambler would always track every single bet he makes by noting it down in his diary. It would usually include date/bets/odds/what's at risk/result and why he made the bet. By tracking his bets he would be able to remain organized, won't fall into traps he had fallen earlier into, would help him to develop a nose for identifying newer traps, would help him to think clearly in uncertain situations and would enable him to identify some sort of patterns admist of chaos.

An Expert Tester would always take down notes of the activities he is performing, the approach he used for identifying a bug in a particular context and the learnings he got while testing a particular product. He would keep on appending his list of learnings all through his testing career. He would be searching for similarities and dis-similarities, different contexts, different heuristics, more oracles and almost anything (things which normal testers are likely to miss) which could help him to achieve his mission.

#2. The Gambler doesn't fear going to the unknown territory and believes he can conquer it with his skill, courage and spirit. He has to train his mind to look beyond the obvious and to look into things which would elude normal people. He has so much at stake (money, reputation, existence ...) that he cannot miss even on minute details.

An Expert Tester challenges the application by stretching its boundaries and testing scenarios which normal Tester would usually miss or can't imagine. He would train his mind at all times to look beyond things which eludes normal testers. He challenges himself to better the benchmarks he sets for himself.

#3. The Gambler has to find his way through the traps, identifying and clearing them to reach his target. He has to make moves under condition of uncertainity. Uncertainity should not be mistaken to randomness. It requires dedicated practice and planning to play moves under uncertain situtation. Even the game of chess is uncertain until one of the Kings is check-mated, but the moves made are not random (infact it depends on the moves you make as per the given context).

Given an application to Test, an Expert Tester first tries to learn the application and establish a pattern for the way application works. He tries to identify the Traps and ways to clear them. Powered with his oracles and heuristics, he tries to find ways to break the application in a carefully planned and systematic manner (and not by Ad-Hoc appraoch).

Disclaimer : All contents in this article are my personal views.