DEV Community

Nicola Lindgren
Nicola Lindgren

Posted on

Dealing with Intermittent Bugs

This was originally posted on my personal blog: nicolalindgren.com

Intermittent bugs can be a frustration for the entire team. You may be lucky enough to uncover it before it reaches any beta testers or you may find yourselves having to figure out what the hell happened because a customer (or several) has reported it but you are struggling to replicate it.

Here are some ideas on how to deal with intermittent bugs.

Gather information about the bug

This can be easier said than done as you might not always have easy access to the person who came across the bug. I’ve been on the receiving end of bugs with vague descriptions and no information on OS, device, error message etc. When possible, I do try to gather the following information:

  • When did it occur? (exactly what time)
  • Which device?
  • Which Operating system?
  • Were you able to replicate it later?
  • What error do you see? (exact wording)
  • Screenshots
  • Exactly what did you do before the bug

To be honest, I rarely receive all of this information, but I do ask for it in case I am able to get some of this information that can help narrow it down.

Look at the logs

One of the reasons I like to ask when it occurred (exactly what time) is so I can see if anything happened in the background etc. at the same time (or around the same time) that could have caused this to occur.

Looking at the logs can also give us more information as to exactly what happened; what the issue was.

Timebox the investigation

I find it can be easy to lose track of time and continue investigating but not get anywhere. I tend to timebox the investigation if I don’t receive any additional information.

I’ll let the product owner/delivery lead etc. know that I will look into this for X time, but also that I will park it after I have taken notes on what I have tried and what happened.

Which leads me to…

Record what you have tried (be specific)

Just because you haven’t replicated the issue, doesn’t mean what you have tried doesn’t have any value.

I like to be specific and write exactly what I tried (when, on what device etc.) and what happened, then add these comments against the bug in the bug tracking tool.

This can help you (or someone else) later when you need to investigate the issue further if you didn’t manage to solve the mystery the first time around.

Pair with someone

Pairing with someone means you can bounce ideas off another person. It can be easy to get stuck or hit a rut when you are trying to tackle something like this yourself.

If you pair with someone, they can give you ideas of things you haven’t tried yet and you can ask each other “what else can we try” or “what else could we be missing?”

Do you have other ideas on how you handle intermittent bugs? What do you do when you come across them?

Let me know on Twitter! @NicolaLindgren

Top comments (0)