Managing software testing: Five focus-improvement tips
Testing software isn't always exciting. Sometimes, it's downright boring, especially if you are testing variations of the same scenario over and over. Unfortunately, the effectiveness of testing drops proportionally with your mental engagement, so it's very important that you find ways to overcome boredom and test with focused energy rather than dulled senses.
Here are five tips for keeping your mind focused while testing.
Schedule distractions
Pretend for a moment that you have a group of tests you aren't looking forward to and that you expect to take four or five hours to complete. You might be tempted to postpone these less-than-exciting tests until you have a long period of time unbroken by meetings, meals, or other activities so you can finish them all at once, but I suggest a different approach. Instead, plan to do those tests during a time when your testing will be interrupted by meetings. There are a couple of reasons I suggest this:
- It will force you to take good notes so you can pick up where you left off
- It will give you a break from the tedium and let your brain unwind a little bit
- If the meeting is boring enough it will make you look forward to getting back to your test!
You can expect testing this way to take a little bit longer since interruptions don't come without cost, but you can rest assured that the improved quality of your testing that comes from a higher level of engagement will make it worth the extra time.
Get off the beaten path
There's a skill in exploratory testing called branching and backtracking where you intentionally choose to leave the test thread you are currently following and go a different route for a while. Usually this occurs when you observe something about the application that is ancillary to the test you are performing that intrigues you, such as a potential bug or new feature you aren't familiar with.
If you find yourself getting bored with a test, plan to branch at the first opportunity. Make sure you take good enough notes to be able to return to where you were when you left the beaten path (backtracking), then follow your interest and instincts for a while.
Branching like this helps renew your energy levels by allowing you to shift your focus around when you need to.
Alter the pace
Have you ever tried testing as fast as you can? Sometimes you can help your brain re-focus by making a speed challenge out of the test. How far can you get in 5 minutes? Try to find a bug within the scope of your test in just a few minutes. Can you do it?
Challenging your brain in this way not only makes you more alert, but it can also draw your attention to bugs that are only evident when someone is moving quickly through the application.
Get schizophrenic
Have you ever been so angry about something that you couldn't see the screen in front of you? Or felt very uncomfortable with software you'd never used before?
Sometimes, when I find myself feeling bored I try to channel different types of user emotions and see how that changes my perception of the application. Some of the feelings I've tried to incorporate into my testing include frustration, hostility, fear of the unknown, unrealistic expectations, and downright ignorance. If you struggle with this, then try channeling a specific person you know and imagine how they would react to the application. How would they test it? What would they identify as problems?
Here are some specific personalities you might consider emulating:
- A click-first-ask-questions-later user
- A user whose hands never leave the keyboard
- A user who doesn't know what home row is
- A user who is terrified of making a mistake
Automate boring tests
Repetition is the mother of all boredom, and when it comes to repetitious testing, multiple variations of the same scenario over and over again will quickly make brain-engaged testing difficult, if not impossible. If that's what you're facing, perhaps you should consider automating the test. If you are a tester who also has some programming skills, make a quick assessment of the situation. Could you automate this boring test, execute it, and analyze the results in roughly the same amount of time it would take you to do it manually? If so, I say do it.
Many of the ideas in this article are based on or inspired by the work of James and Jonathon Bach. You can learn more about the dynamics of exploratory testing here