Search This Blog

Pages

Thursday, June 3, 2010

Bug reporting And tracking

What is bug?

Wikipedia definition - A software bug is the common term used to describe an error, flaw, mistake, failure, or fault in a computer program or system that produces an incorrect or unexpected result, or causes it to behave in unintended ways. Most bugs arise from mistakes and errors made by people in either a program's source code or its design, and a few are caused by compilers producing incorrect code. A program that contains a large number of bugs, and/or bugs that seriously interfere with its functionality, is said to be buggy. Reports detailing bugs in a program are commonly known as bug reports, fault reports, problem reports, trouble reports, change requests, and so forth.

ISTQB definition - A flaw in a component or system that can cause the component or system to fail to perform its required function, e.g. an incorrect statement or data definition. A defect, if encountered during execution, may cause a failure of the component or system.

Other definition - A problem that causes a program to produce invalid output or to crash (lock up). The problem is either insufficient logic or erroneous logic. For example, a program can crash if there are not enough validity checks performed on the input or on the calculations themselves, and the computer attempts to divide by zero. Bad instruction logic misdirects the computer to a place in the program where an instruction does not exist, and it crashes. A program with bad logic may produce bad output without crashing, which is the reason extensive testing is required. For example, if the program is supposed to add an amount, but subtracts it instead, bad output results, although the computer keeps running. See abend, bug and buggy.

What is the difference between Error, Bug and Defect?

One answer which i read somewhere was: They are one and the same. The issue is whether to call them bugs or defects.Here are some comments from experts
comment 1:Bug : Any discrepancy found during testing of software product.
Defect: Any discrepancy found by the customer in the software product after the release in to production
Error: Any discrepancy in the coding
comment 2:I always thought of bug as slang for defect. ISTQB calls an error: A human action that produces an incorrect result. [After IEEE 610]
ISTQB calls a defect: A flaw in a component or system that can cause the component or system to fail to perform its required function, e.g. an incorrect statement or data definition. A defect, if encountered during execution, may cause a failure of the component or system.
The error could be introduced in coding, testing, requirements or any phase of the development process.
comment 3:As I stopped bothering about the differences between them or to questions like Sanity and Smoke and so on, I got 2 years of time that I invested in learning to test better.
comment 4:Well i agree to some extent for BUG & Defect..you call it the same. Reporter and time when reported makes a difference. But Error is really different. Error has nothing to do with the your application flow/specification/requirement. Its the Code which produce the Error. For example:
1.Error handlings in code. 2. Some time you see that some exceptions appear on application like Java null point exception.., Error 111....file missing...kind of things... These are really input data dependent and many other dependencies in code during code complilation etc...and those have interation with other tools like tomcat,libararies,dll etc These kind of issues are refered as Errors. These are not bugs as this is nothing to do with application flow/spec/requirements or flaws in application.
comment 5: The ISEB definition is: An error leads to a defect which leads to a bug (not verbatim but it's along those lines). However it'll differ very orginisation to orginisation, just use whatever works.

Bug life cycle



Important thing we always forget to mention about Duplicate bugs. Duplicate bugs when reported also come in Un confirmed state. From unconfirmed they are marked as Duplicate and closed. If Tester convince the team that the bug is not duplicate then the bug follow the same cycle as mentioned in the figure.

Bug Priority and Severity

Priority describes importance of defect. Usually we give priority as

P0 (Basic functionality)
P1 (Compliance functionality)
P2 (Cosmetic functionality)

Severity describes seriousness of defect. Usually we give severity as

Critical-Unable to continue test execution on that functionality without resolving the defect.
Major-Able to continue test execution but mandatory to resolve before releasing the defect
Minor –Able continue test execution but may or may not resolve

Types of bugs/defects:

1. User Interface defects (Minor)
2. Input domain defects (Major)
3. Calculation defects (Major)
4. Hardware defects (Critical/Show stopper)
5. Error Handling defects (Major)

No comments:

Post a Comment