QA Madness Blog   How to Write a Bug Report: a Brief Guideline

How to Write a Bug Report: a Brief Guideline

July 8, 2021 Reading time: 6 min

Out of all the test artifacts, there is a one software tester encounters every day. It is a bug report – a document describing a problem, its severity and priority, and the steps that allow reproducing this problem. Using bug reports, developers can quickly identify what part of code works incorrectly and fix it.

A well-written bug report guarantees efficient cooperation between a developer and a QA team. Therefore, creating good bug reports is one of the most important skills for a software tester. So how to make a bug report that will make developers happy? We’ll share some tips based on the experience of our QA specialists.

How to Write a Good Bug Report

When it comes to documentation writing, there is a universal rule you can use: make it simple. The simpler, the better.

However, simple doesn’t mean short. Bug reports should feature the details that let a reader understand the nature of a defect. In other words, there should be enough information to see how the described behavior is a bug and reproduce it.

Meanwhile, you should avoid any extras that don’t add new information to what’s already been written.

So what does ‘good’ stand for? We can say a bug report is efficient if:

  • a defect has a specified unique number assigned to it;
  • this defect is reproducible, not a one-time occurrence;
  • a description is specific and covers only one issue.

Don’t try to use bug reports as incriminating evidence that someone has made a mistake. Use meaningful information and avoid harsh wording. Always check your writing before you submit it.

Make sure to recreate a defect two or three times before you start documenting it. Don’t include more than one defect in your report. Finally, before you report a new bug, make sure it doesn’t appear on the list of known defects yet to avoid duplicates.

Bug Report Structure

If you are looking for a bug report example, we’ll recommend starting with theory – namely, with a list of things a bug report should feature. To provide a document that will be helpful for a client’s team, our software testers include the following information in their bug reports:

  1. Summary.

  2. Product.

  3. Platform.

  4. Status.

  5. Priority.

  6. Severity.

  7. Preconditions.

  8. Steps to reproduce.

  9. Actual result.

  10. Expected result.

  11. Attachments.

You can use this list as a plan for your own bug report. Below, we’ll provide a brief explanation of every point.

1. Summary

A summary is a short description of an error. Ideally, it should answer three questions: what, where, and when. For example: (what?) Console Error appears (where?) on the Statistics tab (when?) after a user clicks the Download button.

Sometimes, however, you can skip the where part. For example: an application crashes after a user clicks the Sign In button. You can specify the page where it happens or skip this part if there is only one place to find the form and the mention of it is self-explaining.

2. Product

This part usually indicates a version of a build under test that features a bug you are describing. A QA specialist provides this information so that a developer can compare the latest tested version of a product with a previous one and see what has changed. It makes it much easier to identify what caused the defect.

3. Platform

A software tester should mention on what platform the defect appears. For desktop projects, we indicate an operating system. For web projects, it is browser information that matters the most. As for mobile projects, a QA specialist should indicate a device model and a version of an operating system it uses.

4. Status

A bug status keeps all members of the development team updated on the bug fixing process. The status lets you know whether a developer has accepted the bug, whether it has been sent for retesting, fixed and closed, etc. The variety of statuses depends on the workflow a team uses.

5. Priority

Bug priority shows how critical the defect is for the business and determines the order of fixing. Usually, a Product Manager, a Product Owner, or a Team Lead assigns the priority.

There are three levels of priority:

  • P1 – High: needs to be fixed immediately.
  • P2 – Medium: needs to be fixed after high-priority defects.
  • P3 – Low: fixed in the last instant, after there are no P1 and P2 defects left.

6. Severity

Unlike the priority, the severity is assigned by a software tester based on how dangerous a bug is for the system, to what extent it affects the critical functionality, etc.

  • S1 – Blockers: it is impossible to use an app due to the defect.
  • S2 – Critical: a defect blocks a part of the functionality, but there is an alternative way to use it.
  • S3 – Major: a defect affects a part of the functionality, so that a feature works, but not correctly.
  • S4 – Minor: a defect doesn’t interfere with the core functionality, but rather with UI/UI aspects.
  • S5 – Trivial: a defect has a minimal impact on the overall functionality or performance of a software product, like a misspelled word or a grammatical error.

Bug Severity vs Priority, or How to Manage Defect Fixing

7. Preconditions

Preconditions describe the necessary actions or parameters to execute or meet before executing the steps that let you recreate a defect. No particular format is required for this description, just make sure to keep the list and order logical.

8. Steps to Reproduce

The best way to describe the steps is to provide a numbered list with the sequence of user actions that end with discovering a defect. Use simple sentences to suggest what to do next. For example:

  1. A user opens the Statistics tab.
  2. The user clicks on the Save button.
  3. The user refreshes the page.
  4. … and so on.

9. Actual Result

An actual result is a problem that happens after a person follows the steps mentioned above. Describe the result using the rule mentioned in the summary, stating what happened, where, and when. It will help a developer understand what the problem is. Besides, such concise and accurate descriptions will also be useful for a QA team in the future.

10. Expected Result

In this paragraph, describe an expected outcome of the listed steps – in other words, how the application is expected to behave. That’s why an expected result can imply an error – in case a QA engineer checks a negative scenario. For example, if a user enters incorrect credentials, they cannot sign in to the system and see an error message.

11. Attachments

Attachments are extras that can come in a bug report. It is often easier to reproduce a defect using visual guidelines, especially if it is complicated to describe the steps or the result verbally. Screenshots or short videos attached to the textual description help to prevent any misunderstanding. Just remember that visual materials should be relevant and clear.

Bottom Line

It is important to create the documentation other team members can understand and use easily. Besides, it can save a lot of time and effort in the future, when the project grows and new members join the team. Now, you know how to write a bug report in manual testing. Even more than that: you know how to create a report the developers will enjoy. So save the bug report outline and make good use of it. 😉

Latest Posts

Automated Testing for a Desktop Application: Benefits, Particularities, and Actionable Tips

April 19, 2024 Reading time: 23 min
There’s no good without the bad. So, if you’re contemplating automation for your desktop app, wanting to enjoy all its benefits – think twice. Because it comes with quite a few struggles. That
Read more

Your Guide to Automated Integration Testing

April 12, 2024 Reading time: 11 min
Automation is a dilemma. Do you need it? Is it worth it? Allow us to cease your hesitations. Automation testing services are a true gift to your project’s performance and your team’s development.
Read more

Change Your Mind About Unit VS Integration Testing To Support Your Product’s Progress

April 1, 2024 Reading time: 19 min
Software complexity is going up. User-centricity is taking over. And businesses get lost in all the tiny and mammoth tasks. We get so caught up in the bullet-speed progression of technologies that we
Read more

Don’t Take Software Integration Testing for Granted – Run It Like This

March 22, 2024 Reading time: 16 min
Test early. Test often. A principle all companies should live by. And most of them do. But it seems a certain type of testing has been left out of this golden rule for
Read more

Make Your Product Feel Homey with These App Localization Testing Tips

March 18, 2024 Reading time: 19 min
When you think about mobile app localization testing, what comes to mind first? Probably translations, currencies, date formats… And you’d be correct in tending to these aspects. But that doesn’t do justice to
Read more

Blog