Introduction

We need to understand the following concept of bugs, bug reports and bug reporting software.

bug

What is a bug?

A bug is a general term used to describe any unexpected problem with a software Application. According to Wikipedia, a software bug can be defined as:

“A software bug is an error, flaw, failure, or fault in a computer program or system that causes it to produce an incorrect or unexpected result or to behave in unintended ways.”

Hence, in short, this means that a software bug in a software is a condition, which does not meet a software requirement or an end-user expectations, which causes a program to malfunction or to produce unexpected or incorrect results. A program which contains a large number of bugs is said to be a buggy program.

Where did the term computer bug come from?

This is really a great question. For it, we have to go way back to 1945.

According to Wikipedia,

In 1946, when Hopper was released from active duty, she joined the Harvard Faculty at the Computation Laboratory where she continued her work on the Mark II and Mark III. Operators traced an error in the Mark II to a moth trapped in a relay, coining the term bug. This bug was carefully removed and taped to the log book. Stemming from the first bug, today we call errors or glitches in a program a bug.

bugs

Thus, in theory, a bug is something, which is not allowing the program to work, as defined.

What is a bug report?

A bug report is a documentation, which clearly explains, how the product is broken. A bug report is something which stores all the information and data required to document, report and fix problems that occurred in a software or on a Website.

A bug report follows a simple formula:

“This is what we have, this is what we should have instead, so fix it.”

Every good bug report must answer the following questions:

Good vs. bad bug reports

What is bug reporting system?

A lot of different expressions can be used to describe the bug reporting system and some of them are as follows:

No matter which name you prefer, a bug reporting system is a software Application, designed to keep track of the reported bugs in a software/Application.

A major component of a bug reporting system is a database which records all the reported bugs. A bug may include bug reporting time, its severity, steps to reproduce the bug, who reported it and who is fixing the reported bug.

Typically, a bug reporting system supports the concept of a bug life cycle, which is tracked through the status, assigned to the bug. The software should allow the authorized users to create, move the bug to another state or delete the bug, to configure the bug status and bug fixing urgency.

In software development process, the bug has a life cycle. The bug should go through the life cycle to be closed.

bugs

Wrapping it up

I have shown you the basics of a bug, bug reports and bug reporting systems. No doubt your bug report should be a high quality document. The main focus of a tester should be on writing good bug reports and spending some time on this task, because this is the main communication point between the tester, developer and manager.