I had never studied Testing before nor knew how many types of testing were there in place. I was from Physics background and had studied post graduate diploma in computer applications which never talked about Testing a Software. But during my Internship Project we had been given a list of checks to care for where Users might do wrong. E.g what if user clicks close/cancel without saving, or Click Delete accidentally. So I have such check lists in my mind before I went to the job.
On my fist day I have been given a list of company’s documents which were part of the Training. At the end of the day we had to report what we read and time spent for them. I read them a few times and then switched to Google, as I wanted to learn more about testing from blogs and articles and naturally I didn’t know what I’m supposed to do in coming days so its better to read and learn what testers do?
My 2 months old pup too had been allotted his seat on his first day. After some hours I taught him “go to your place” command showing him his seat(just like the documents I have been given to read). He understood it after some trials and obeyed it. But as soon as I walk away he would get out of his place and start roaming anywhere in the house. So like any other child he was well equipped with exploration and curiosity.
Gradually I taught him Sit, Down, Catch, Give me commands. When my sister told me to teach him “Shake hand” command I used “Give me your hand” instead. What I observed is on the first few trials he didn’t get what I want him to do and so being so confused and hungry to get the treat quickly, he started obeying even those commands which I haven’t asked him to do. So when I say “Give me your hand”, he would Sit, Get down, catch his bone or ball and would throw at me. He couldn’t figure out why he was not getting his treats. But in his mind, he was doing everything he knew. Later I corrected the command to use “Shake hand” as he was getting confused between Give me and Give me your hand.
The Test case format which included 4 columns – no, step, expected, actual result seemed very easy while getting trained. Isn’t it easy to execute 30-50 steps to know if feature XYZ passes or fails? But like my puppy I got confused when faced my first project assignment which fortunately(yes I can say this now) didn’t require test cases to be prepared. There were so many testing types UI Testing, Function Testing, Integration Testing, Regression, Testing, and the big of all SYSTEM testing. I knew at least all those definitions. I questioned myself what testing to start with? Would anybody mind? Does it matter? Would I be able to find Bugs(as if it was my treats)?
Then looking at the project and first few hands on show me spelling mistakes, there is a crash too and oh! Is this function not friendly or its I who didn’t get it correct? Another confusion(this time it was a bit happy one) as I had a few bugs to report to. Does it matter what to report first? Think later and start reporting, I told myself. Do developers need only steps to reproduce a bug or shall I tell something more if I know? I started getting confused and questioning more and more as I went ahead in the journey. So confusion became the guiding light which would generate series of questions and force me to read & get the answers.
Teaching my dog not to pee in the house was the toughest task. More than teaching it required understanding his signals, and failing to which means be ready to clean his mess. Initially I would not understand or be lazy to give his signals enough attention, and for that I had done lot of cleaning work. Sometimes so frustrated I used to ask him “what salary you have fixed for me!” But now when he is 6 months old its like at first barking check if his toy is out of his reach, at second check his water bowl, then if its time for his food, and still if he keeps barking then its time to take him out. So if one ignores a dog trying to catch her attention thinking he would get quiet after sometime, should get ready to clean the mess later on.
In bugs’ cases too if the testers do not raise the alarms at the right time thinking – ” it might not get fixed, or its not a bug, or its a bug but they don’t take it as a bug so let’s leave it here”, the project team has to pay the cost and clean the mess later on. So without taking bugs personally I learned the importance of giving attention to the details and application’s behavior.
Let’s see if in future my dog and I would share some more things in our learning paths…