Monday, May 03, 2010

Discover the pattern...

“There will be some non-reproducible bugs” – This was my initial belief until that “T” break.

10 minutes before that “T” break:
At that time, I was part of a testing team which was given the task to test an application, which was already tested by a team (second phase) and we had their test report. A bug was mentioned in a column named “Non-reproducible bugs” of that test report.

My first instinct on seeing that report was “This is not a reproducible bug so we can't reproduce this bug" and not to my surprise, the whole team(including our team lead had the same thought on non-reproducible bugs).

->“venkat, lets go down for T”(in Tamil). that was Mr.X (Identity under cover).

During T :
We shared so many things (starting from how we can kill our time(holidays) in gulf to our Indian cricket team) and when our topic squeezed into our work, I shared the above non-reproducible bug column, the next moment his face turned sick and he said “These testers are so incapable that they couldn’t reproduce a bug”.

With little fear-factor, I asked him if a bug can’t be simulated again, then what’s wrong in categorizing it as a non-reproducible bug?

He smiled at me and said “Each and every bug can be reproduced. Only due to some constrains(like time and considering the severity of that bug. It will be deferred/ put into that “Non-reproducible” column)”. Take it from me, every bug will definitely have one/more patterns. Simple/hard thing is “you have to find that pattern”.
He also said Don’t believe in all those theories and shutter yourself at this initial stage of your career”.

I nodded my head as reply and we departed.[ he(42 yrs old) ran through the steps but I slowly headed upstairs].

After T break :
I have decided not to work on that non-reproducible bugs immediately, so I postponed that to post-lunch and during lunch time,
I shared that thought to my fellow tester, he laughed at me and said “Don’t waste your time buddy” but post-lunch, I again stressed him “Mate, lets try that out”.
It took a lot from three of us (nearly 1hr and 20 minutes of questions, tricks and guess works, tackling traps..).

Actions performed: (we haven’t planned anything at that time, but now I can relate those things to below).
a) Gathered maximum information from that tester, who logged the bug(we asked him to sit with us) .
b) Analyzed test data (To find whether this bug sparks out only when we use some kind of test data).
c) Random usage of that particular functionality (with proper log).
d)Prepared various patterns(guess works- Functional/non -Functional).

Finally, The tester, who logged the defect helped us to discover the exact pattern to reproduce that bug ... :) and we all three had that victorious faces but the credit goes to Mr.X (hope, I can catch up with him again).

-> Reproducing a bug is as important as of finding a bug.
So if you have a non-reproducible bug column in your test report, please remove it and start discovering and once you have decided to discover the pattern, I am sure, you will meet that irregular bug at least once and after that it will be just a matter of uncovering it...

Have a break........ :)

Lets discover,
Venkat.
All izz well.

Catch me @ Kpvenkatesan84@gmail.com.

4 comments:

  1. Hi Venkat,

    Congrats :)

    Hope you read this:
    http://www.satisfice.com/blog/archives/34 by James Bach on "HOW TO INVESTIGATE INTERMITTENT PROBLEMS"

    Regards,
    Ajay Balamurugadas

    ReplyDelete
  2. @ Ajay,

    Thanks a ton for referring such a wonderful article on Intermittent problems... :)

    The way, James explained how to tackle these Intermittent problems was awesome..

    To all,
    Please go thru the article ..
    http://www.satisfice.com/blog/archives/34

    Keep testing me ..
    Venkat

    ReplyDelete
  3. Hi Venkat, nice post. I have learnt a new lesson from your post. Thanks for sharing your valuable learnings.

    ReplyDelete
  4. @Krishnaveni,

    Glad to hear from you.

    Thanks a lot.

    Keep testing me..
    venkat

    ReplyDelete