You are new to testing. You are sitting in front of your computer staring at the software code you need to test. What do you do? Let’s look at testing from a very basic level and maybe this will help you make progress. If you don’t “get it” at this level, you should consider spending more time training yourself at being good at testing skills.
You need to come up with ways to break the software UI or code you are looking at. How are you going to poke holes into it? The simplest tests are validation tests where you make sure everything looks correct. But that’s not where the fun lies. You want to try the unconventional – the unintentional actions of the customer – and isolate those for repeatability. Everyone has the ability to test, some just don’t understand that they have this desire. Trying to break software that is sitting there so shiny and new on the computer screen in front of you is rebellious, totally going against the norm. Have you ever sat in a library and thought about yelling? How about shaking up a soda can before opening it? There are many “rebellious” actions that aren’t truly rebellious, just fulfilling curiosity. If I yelled in the library it wouldn’t be to get in trouble, but to witness the reaction to the yelling and see how the situation changes. If you shake up a soda can, it’s not to spray sticky soda all over you, but to challenge yourself to see if the result is expected. And then to try different approaches to see if things change – what if it’s a bottle instead of a can? What if you shake it just a very little bit? What if you shake it a lot and then wait a long time before opening? Oops, it’s hard for me to stay away from the questioning involved with testing an approach. If you do this commonly as you go through life, you are a tester.
The basic concepts of testing are found in our elementary schools, they just aren’t yet called testing. Think about science class, when you had to create a hypothesis and then do experiments to prove whether are not it is true. This is similar to a tester who creates test cases and then executes them to prove whether or not they are true. If I do X, I expect Y to happen. If Y doesn’t happen, I found a defect in my software.
Where else does testing become fun in our lives? Have you ever played a board game? What about one of those like Jenga or Don’t Break the Ice? The whole game is based on testing! If I hit that one ice block, will the guy in the middle fall through the ice or not? Those initial ice blocks are like validation testing, you can hit them out and the guy won’t fall. But do you really know which remaining ones are safe to knock out? You are testing the physics of the game. You may even call those boundary cases. As the user of the game, you are the customer trying to make it through without losing. Similar to a software customer, you think your actions are valid and will produce good results. But when you try something unconventional (like knock out that ice block that is holding everything up), what happens? In these games, it is fun. In the software industry, it’s also fun if you are the tester and not the customer! What ice blocks should you hit in the software you are testing to make everything fall down?
Let’s face it, everyone does testing and some people, whether they call it testing or not, actually enjoy it. Everyone wants to have the freedom to be destructive, rebellious, and spontaneous, to go against the norm, and to try something unpredictable. The great thing is that in the software industry having that desire lands you a job in testing software, proving that the software keeps working after you do something unconventional to it, after you shake it up, after your next action is not exactly what was predicted by the software developer.
So for anyone out there who doesn’t think they know how to test, doesn’t want to do testing, or doesn’t think it’s important, watch your actions for a day and you may just find that you do way more testing than you ever thought. So you are staring at the software you need to test, what do you do? Go be rebellious and unconventional! I give you permission!