Complaining About Software is Fun
Testing software is fun and anyone can do it
Introduction
When I ask people who aren’t primarily QA or testers for help with testing, I’ll often hear some variation of them not knowing what or how to test. There’s definitely a lot of craft involved in testing more complex or precise systems, but in most cases, anyone who could potentially be a user or customer can also be a tester. Not only that, but testing can be fun!
Solving puzzles during testing
Many times testing software as a new tester feels like you’re lost on an island trying to solve puzzles to escape. Don’t let this discourage you, use your own experiences with other applications to make informed guesses and try to puzzle your way through it. If something is too complicated or unintuitive for you to figure out, it’s probably even worse for your customers. Even if these don’t appear as “bugs” or “errors,” it’s important to keep track of this kind of friction and communicate it with your team. If you get stuck, make a note and look for another path to take test.
Creativity during testing
There’s a well-known joke on software teams that usually goes something like this.
A QA engineer walks into a bar. He orders…
- water
- 1 beer
- no beer
- nothing
- 33.333 beers
- -1 beers
- 1 cerveza
- a dog
- the bartender to break all the glasses then orders a beer
The list keeps going because that’s how testing can be if you’re trying to tear apart a single feature. The fun part about brainstorming for testing is all of the edge cases. You don’t need to be concerned with only the intended path to take. You get to throw wrenches at the application and see what happens. Sometimes the outrageous attempts are the ones that can result in the most interesting bugs.
Roleplaying during testing
Another great way to make testing fun is to do some acting along the way. As a less experienced tester, this doesn’t need to be a serious user persona. It can be anyone you want to be while trying to use the software. Some of the personas I use include…
- Superheroes and villains
- Celebrities
- Animals
- Historical figures
- Characters from books or movies
So you’re Spider-man? What would Spider-man shop for online? What would he care about when making a purchasing decision? What would he use as a profile picture? Can he figure out how to pay for the stuff he adds to his cart? When he has to leave in the middle of shopping to help save the world can he resume his shopping easily when he returns later?
Roleplaying can make testing a lot more enjoyable and reduces the tendency to over think “what should I be testing.” It’s also a great exercise in empathy as you move into more-serious personas that often require a little more thought or effort to get into character as that individual.
Making games out of testing
When I do manually testing, I love to find games to play while I work. These games help keep me personally focused and can be fun ways to include your team in testing. To get you started, these are some of the games I play.
- Start a combo counter when you find multiple bugs in one area.
- Use ridiculous data, upload memes, paste in ASCII images.
- Make customizable apps look as bad as possible, pick horrible color combinations or other configurations.
- Yell “Jenga!” if you break your neighbor’s work.
- Test with a partner, do what they say too-literally or deliberately misunderstand their instructions.
Celebrate good testing
Always remember that you’re not “finding problems,” you’re helping to make the application better. This is an important distinction when thinking about your results and how you communicate those results to your team. Try to be descriptive and detailed in what you report, something being [bad, good, stupid] is only marginally more useful than no feedback at all. Don’t look for people to blame. Focus on clearly expressing what you found and how it made you feel. When you have positive experiences mention those to your team too.
Closing
Hopefully, some of these ideas help you feel a little more comfortable the next time you need to be the tester. Just remember you don’t need to be a testing expert to test. Your personal experiences and time spent using other applications give you a unique, valuable perspective. Go out there, have some fun, and try to break things for the good of your team.