December 6, 2006

PEBSAO

One of the most common tech support acronyms you'll hear is "PEBKAC." It stands for Problem Exists Between Keyboard and Chair, and implies user error. However, I think it's time for a new acronym, "PEBSAO," which stands for Problem Exists Between Software and OS.

Most software testing is done in a clean-room environment. Does "X" work on a clean install of Windows? For games, driver versions are generally tested as well because of the number of issues fixed and caused by various driver versions.

However, there are many third-party applications that interfere with applications running. Antivirus software can modify files by appending data to the end, interfering with CRC checks. Uninstallation utilities can cause temporary files to get locked and cause massive slowdown during unpacks. Firewall software can cause loopback addresses to wig out. Packet burning software can interfere with copy-protection checks.

We can't test all the combinations. I know of about thirty different anti-virus solutions, eighty different uninstallers, sixty different personal firewalls, a few dozen packet burning programs. It adds up.

So again, we return to what most people are going to have. Unfortunately, not a lot of people have antivirus. Several testing locations test McAfee, Norton and TrendMicro, but not all. Very few places test interactions with uninstallation utilities. Because of the number of firewalls and various interfaces, most places stick with testing the built-in Windows Firewall at most. And packet burning software...well, at least until now, we haven't had to worry about it being in the operating system...of course, with Vista...

These are just four of the various permutations of third-party software on machines that hook into the operating system. I'm sure that there are hundreds more.

As testers, we shoot to be as complete as we can for our product, and we shoot to ensure that in our supported environment, we work well. When we find a problem with third-party software, we'll often contact the vendor to try to find a workaround on our end or a fix on their end. But even so, our primary responsibility is to our software and our supported environment.

So next time your custom-written firewall rules cause "X" to crash on loading, or your uninstaller daemon causes "Y" to take four or more hours to load, or the browser plugin you installed to get free viewings of "Debbie Does Dallas" causes every single sound effect to be replaced with an obscene version of "Oh Come All Ye Faithful," remember "PEBSAO" when you're calling support.

No comments: