Home

Wednesday, July 8, 2009

An interview with a Bug

I always want to interview the great testers to know the secret of their great testing skill, to know the way how they perform testing, to know how all they became masters in the field. In short I want to know the recipe of their success as a tester but never got a chance. The reason was I never approached them as I always have a doubt that they will refuse my request as my blog is not popular like the other sites in which their interviews have been published. Even my blog doesn’t have regular readers. This fear never let me approach to ask them for interview and the wish could not fulfill.

But my dream came true. It was different from what I thought but I got a chance to interview. Although he is not a celebrity but he plays very important part in success of a tester. Dear friends, I got chance to interview a Bug. Yes, a Bug.

His name was ‘The Great Bug’, would be abbreviated as ‘TGB’ further. I am using past tense for TGB as he is no more and has been fixed (or ‘dead’) by development team but I promised him before reporting that I would tell his story to the world. So let me present the story of ‘TGB’ in his own words:

Me: Why you are named as 'The Great Bug'?

TGB: I am the first bug of the project. I have seen many generations of bugs. Hundreds of bugs have come & fixed but I am still there. The Sixth version of the project is going on and I am still here. So my follower gave me this name with respect. They believe me as the best bug.

Me: What kind of Bug you are?
TGB: I am a Bohr Bug. Do you know about Bohr Bug?

Me: No, but I would like to know.
TGB: A Bohr bug is a bug that makes itself apparent consistently under a well-defined (but possibly unknown) set of conditions. The Bohr bugs include the easiest bugs to fix, but also bugs that are hard to find and fix and remain in the software during the operational phase. These kinds of bugs are often present in parts of source code that are not invoked very often and thus might remain undetected for an extended period of time, and are sometimes termed as 'Ghost in the code'.

The common example is a program which always fails when you divide by zero.

Me: that’s interesting! What are the other kinds of bugs are there?
TGB: There are Heisenbug, Mandelbug & Schroedinbug and many more.

Me: Would you tell us about them, so that we can classify a bug next time we find.
TGB: hmmm..... I don't see any harm in it for our bug family. Ok, I would tell you about the bug classification.

(i) Heisenbug: Heisenbug is a kind of bug that disappears or alters its behavior when one attempts to probe or isolate it.

A common example is a bug that occurs in a release-mode compile of a program, but not when researched under debug-mode.

These bugs are antonym of Bohr Bugs.

(ii) Mandelbug: A Mandelbug is a kind of bug whose underlying causes are so complex that its behavior appears chaotic.

For example, a fault in an algorithm's implementation can lead to an erroneous computation for specific values of a program variable—a case of fault activation causing an error. The software can use this incorrect result internally for further calculations, in which case the error propagation leads to additional errors. A failure occurs only when the system uses one of these incorrect calculations in a way that influences a perceivable system behavior, or when error propagation causes a failure occurrence.

(iii) Schroedinbug: A design or implementation bug in a program that doesn't manifest until someone reading source or using the program in an unusual way notices that it never should have worked, at which point the program promptly stops working for everybody until fixed. Though this sounds impossible, it happens; some programs have harbored latent schroedinbugs for years.

For example, a database program may have initially worked on a small number of records, including test data used during development, but broke once the amount of data reached a certain limit, without this cause being at all intuitive. A programmer without knowing the cause, and who didn’t bother to consider the normal uptick in the database size as a factor in the breakage, could label the defect a schroedinbug.

Me: Why do bug exists?
TGB: It’s your question or it is your problem :)
Me: It’s just a question about your existence.
TGB: hmmm…. there are many reasons of our existence like
(i) Communication Gap between client, management & team members
(ii)Complexity of the project
(iii) Pressure to complete the time within strict time frame
(iv) Continuous change in requirements
(v) Programming errors
(vi) Poor or Incorrect Documentation etc.

Me: How did you come in the world?
TGB: Do you want to know the complete story?
Me: Yes
TGB: Well, about three years ago Mr. Client got an idea to automate his business. He came to meet Business Manager of company to apply his concept. They had long meetings discussing about their new project. They were very exciting about the project. During this excitement, they forgot a very important concept and I was seeded in the project.
Even in the designing phase, they did not find the glitch in the project and when programmer were writing the code, they gave me life and since then I am here.

Me: So, it's a developer who has given you birth?
TGB: No, My original parents are Client & Business Manager of the project. They are responsible for my existence.

Me: That is really interesting! If it’s true what you are saying then why the developers are always claimed for bugs?
TGB: The developers are the weakest in all of them who is responsible for our origin and its human nature to blame the weakest one. Not all bugs are originated by developers. Most of the bug already present in the project when developer is introduced in the project.

Me: Do you think people will agree with your point of view?
TGB: I am not here to make them to believe me. Everybody has its own conception. This is my truth and it is up to them whether they are agree with me or not.

Me: Do you have a family?
TGB: Yes, I have family. In fact, in earlier period of the project I have a big family but with time they all have been caught by ABS members. Now, there are just few people in the family. I miss them all whom I lost with time :(

Me: I am sorry!
TGB: It’s perfectly alright. So don't feel sorry.

Me: How you spend time with your family?
TGB: As I told you, I had a big family. We use to party all the time. We always enjoy our togetherness and our success. We never think about our future, neither we use to look back on our past. We enjoy the present.
Me: it means you know how to live a happy life :)

Me: I am really curious to know why you were not identified by anyone till now.
TGB: :) It was not an easy task my dear but I always succeeded to hide myself. Actually I disguised myself as a feature of the project. Whenever anybody tried to find me, he could see the feature only.



Me: you talked about some ABS members, what is ABS?
TGB: ABS – Anti Bug Squad. ABS members are really heartless people, they are the people who find us, report to Developers and make sure that we all get killed. (Read as 'fixed')

Me: you mean tester!
TGB: We don't care what you people say them. We call them ABS members.

Me: You know I am also an ABS member!
TGB: Yes, but I am just saying the truth. Due to you heartless people our family could not grow. How can you ask developers to kill us?

Me: This is our job. Company is paying us for finding and reporting about you. We help in development of quality product. Our goal is to find bugs in project, to find bugs as early as possible and make sure they all get fixed.

TGB: huh! Quality.... To hell with your Quality :x

Me: It was really a nice interview and I hope whoever read your interview will have the sympathy with you.
TGB: I don't want sympathy. I just want people know about us. That’s all.......

Me: Thanks TGB for your support, Efforts and Time.
TGB: Thank you very much.

It was the last time when I saw TGB. After this interview, TGB was fixed within next 6 hours. The Great Bug is no more. The bug which was not found in six releases has been fixed at last.

This is the story of TGB.

Disclaimer: This is not the original interview of TGB. The original interview is edited because of foul and abusive language :)

4 comments:

Amit Srivastava said...

hmmm really a very good effort from an ABS squad member ;-)

Deepal said...

Wow, excellent interview I have ever read. I think you might be an expert ABS member.

Mohit said...

@Deepali

I am happy that you liked it. well, being expert is a big thing, i m still trying to become good ABS member.

Unknown said...

Wow ...this is a superb interview that i have read abt the bugs till date ......Intresting to know abt the ABS ..... :-) :-) :-)