search for bugs in the code

Bug tracking, reporting and fixing are integral processes in software development. Among all of these tasks, reporting may seem to be the least important one, but it isn’t like that. The better the report is, the faster the bug gets fixed. In turn, if the report doesn’t provide all the essential details or does this in the wrong way, fixing the bug will take more time, effort, and money.

We have collected the most efficient practices on bug reporting that will be useful for novice QA testers.

How to Write a Bug Report? Best Examples and Practices

You detected a bug, so your next step is to report it. Here are the recommendations for creating an effective bug report.

Provide All the Essential Details

A good bug report has to contain:

Bug Number

Each report should have a unique bug ID — it is used to reference a specific issue when discussing, prioritizing and fixing it. If you are using an automated bug-reporting tool (or something more universal like Jira), the number will automatically be created and added to your report.


A title should briefly explain what is wrong. For example, “The Contact Us button doesn’t work”. By taking a look at the title, your team will get a basic idea of the issue and understand if it occurred earlier.


If you don’t specify the environment, it may be impossible to reproduce the bug. For example, you detected a bug in the iOS version of the app. Then a developer tried to reproduce it in the Android version, but nothing happened — everything worked fine. Such situations are possible, so always provide details about the environment. They may include the following:

  • – Device (specify the exact model)
  • – OS and its version
  • – Account used
  • – App version
  • – Browser and its version
  • – Connection type

Steps to Reproduce

Any bug should be reproducible, otherwise, it won’t get fixed. Therefore, when creating your report, describe step by step what actions lead to the bug occurrence. Miss nothing, even the most obvious details like logging into the system. It would also be useful to try to reproduce the bug on your own several times, and then specify how many attempts were successful in terms of bug activation.

Expected Result

Explain what should happen if you take the reproduction steps when everything works properly. If we take the example of “The Contact Us button doesn’t work” one more time, the expected result can look like this: “The contact form pops up”.

Actual Result

Here you should describe the bug itself. What happens after you take all the reproduction steps? What is wrong? Here is an example: “The contact form doesn’t pop up”.


Attach images and videos — this will speed up the process of bug reproduction.


How critical is the bug? What impact does it have on the functionality of the system? This information will help managers prioritize their tasks, which is especially important when there are numerous bugs to fix. For example, a bug that blocks app usage should be marked as critical, but if there is something like a typo in the copy, you can mark it as trivial.

Your Name

Specify your name and contact details, so that the developers will be able to get in touch with you easily. This may be necessary in case you use no special testing software for bug reporting.


Before we move to the next recommendation, take a look at this example of a good bug report in Jira. It includes the bug number (generated automatically), title, environment, reproduction steps (along with a precondition), both expected and actual results, video, priority, and the name of the reporter:

Your Name

Be Specific

Avoid writing an entire essay — you should stick to the point and be specific. Just provide all the essential details (we described them in the previous paragraph), clearly explain what exactly is wrong and how to reproduce the bug, and that’s it.

Don’t Hesitate

When you detect a bug, don’t postpone the report creation. Just do it right away — otherwise, you may forget some steps essential for its reproduction or just forget to write a report. This is especially important for critical bugs that have to be fixed as quickly as possible.

Double-check the Report

After you are done with writing the report, read it one more time. Can some sentences be misinterpreted? Is there anything unclear? If yes, deal with these issues before sending the report. If you don’t do this, fixing the bug will take more time.

Avoid Criticism

Obviously, bugs are irritating, but criticizing the developers won’t make your report better and more effective. Be discreet (even if the bug is very annoying or occurs one more time after it had to be fixed), and just clearly describe the issue. Remember, a good report is a report written in a simple dry language without any abuse.

Use Tools and Services

Here are some of the most convenient tools and services used by :

Final Thoughts

To create a good bug report, you have to be specific and provide all the details, such as the bug number, title, environment, reproduction steps, expected and actual result, screenshots and/or videos, severity, and your name along with contact details. Write your reports in clear language, don’t criticize the developers and double-check the reports before sending them. And, obviously, don’t hesitate to write and send your reports — do this right after you detect a bug.

As for tools and services, Jira is one of the most popular and convenient options, and your team may be already using it. If so, don’t neglect its features. In any case, the entire team should use one platform for project management, as this ensures proper collaboration and effective task completion. However, some tools (like Bird Eats Bug) can be used independently thanks to their integration features.

Get an unbiased perspective of your app with an actionable report for free

How QAwerk Operates Amidst War
How QAwerk Operates Amidst War