Business-focused custom software

Go Back

The life and times of a software detective

magnifying_glass_resizedA lot of the work I do involves looking for clues. Last week I upgraded a web app to allow users to upload photos of their properties. As my customer started testing, one user reported that they couldn’t access the photo upload page – an error was always generated. They tried with different accounts but the result was always the same. We assumed that there was something funky with their user accounts, and in fact they did discover some duplicate records that we suspected were the cause.

We were wrong.

As it turns out, the problem was much more mundane. No matter what account they used to access the system, they were always trying to attach the photos to the same properties. And those properties didn’t have phone numbers. And my code was trying to format the phone numbers, and broke when phone numbers didn’t exist.

Oops.

But here’s my point: fixing bugs can be real detective work. You have to first identify the true cause of the problem. Sometimes the culprit looks shady, so he is easy to find. Sometimes there aren’t any obvious clues and the culprit is elusive. And sometimes the shady-looking character is innocent and the real villain is dressed like a sweet little old lady.

I always thought she looked suspicious.

Anyway, that’s one of the reasons why in most of the applications I write, I try to make it easier to find those clues. For example, I’ll log errors to a file to help me pinpoint some of the specifics of the problem. And you can help me with my detective work. The more information you can give me about what you were doing when the problem occurred, the more likely it is that I will find that evil-doer and bring him to justice. Uh, I mean, find and fix that bug.

  • Facebook
  • Twitter
  • Digg It!
  • StumbleUpon
  • Technorati
  • Del.icio.us
  • Reddit

Comments  2

  1. Shannon Henry 31 Jul

    When I was doing software QA, our department developed a phrase about this - "there will always be a cat in the waffle iron."

    What? You don't understand? ;-)
    One of my coworkers from that time has written up the story for his site, so I'll let him explain it: http://www.davidsafar.com/cat-in-the-waffle-iron/
  2. By Avonelle Lovhaug on 31 Jul

    Shannon - that is a great story! I agree that no matter how complete your testing, there will always be something you haven't considered.
Post a comment!

Formatting options
   
 
 
 
 
   

Wanna Subscribe?
Here's the RSS Feed

What the critics are saying...

Avonelle is an incredibly talented software developer. She works fast, is economical, and offers great insights into the project at hand. She is also not afraid to speak up when she has concerns about a decision or approach. We’ve utilized her talents on many of our software development projects over the years.

Carrie Rocha, Chief Operating Officer @ HousingLink