How to Write Better Bug Reports
I was driving on the motorway and the warning light came on. Low fuel. I was 30 miles from home and it was 10 miles to the next service station. I decided to stop rather than risk a breakdown on the motorway!
I filled the car up with petrol but there was one problem. Diesel cars don't work very well when you put petrol in them.
You might have a great app but if you provide your developers with poor quality bug reports, development cycles will take longer and the app's quality will suffer.
The frustration of poor quality bug reports
Have you ever heard one of your developers say any of the following?
“Why is every bug ALWAYS urgent! Did anyone triage these bugs?”
“What’s the point of attaching a screenshot of an error message”
“I can't reproduce this bug, the steps are so vague”
“Another duplicate bug”
“This isn’t even a bug!”
You can appreciate the frustration that developers must feel towards poor bug reports. Imagine you were putting together flat pack furniture and the instructions consisted of unclear steps, duplicate pages and irrelevant images. You would take it back! It’s no wonder developers reject bugs that they don’t understand.
Many of the Product Managers we speak to always say the same thing: poor bug reports mean the QA team takes too long moderating bugs.
How to write a good bug report
Reporting a good bug isn’t difficult, but finding the time to do it well is. Developers have many bugs to review so bug reports have to be precise and clear.
Bugs that can’t be reproduced, won't get fixed. Duplicate bugs, or irrelevant bugs, waste a huge amount of time in the development cycle.
Let’s take a step-by-step look at the seven things that make a good bug report.
1. Bug ID number
A bug ID number makes finding a bug much easier. It’s also simple for the developer to get an update on any bug when required, e.g. has it been fixed or not? Without this information, it makes it very difficult to track bugs.
A clear summary of the bug helps the developers to understand it and the problem it's causing. Good grammar and spelling are often overlooked too. Remember, developers need to quickly decipher what the bug is; make it as easy as possible for them to avoid bug rejection.
3. Bug priority
Not every bug is urgent! There must be a clear severity scale that the whole QA team adheres to. The priority of a bug is critical because developers will fix bugs in order of priority. If this is wrong, more urgent bugs will take longer to be fixed.
4. Device/operating environment
The device and OS combination is essential for a good bug report. Without this, it makes it very difficult for the developer to reproduce the bug correctly. An application may behave differently if the wrong combination is used.
5. Steps to reproduce
Clear and accurate instructions that will help the developer reproduce the bug on their machine. The steps need to be as specific as possible. If the developer cannot reproduce the bug, it will get rejected and have to be rewritten − more wasted time.
6. Expected and actual outcome
The developer needs to know the expected outcome of the bug and what actually happens in order to verify it’s been fixed. As much information needs to be given as possible.
A clear description and reproducible instructions of the bug are essential but a screenshot and video will capture the error more effectively. Without a screenshot or video, it places more emphasis on other elements of the bug report. It also results in a higher chance of a bug being misunderstood and rejected.
Sample bug report information
Summary: The shopping cart page behaves normally and allows all information to be inputted until the Buy now button is clicked on Summer Sale page. This causes the “Error #123” to display and a screen freeze
Platform: Windows 10.01
Steps to reproduce:
- Open terminal in Windows 10.01
- Open Summer Sale page
- Add items to shopping cart
- Complete required fields
- Click Buy it now
- Error #123 displays
- Screen freezes
Actual outcome: Click ‘Buy Now’ button resulting in error page and screen freeze.
Expected outcome: Click ‘Buy Now’ button and be redirected to the ‘Order Complete’ page.
The advantages of bug moderation
Often testers feel that reporting a bug is more time consuming than finding the bug itself. It’s crucial to remember, a good bug report will always save time in the development cycle, improve quality and enhance the working relationship between the testers and developers.
Educating your QA team to produce good bug reports is part of the solution. Remember, ensure it doesn’t have a negative effect on the speed of testing as this will cause fewer bugs to be found. The key is consistency. When a developer reads a bug report, it must have a consistent narrative.
One of the biggest challenges that our clients face is their QA team spends too much time triaging bugs. This is an incredibly inefficient use of their time.
Bug moderation, or bug triage, can help improve bug reports significantly which will save time for developers and improve the quality of the product. Our enterprise clients like Spotify and Warner Bros love that we have strong moderation and reproducible steps in the bug reports we send them.
Getting your bug reports right is so important; just ask your developers! Here's a summary of my tips to what makes a good bug report:
- Bugs that can’t be reproduced, won't get fixed.
- Duplicate bugs, or irrelevant bugs, waste a huge amount of time in your development cycle.
- Poor quality bug reports will lead to delays in development cycles and your app's quality will suffer.
- They also mean your QA team will take too long moderating bugs.
- Use our seven tips for makes a good bug report and download our free bug report template.