We are hiring

What is a bug report? The ins and outs of bug reports.

bug reporting workflows by usersnap

This article is brought to you by Usersnap – a visual feedback & bug tracking tool, used by software companies like Facebook and Microsoft.

If you’re new to bug tracking, issue management or web development in general, you might wonder what a bug report is.

In this blog post, we will be answering this question from different viewpoints. And trust me, it’s not going to be boring.

We always talk about bug reports…

…but never explain what they are.

I just noticed that we at Usersnap haven’t answered this core and essential question.

We’ve more than 1.000 sites indexed by Google, we’ve published 283 blog posts on our blog to date, we have written multiple guest posts on other sites, and we gave some talks on the do’s and don’ts of bug tracking.

usersnap on google
However, we haven’t answered this core question not even once.

However, we did cover a lot of topics in the area of bug reporting.

For example, I’ve shown you 6 easy bug reporting tricks, answered the 4 W’s of bug reporting and gave you some insights on bad bug reports. I’ve even shown you how to set up a bug-free web development environment.

Nevertheless, I haven’t answered the simple – yet important – question.

But today, I am finally tackling this issue.

Not even Google & Apple are interested in bug reports?

Ironically, Google doesn’t answer this question either. If you search for “bug report” on google.com, the first entry is a link to Apple’s bug reporter. (That is before we published this post 😉)

google results

I think that’s pretty hilarious because Apple’s bug reporter is often criticized. Even by Apple developers.

Just recently, Eddy Cue and Craig Federighi admitted in The Talk Show by John Gruber (highly recommended podcast episode!) that their bug reporting workflow with external app developers is not really great. So, even Apple’s management team admits that their workflow is not great. It’s a bit funny that a company of that size has no proper bug reporting workflow in place.

What is a bug report?

In order to answer this question, we need to understand the following concept of bugs, bug reports and bug reporting software.

what is a bug

What is a bug?

In the context of software development, engineering or web development, a bug is not despite its name a little animal, but to something else.

According to Wikipedia a software bug (or just a 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.

So in short, this means:

A software bug is an error, flaw, failure, or fault that produces an incorrect or unexpected result.

Basically, a software bug is something which is not working as designed.

Why is called a bug then? The origin of a bug.

You might wonder, why a bug is called a bug? It’s a great question, because the term bug, describing a software error or failure goes way back to 1945. In late 1945, at the University of Harvard, a technical team found something unusual between points in Relay70. They found a real dead bug (the animal) which caused an error.

As stated in the bug log, it’s the “first actual case of bug being found“.

First bug reported!

So, in theory, a bug is something not working as designed.

But what if something is not designed as it should be? Is it a bug then? As you can see, this question alone leaves a lot of room for interpretation.

No matter if you’re a developer, designer or user of the software. Chances are high that you’ve stumbled upon a bug in the past, or maybe you even caused a bug yourself.

What is a bug report?

So here’s the core question: What is a bug report?

If bugs occur (which they certainly do), the person finding the bug should be able to report (document & send) the bug to people in charge of fixing that error or failure.

According to Yegor, a bug report “should explain how exactly the product is broken.

He continues that the report should follow this simple formula:

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

This sounds easy, right? In practice though, a bug report (and what documentation is included) isn’t that clear.

Imagine you encountered a bug and wanted to send in a report. What information would you include? I guess everyone would answer that differently.

In the past, bug reports were lengthy forms including various fields and data requests. What’s the priority of the error? What’s the problem description? What are the components? Which browser version are you using? And so on…

bad bug report example

Good vs. bad bug report

So you might wonder, what’s the difference between a good bug report and a bad one. And why are there so many bad ones out there?

I collected some statements about this issue in order to distinguish between the two of them:

👍 A good bug report contains the information needed to reproduce and fix problems

👎 A bad bug report does not contain the information needed to reproduce and fix problems

👍 A good bug report is an efficient form of communication for both bug reporter and bug receiver

👎 Lengthy, inefficient form of communication for everyone involved

👍 Can and is resolved as fast as possible

👎 A bad bug report never gets resolved

👍 A good bug report is sent to the person in charge

👎 Contains no specific information

👍 A good bug report is filed in a defined way

👎 Gets filed in any medium available, but not in the defined way (hint: Twitter isn’t a good way to file a bug report ;-))

👍 Establishes a common ground for collaboration

👎 Doesn’t enable collaboration

So, how would I sum up my answer to the question: “What is a bug report?

A bug report is something that stores all information needed to document, report and fix problems occurred in software or on a website. And in the best case scenario: This is done in the most efficient manner possible.

I’ve created this bug reporting checklist in order to get a feeling on what questions a bug report must answer.

Let me also know your thoughts on what you think a good bug report is:

What is a bug reporting system?

There are a lot of different expressions used to describe and name a bug reporting system. So here are just a few names:

  • Bug Reporting System
  • Bug Tracking Software
  • Issue Tracking Software
  • Issue Management Software
  • Defect Tracking System

No matter which name you prefer, a bug reporting system is an application “that keeps track of reported software bugs”.

Therefore, a bug reporting software allows you to report, document, store, manage, assign, close & archive the reports. Here’s an example of how a bug report would look like in a bug reporting software:

Usersnap Bug Report with metadata and annotated screenshot
Report bugs with screenshots and illustrations directly from your browser and get metadata to help recreate the environment with Usersnap.

Some top bug reporting tools for you to check out:

  1. Airbrake
  2. Bugherd
  3. FogBugz
  4. Usersnap
  5. Ybug

Recap

All in all, I’ve shown you the basics of bugs, bug reports and bug reporting systems. There are a lot of further do’s and don’ts when it comes to the bug reporting workflow, from bugs to no bugs.

bug reporting workflow

This article is brought to you by Usersnap – a visual feedback & bug tracking tool, used by software companies like Facebook and Microsoft.

Summary
What is a bug report?
Article Name
What is a bug report?
Description
If you’re new to bug tracking, issue management or web development in general, you might wonder what a bug report is. In this blog post, I try to answer this question from different viewpoints. And trust me, it’s not going to be boring.
Author
[{"code":""30 days before Christmas
[{"code":""30 days before Christmas
is my 30 days of happiness"."
is my 30 days of happiness"."
"label":"30 days free trial"
"label":"30 days free trial"
"win":true}
"win":true}
{"code":""I'm up in the sky with joy about this Free Upgrade"."
{"code":""I'm up in the sky with joy about this Free Upgrade"."
"label":"Free Upgrade"
"label":"Free Upgrade"
"win":true}
"win":true}
{"code":""25% off for 6 months? Yaaas!" Or simply apply coupon BLACK25 upon check out."
{"code":""25% off for 6 months? Yaaas!" Or simply apply coupon BLACK25 upon check out."
"label":"25% Off Coupon"
"label":"25% Off Coupon"
"win":true}
"win":true}
{"code":""I love Usersnap so much I'm going to wear it"."
{"code":""I love Usersnap so much I'm going to wear it"."
"label":"Usersnap Tshirt"
"label":"Usersnap Tshirt"
"win":true}
"win":true}
{"code":""30 days before Christmas
{"code":""30 days before Christmas
is my 30 days of happiness"."
is my 30 days of happiness"."
"label":"30 days free trial"
"label":"30 days free trial"
"win":true}
"win":true}
{"code":""I'm up in the sky with joy about this Free Upgrade"."
{"code":""I'm up in the sky with joy about this Free Upgrade"."
"label":"Free Upgrade"
"label":"Free Upgrade"
"win":true}
"win":true}
{"code":""
{"code":""
"label":"Not your day!"
"label":"Not your day!"
"win":false}
"win":false}
{"code":""25% off for 6 months? Yaaas!" Or simply apply coupon BLACK25 upon check out."
{"code":""25% off for 6 months? Yaaas!" Or simply apply coupon BLACK25 upon check out."
"label":"25% Off Coupon"
"label":"25% Off Coupon"
"win":true}
"win":true}
{"code":""30 days before Christmas
{"code":""30 days before Christmas
is my 30 days of happiness"."
is my 30 days of happiness"."
"label":"30 days free trial"
"label":"30 days free trial"
"win":true}
"win":true}
{"code":""I'm up in the sky with joy about this Free Upgrade"."
{"code":""I'm up in the sky with joy about this Free Upgrade"."
"label":"Free Upgrade"
"label":"Free Upgrade"
"win":true}
"win":true}
{"code":""
{"code":""
"label":"Spin again"
"label":"Spin again"
"win":false}
"win":false}
{"code":""
{"code":""
"label":"Trip to Vienna"
"label":"Trip to Vienna"
"win":false}]
"win":false}]