How to Handle Intermittent Bugs

One of the greatest challenges that a tester comes across in his testing is dealing with intermittent bugs. These are mysterious, undesirable bugs  that have been observed at least once, but cannot be easily re-created. Or in simple terms, they are also called as ‘non-reproducible’ bugs. Most of the testers would have come across situations quite often in their career where some bugs cannot be reproduced again. Usually, the common answers offered by testers for this kind of bugs are

  • This bug is not producible always. We have captured the log.
  • It doesn’t occur if we re-start the application
  • It will take significant amount of time for the investigation

But then, non-reproducible bugs are errors of the testers even though they may not agree. Moreover this is true for Technical Support & Testing functions.

It’s tough for developers to work with such bugs and testers get lots of objections over such bugs. If number of such bugs is more, then it might spoil the relationships between testers and developers. The ability and the confidence to investigate an intermittent bug is one of the things that mark an excellent tester. The real challenge for the tester is to transform the intermittent bug into a regular bug by resolving the mystery surrounding it.

There are a few situations, where an actual intermittent bug can exist in a system. Some of them are

  • The defect is observed in one build, but it doesn’t occur in the next incremental or future release of the build.
  • Errors due to environment issues such as when a database server or application server is down, or there are network issues

It is true that systems don’t have the power of human brain to remember mistakes and correct them. People are conscious and do not repeat the same mistake. A system doesn’t have that much capability in terms of thinking and they do perform the sequence in which they are coded for.  And hence, a tester can transform an intermittent bug to a normal bug, when extra effort and documented process for bug reporting is done.

The following might help testers improve their skills in order to reproduce such issues.

  • Try to capture the story around the issue and not just steps.
  • Capture the complete Test Environment.
  • Capture all the available Test Execution Results. This includes your test data, screen shots, applications logs, system logs, server logs.
  • Have more patience (they won’t occur easily).
  • Develop better observation skills on the application behavior under test
  • Narrate the story around the issue to the stake holders to corner the issue.
  • Confirm with other team members and avoid raising intermittent bus arising due to network problem, server issues, etc.
  • Try alternate Approaches to produce the error.

Leave a Reply