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.