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...

As someone with over 20 years of software development experience and currently a small business owner, it has been a pleasure working with Avonelle. In addition to being a talented developer, Avonelle also has database expertise and system design skills. Avonelle is open minded and willing to discuss various methodologies for achieving a project goal. She is also not afraid to ask questions which is vital in a software development project. Her up-front project cost (not estimate) is very helpful in budgeting for a project.

--Dwayne Wolterstorff, Owner @ Fair