We're talking a lot about productivity these days. And more than that we try to impose ourselves different ways to stay productive, ways in which we can maximize our working time, and in the end, this is not a bad thing, right?
But what do we do when all our productivity plan is sabotaged by various decisions we're taking? What do we do when by the end of the day our list of accomplished tasks has not decreased and we start panicking that we don't have enough time to finish them?
Well, one of the most important things is to become aware of which are the things or decisions which jeopardize our productivity and identify those activities that make us end up wasting time in trying to accomplish them.
These being said, I'm adding below a set of activities that I was living proof of them.
1️⃣ You are not picking properly the regression tests
Regression testing is one of the most time-consuming activity in tester's life, even more, if you're performing it manually. No matter if you're running your regression suite manually or using automated scripts, you can't run all the regression suite every time a new change in the code was made. Or, you can run them, but you end up spending a lot of time and you do not add too much value to your testing.
That's why, I would recommend you to pick wisely the regression tests to be run, by doing a bit of analysis before. This would help you to decide which areas might have been impacted by that certain code change, to better pick the tests to cover that part of the application and if you end up having too many tests, you can set priorities, deciding in which order they need to be run.
And this is how we get to the second activity which might jeopardize your time.
2️⃣ You are not assessing risks while testing
In software testing is always good to use the risk assessment. Sometimes, by increasing the number of scenarios to be tested or by increasing the time allocated for testing or the number of people performing it, might not add too much value.
But instead, what we can do is to evaluate what our customer expects from that certain release we're preparing and having this in mind we can optimize the testing by picking those test scenarios which help us get the maximum benefit.
3️⃣ You want to "test them all"
Well, this sounds like a utopia. We are all testers, this is one of the first lessons we have learned, right? We simply cannot "test them all" just because exhaustive testing is impractical and almost impossible.
4️⃣ You spend (too much) time in estimating the effort of your future work
Planning is good. But too much planning might become a way in which you feel you're wasting your time. While working in teams following methodologies similar to Agile in which planning plays an important role, spending time estimating your future work might cost you time.
That's why I encourage you to play an active role in planning sessions by asking all the questions you need to clarify the acceptance criteria and work closely with developers, business analysts, and other team members to ease your work for setting the estimations.
5️⃣ You have flaky automated tests
If you are an automation tester, you know well what I mean. Today you're happy that your regression suite is fully automated, and tomorrow you're crying because you have to investigate tones of flaky tests.
And this might seem a war that never ends.
(I am not going to dive in giving suggestions on how to deal with flaky tests, there are plenty of articles on the Internet trying to solve this issue.)
6️⃣ You are not asking (the right) questions
Yes, it might happen. And if you are not asking the proper questions to clarify your thoughts, you might end up driving in circles.
Don't hesitate to give the business analyst or the developers a nudge whenever you need more information to be able to do your testing.
7️⃣ You're switching contexts way too often
Sometimes you can be assigned to work on several projects and switching the context between those can be very time-consuming.
It's not your fault that the human brain cannot make the switch in seconds, and juggling several different tasks at a time can be a real productivity killer for you.
8️⃣ The developers you are working with are not properly testing their code
Developers are writing code, testers are testing, right? Well, not quite. Developers also need to perform minimum testing to their code, by adding unit tests and by checking that at least the happy flow is working before heading the code to the testers.
But this scenario sometimes might not happen, and you end up building and deploying the code on a testing environment, make certain setup and realize that the application crashes at a first click.
Whenever you feel your productivity has to suffer, I encourage you to take a few minutes and see what exactly is causing you downtimes in your work. I hope the list above gives you a bit of guidance in your analysis.