Benjamin Franklin has a famous saying that goes, “In this world nothing can be certain, except death and software bugs”.
Actually, I think it was taxes, but it may as well be software bugs. The truth is, every complex piece of software is going to have bugs no matter how good your team of developers may be. Since bugs are a given, it’s good to know how to deal with them.
Bug Fixing Aptitude Test…
If you lost your keys in my house, and I knew where they were, which answer would be most helpful?
A) In my house
B) In my living room
C) In my living room, under the sofa cushion, next to the melted M&M’s and dog hair
If you guessed “C” then there is still hope for humanity (and app developers). You see, my house is pretty simple too. I don’t have any crazy trap doors, mazes, or winding hallways. My house is like a simple app, but what if my house was like the Winchester house with doors to nowhere? You would probably want to give directions on how to get to the room where you lost your keys.
“Go through the front door, take a left, go up the stairs, find the blue book on the bookshelf, pull it, go down the secret winding passage, and look under the seat cushion.”
Now those are some good directions. Okay, enough nonsense!
Apply Our Lesson to Bug Hunting
My point is that details matter, and that the more complex something gets, the more helpful details become. Just like finding your keys in my house, it helps out a lot if you tell your developer where you are experiencing a bug, and how you got there. For example, let’s say you’re experiencing an error on the messaging screen, it would be helpful to say the following:
“After starting the app, I received a message from user2. I navigated to the messaging screen, and as I opened the screen, the app had the ‘start video call’ button out of place on my iPhone 5. Take a look at the attached screenshot.”
This was a great bug report for several reasons. This report includes…
– The device the bug occurred on.
– The sequence of events that produced the error.
– The circumstances that might have led to the bug.
– A visual description of the bug, and a screenshot!
That makes for a happy developer.
Bug Squashing Tools?
Now you’re a bug reporting pro. I can see you’re still wondering though, if you’re a Designli client, how will you be reporting bugs?
Asana – Asana is primarily a project management tool, but we use it for bug fixing with our clients as well. We have several headings for each stage in the bug-fixing life cycle. I won’t get into that, but for reporting a bug, we like to see the following:
– A new task for each bug report, and all discussion about that bug within that task
– All relevant details on how to reproduce the bug
– Screenshots showing the bug
Instabug – This is a super useful tool we just started using. Once we implement the SDK into an app we are building, it allows clients to point out where a bug is in an app simply by simply shaking their phone, circling where the bug is, and then adding a description to be sent directly to the developer.
What’s really cool about Instabug is that it can be integrated directly into Asana. If you’re an app developer, I highly recommend that you check it out!
Email – As much as we like to stay far, far away from email, it still suffices in a pinch. Email is incredibly inefficient for bug reporting, but if you have to, make sure each bug is clearly defined. It’s always painful when five bugs are lumped together in one chunk of text and, without screenshots, it gets even worse!
Text Message – It can be tempting to submit a bug report this way, but don’t. Texting is super inefficient! Phones were designed to watch YouTube videos while on the porcelain throne. Not bug reporting.
Well, that’s all for now folks! Good luck with your bug squashing endeavors.