When I release software to testers, I don't actually want them to send me bug reports. I want them to tell me that it's working perfectly! Sadly, there's no way to prove that code has zero bugs. And, given the complexity of the software we work on, bugs are simply a fact of life.

I also heard from someone who feels rather anxious every time he releases new software updates publicly (to the live version of his web-app). Being routinely anxious is a horrible way to work. So, here are some quick tips on how to better deal with bug reports.

1. Expect Bug Reports

Expect bug reports every time you release new code. Do this especially if you've worked long and hard polishing up your code to make it as good as possible, and you're feeling exhausted. Otherwise, the inevitable bug report(s) will feel like a hard blow.

Clearly, this won't help the guy who's getting anxious at every release, because he's already expecting bug reports and dreading them. I suggested he stop releasing updates on evenings and Fridays. Otherwise, a bug report will come in, and there goes your weekend (or evening). You need the weekends and evenings to recharge. Do public releases on Mondays and mornings. Then, you have a week/day ahead of you if any serious bugs arise that need urgent fixing.

2. Be Grateful for Bug Reports

Learn to be grateful for bug reports. Someone else took the time to let you know about a bug, and now you have the opportunity to improve your software. And you do want to improve your software, don't you? Of course you do. Otherwise you wouldn't be a good developer.

People don't have to submit bug reports. It's frustrating, but plenty of people will bitch about the bug to everyone except you. So, be grateful for bug reports. Be grateful for the opportunity to improve your software. With Warp3D Nova, I've been waiting for people to do deeper testing and push it to the limits. This is finally happening now, after the release of ShaderJoy (a ShaderToy clone). I'm grateful that the shader compiler is being tested with all sorts of weird and wonderful shaders, and, that I'm being notified of everything that isn't working right.

3. Understand that People Might be Angry

Some bug reports will sound angry and even insulting. Be understanding. Surely, you've also had hours of work destroyed by bugs in someone else's software? Surely, to too have spent many frustrating hours trying to work around a bug? Their anger has nothing to do with you. They probably had a bad day in part because of the bug they reported, and it's showing through in the bug report. So, it's understandable that they might be feeling angry.

Appreciate that they submitted the bug report instead of bitching about the problem to everyone except the person who could fix it (a.k.a., you).

4. Use Automated Testing

If you do all of the tips above and still feel anxious, then it's time to get serious about automated testing. I've talked about the automated testing I use for Warp3D Nova before. It's played a huge role in improving Warp3D Nova's quality. I write a new test case for every bug, and then fix it. The new test case will catch if that bug ever reappears before anything is released. I run the automated test suite regularly, so I can catch regressions within a day or two of them occurring.

Automated testing is an essential tool for achieving high quality software for anything that's even moderately complex. It gives you more confidence in your releases, and helps ease those release anxieties.