Friday 19 February 2016

How I explain software testing to people who don't work in IT

Can you think of a time when you've been frustrated while using your computer?

There are a lot of reasons that you might feel this way. A website that takes a long time to load. Error messages that stop you from doing what you want to do. Being unable to find that thing you need within all the options that are available in a menu.

Every time you get frustrated, you are encountering what software testers call a bug. Simply put, a bug is something that bugs you, and my job is to prevent bugs from reaching you.

To do this, I talk to the business people who ask for the software, the designers who decide what it will look like, and the analysts who specify how it should work. I think of things that I have seen cause problems in the past and try to prevent the same mistakes from being made again.

I sit alongside developers, the people who write the code that creates the software, and pick up problems while they work. Sometimes they miss a piece of what they're supposed to do, or I might disagree with the way that they've chosen to write something.

Once the software is finished, I check that it works. I think about all the ways that people might intentionally or accidentally break it, and make sure we handle that elegantly. I see if it works on all different sorts of computers and mobile devices. I check whether it is easy to use, responsive, and secure.

All through this process, I am testing. I test through conversation. I test by actually using the software on my computer. And I test by writing automated checks with tools that can run the same things over and over again, to make sure that specific bits of the software are working properly.

Testing helps to eliminate the things that bug you. It's an important part of creating software that people feel happy to use.


  1. Excellent post Katrina. As a lean tester I would also say

    "I make sure that the software you use does not have features you don't really need and that could confuse you. This way you also get the most important updates to your software as quickly as possible.
    I also observe and monitor how you and the other customers use the software and read the feedback you send so that you can always have the best possible experience."

  2. Good thinking, all though I see testing being more than "eliminating bugs". And that doesn't make it easier to explain :-) - even to IT folks.

    I was down a similar path on these two discussions on the STC: