In the past couple of weeks, a few discussions have popped up online from testers asking variations of the question, "How can you help your team or do something useful while there are no tasks to do?" It's an open-ended question that often gets others talking about the different things they do, with tons of suggestions to get the forum poster moving in some direction.
These posts typically don't go into detail about the person's role, the type of work they do (beyond "testing"), or their daily routine. They also don't talk about their organization or team structure, but it sounds like they're in a system that relies on a higher-up, like a QA lead or manager, setting up their weekly schedule. Maybe they feel like they have no authority about what they can or can't do and want to find something that will get them unstuck.
Whatever the reason is, I envision that these kinds of testers approach their work as if it were a bucket that gets emptied and needs constant refilling from an outside source. While that indeed might be the case for some organizations, I have never experienced that anywhere I've worked. In my 16+ years as a software engineer and tester, the one constant I've found is that there's always something to do.
If your mind is blank and you don't know what's available when you find yourself with little or nothing to do, here are five things where you can use your time wisely.
Study and learn new skills
The most recommended thing you can do when you have some downtime at work is to work on improving yourself.
Whenever you have some free time during work hours, spend it by finding something that will boost your skills. You have tons of ways to do this. You can take an online course to get up to date with current testing strategies, or you can get a book to learn a new tool that will improve your career (like my book, End-to-End Testing with TestCafe).
One of the biggest mistakes you can make, no matter your job or position, is never to find ways to become better at your work. Many people wait for someone to give them some permission to study and learn something new at work. But as a professional, you're mainly responsible for obtaining the skills and abilities to do the best job you can.
Maintain your existing tools
Every organization uses different tools - bug trackers, test case management tools, and so on. Chances are, your existing tools aren't as organized as you'd like.
If you find it unnecessarily difficult to navigate through these tools, or your eyes glaze over any time you have to use one of these systems, find ways to clean things up. For instance, you can assign or archive bugs in your bug tracker that nobody's touched for months or years. Another great use of this maintenance time is to go over your test case management tool and prune any scenarios that are no longer relevant.
Keeping your tools tidy and organized is an under-rated task that very few people take the time to do. Most organizations don't have dedicated staff for these actions, and over time cruft will inevitably accumulate. By spending a few hours cutting down on the useless things in these systems, your entire team will be much better off for it.
Spend some time on other teams
If you want to become a well-rounded tester, you have to step outside that bubble from time to time.
Most people spend all their working hours interacting with team members in the same group, usually with others doing the same work. It's understandable to come together as a team, but it doesn't mean you should spend all your time in your group while ignoring everyone else. It's a sure-fire way to remain stuck in your behaviors and limit your growth. Whenever someone complains that they feel stuck at work, it's likely because they are stuck and don't do anything about it.
If you want to gain a new perspective on your work, an excellent way is to spend time with other groups. If you're a tester, you should regularly talk with developers or product managers to see how your role fits with them. Ask how QA can help them with their tasks, and tell them how they can help you and your fellow testers. It'll open everyone up to new ways of making the entire organization better in the long run.
Do some "unstructured" exploratory testing
If you spend most of your day on automated or scripted testing, it's a good idea to switch things up occasionally.
Many testers do the same things, day in and day out, with little change during an average workweek. Consistency in your work makes you good at what you do, but eventually, it limits what you're capable of doing. Any application can benefit from "unstructured" exploratory testing. All it takes is to open up your application and poke around without a plan to see if you can uncover any issues missed by other forms of testing.
It's also great for opening up your imagination on different ways of testing. A fun way of going about this is by asking yourself "What if...?" questions. For example, what if you entered emojis into the username or password fields of a login form, or what if you uploaded a 2-gigabyte file in an upload form? A lot of interesting bugs and vulnerabilities get discovered that way, improving your application's quality and health.
Automating the boring stuff
Having downtime is the perfect time to find the repetitive, dull, and redundant tasks you often do and automate them away.
For testers, this often means automating test cases, especially the more extended, complex scenarios prone to human error. You can also automate part of your testing duties, like using Docker to generate a test environment automatically or creating a tool that can seed test data on the fly to help make testing different scenarios easier for your team.
There are other ways to automate things from your job that aren't directly related to testing. For example, this article mentioned maintaining your tools like bug trackers or test case management tools. Part of this maintenance can be to automate frequent tasks such as reminding people of old bugs if they haven't been touched in months or archiving completed items. Most systems have built-in mechanisms for these common tasks, and you can also use tools like Zapier or IFTTT.
In every job, you'll probably find yourself occasionally with nothing on your plate. But that doesn't mean you don't have anything to do. You can find plenty of areas where you can spend your time when you have nothing on your to-do list. Best of all, these tasks will benefit your company, your team, and - most importantly - it will make you a better tester.
This article mentions five different ways to spend your downtime, but these aren't the only things you can do. Some other things that aren't mentioned here where you can make your work and organization better. Some that come to mind are improving existing documentation, add new testing practices into the mix like performance or security tests, or helping plan your team's sprints more effectively. Maybe it's also an excellent time to take a much-needed vacation - never underestimate the power of rest.
Regardless of what you do, the real message behind this article is that you should never rely on waiting for someone to set up work for you. If you always wait around for someone to feed you work, you're undercutting your value and make yourself easily replaceable. Make yourself valuable - not just for your team, but for yourself. Jobs don't last forever, and the more valuable you become as a tester, the easier it will be to keep your job or find something better if necessary.
When you feel like there's nothing to test, what do you tend to do? Share your experiences by leaving a comment below.