No QA? You're Testing my Patience...
You may be surprised to learn that testing software isn't very rock 'n' roll.
Very rarely do testers, such as myself, smash our equipment or get kicked out of large events.
I'm sorry, I should have warned you before dropping that bombshell.
The truth is that although it may not be very glamorous, testing is a very important part of software development.
For example: In 1983, while tensions were already high between the US and the Soviet Union, the Soviet's early warning system detected that the United States had launched five ballistic missiles in their direction.
There were no missiles. The false alert was the result of a bug in the system's software that failed to filter out sunlight reflecting off cloud-tops.
This was one of the first issues the industry had to tackle while developing cloud computing....:)
Luckily, Stanislav Yevgrafovich Petrov, a Soviet Air Defence Force officer had a "funny feeling" in his gut that prompted him to report the alert as a false alarm.
Stanislav possibly prevented the start of World War III that day.
Now, as far as I'm aware, I haven't yet found any bugs that could have potentially ended civilisation as we know it.
That said, the missing comma I logged three years ago could have potentially angered a grammar buff to the point of mass destruction.
I may have saved all of your lives. You're welcome.
In day to day life though, bugs in software are more likely to prevent you from doing your job, cost a company their business, or simply irritate you mildly.
Have you ever been trying to complete a task using a piece of software, only to be stopped in your path by a big, ugly error message?
How about when you've gone to a website looking for a telephone number to get support or make a complaint, only to be sent around in circles by the site's navigation?
If it wasn't for the cost or risk of injury, we'd probably all have put our fists through a computer screen at one time or another. Some of you may have done. To those people, I salute you. These machines won't learn unless we all put our metaphorical foot down!
What we as software testers try to do is seek out and identify these issues before the software gets to you.
I must point out at this stage that we don't exist to criticise the people who design and make the software.
In my time as a tester I have worked with many brilliant and highly skilled people (such as my R & D colleagues and fellow bloggers Simon Jenkinson and Kunjan Barot) whose brilliant work is beyond anything I'm ever likely to understand, never mind actually be able to do myself.
But like with anything large and complex, issues will naturally exist. No system is without flaws.
This is the same reason why cars, buildings, furniture, beer and pretty much anything else you can think of goes through testing of some form or another.
That said, we may not criticize, but that doesn't mean we go easy on our colleagues either. And not just on broken functionality and errors.
I have been known to spend over half an hour having 'discussions' with developers about, for example, the position of a Save button on a page.
In case you're wondering, the Save button was moved.
This may sound petty but it's our job to test not just what the software does, but also how it does it.
You may hear the buzzword 'UX' (User Experience) banded around a lot at the moment but what it all boils down to is usability.
How usable is the software?
If you need a 200 page instruction manual to work out how to use it, it isn't very usable.
The text isn't very clear? Not very usable.
The menus are made up of pictures of cats with different expressions to represent each category? Cute? Very. Usable? Not really.
You get the picture.
So whether we're just making your software experience slightly easier, or saving you from nuclear destruction, we've got your back.
In return, if you ever want to lend us your Rolls Royce, we probably won't drive it into a swimming pool.
Unless we decide to test whether or not it floats. In which case we're doing you a favour.
Again, you're welcome.