What Do You Do When You Can’t Reproduce a Bug?

Posted in: Bug reports, Quality assurance testing by: Simon on:

Picture the scenario: you find a nasty bug in the software you’re testing. Then, when you retrace your steps, the bug isn’t reproducing. You can’t get it to repeat no matter what you do. Eventually you give up, write the bug up with as much detail as possible and move on, trying to ignore the fact you couldn’t reproduce a bug.

Later on, a developer tries to reproduce it and can’t. They want to close the bug, they’re skeptical, they look at you suspiciously. Did you really see that bug? Yes? Well, then why can’t you reproduce it?

It’s possibly the most frustrating feeling you can encounter as a tester. However, it can be easily avoided with a little planning.

How to make sure you don’t miss bugs in the future?

You have various options for recording your test sessions. The most obvious thing to do is to record your screen as video. You’ll be able to see what occurred, your onscreen actions will be recorded, and you’ll have irrefutable proof that the bug did occur. Video is probably the best way to go if you’re testing a game where inputs and screenshots can’t tell the whole story.

The downside to video is that it is quite intensive, it’s a drain on the system and it takes up a lot of storage space. It may also miss out on pertinent environment data and inputs. Use the right tools and set up a loop that only covers the last hour and you can mitigate some of these problems.

For some software or website testing, a good screenshot tool will suffice. You can configure it to take screenshots of each stage automatically or you can just be ready to capture a screenshot when you need to. This will help you to secure proof that a defect did occur, but it won’t always enable you to reproduce a bug.

A better solution is to get a test execution tool that records all of your manual testing inputs as you work through a test. This kind of software will pick up every key stroke and also capture information about your environment. This isn’t just useful for ensuring you have the necessary steps to reproduce a bug, it can also serve as the basis for automated regression testing.

These systems can help make sure you never have this problem again, but what if you didn’t have any recording in place?

reproduce a bug

Image source: unknown

What to do when you can’t reproduce a bug?

Retrace your steps and try to recreate the situation as closely as possible. You might need to restart applications, you might need a specific combination of applications running on your machine. It’s worth going back to the start to see if you can get it to repeat.

No luck? Search the database for a similar issue. Try asking other testers and developers if they’ve seen anything like it. Even if they haven’t, this will at least put it in their minds and they’ll keep a watchful eye out.

Write it up as best you can. Put in all the details you’re sure of, but note that you have been unable to reproduce the bug and explain what you tried. A developer may have an idea of what would cause a bug like that and work out a different way of reproducing it. It may spark an idea for them based on the code they’ve just been working on, so it’s always worth reporting.

All you can do after that is keep an eye out for it. Sometimes bugs will be inadvertently fixed by updates. In the world of deadlines, there’s simply no way you’re going to catch them all.



Simon is the founder of Crowdsourced Testing. After 10 years in interactive software development, he set his sights on building a world-class crowdsourcing platform to facilitate the software testing process for developers.