I recently discovered why being able to reproduce a bug is really important. The other day, I managed to identify accurate steps to reproduce a bug, and the lead client developer on our team excitedly told me that I had just saved the team several hours of research. By identifying the steps that lead up to the bug rearing its ugly head every time, I was able to make it clear that the source of the bug was with the client team. If I hadn’t been able to figure that out, one of the service developers would have spent a great deal of time trying to discover how to fix it before sending it to the client team.
The problem was, I had logged the bug several days before but later found that my steps were not spot on. I thought I had identified the cause of the issue, but the steps that I had originally documented would not reproduce the issue every time. This made it really difficult for the developer team who were assigned to find the bug’s cause. It was while I was testing another issue that I realized what the the problem was and so could update the bug ticket. This experience drove home to me the importance of not only reporting a bug, but documenting it correctly.
Why Steps to Reproduce an Issue are Important
The most important information included in bug documentation are the steps to reproduce it and here is why:
Prioritize
By including the path to the bug, anyone who wants to examine the bug for themselves can follow the steps and understand exactly what is being reported. This is key for product owners who are prioritizing and assigning a severity level to bugs and stories. Without a clear understanding of the issue, it can be mis-prioritized and released into production when it should first have been fixed. Or, the issue could be misunderstood and fixed when the development team should have been spending their time on more important issues instead.
Allocate Resources
As I described in the introduction, getting the bug assigned to the correct team is extremely important. It all starts with QA. A single screenshot of a bug doesn’t usually contain enough information to allow the issue to be assigned to the correct team. But providing the written steps that lead up to the bug screenshot, or a video of the steps, will make it easier to allocate the correct resources to the issue.
Recreate
The first thing a developer will do when taking on a bug fix is to reproduce it in the development environment. If the steps to recreate the issue are not accurate or the steps don’t result in the bug happening every time, the developer may assume the issue has already been fixed as a side effect of another issue and so assign it back to the QA team for testing. It’s these kinds of delays that can really delay progress.
Test It Again
Before submitting a bug report, do your due diligence. Test the bug in other environments with a variety of devices or browsers, perhaps with other user types. Any additional information that can be included might end up being crucial. If a developer is attempting to reproduce a bug on a different OS in a different environment, there’s a good chance they won’t be able to reproduce it and so may ask for additional information. Documenting these things ahead of time will save the team time and money.
Conclusion
Taking some extra time to verify that you have the right steps to reproduce an issue is crucial to preventing a bug being passed around between teams. Not only will that delay the fix, but it can also cause frustration for the individuals attempting to chase down the issue. So as an important contribution to testing leading to the eventual product release, accurately recording the steps leading to a bug is an absolute must.