If you are in software testing, you may realize that one of the best complaints from testers is that “I don’t have enough time to test”.
I don’t blame you or anyone. This is understandable.
We are living era where we feel like we don’t have enough time to do anything. We feel we don’t have enough time with our family with our kids. We don’t have enough time with our friends. Worse, we don’t even have enough time for …ourselves. We’re constantly put ourselves under pressure to get more things done in less time with the best quality.
This is especially true in software development where we need to deliver “the baby” out as fast as possible. If we don’t, our competitor will. If we don’t, we’ll run out of budget. If we don’t, our customers will leave. If we don’t, we failed…All these put a lot of pressure on the test team as well.
So there’s nothing much we can do? I don’t think so. In today’s post, let’s dig a little bit deeper to understand why you feel you don’t have enough time to test and review some ideas to improve the situation.
Did you try to test all?
If you are a fan of “full” regression and you only feel confident when you have all your test cases run for each software release, you may soon or later put yourself in this situation where you’re always behind the schedule.
I mentioned many times before and I’d like to repeat again:
It’s ok to NOT run all the test cases.
Very often, when making a test plan, we have a set of test cases we need to run for regression tests. There’s a fear that if we don’t have these cases run, we would miss “something”…and in software testing, missing defects is very likely turns into a nightmare for the tester.
I agree that running all the cases will help build our confidence in the quality of the build under test. This is also true that running more tests will reduce the possibility of missed defects. However, if you have a look at your test cases again, there are always test cases that are more important to run than the others. Even among important test cases, there are even more important cases than the others.
With this said, in general, you don’t have to run all the cases. You only need to make sure that the most important cases are covered and they are well-informed or agreed upon.
You may want to try techniques like risk-based testing, exploratory testing, smoke test or checklist to achieve this.
…and be informed
and by the way, when you plan to cut down your test, don’t be afraid to inform teams that you are unable to run a full regression.
I also observe that some test teams are reluctant to inform the upper management/project managers that they cannot complete the full regression for a software release. I don’t know for sure why but here are possible reasons:
- They don’t feel confident in quality unless they run all the test cases….like a gatekeeper.
- They don’t want to be seen as an incompetent tester/test team
If you feel this way, I’m afraid this is not true.
Software quality is far from just executing a set of tests.
You can run all your test cases and your product is still a scrap. The same is true when you don’t have to run any test case and you still have quality software (okay, with some lucks :D). This means there are many aspects contributing to a product’s quality, not just testing, not just test team.
In this case, as a tester, what you naturally do is to inform teams that you cannot run full regression and share your new test plan accordingly. When things are informed and agreed upon, you are in good shape.
Your test process
After you have review your test plan and cut down your test scope and you still feel like your workload is high. This is a good chance to review your test process.
It’s interesting that it’s the last thing testers/test team review when they don’t have enough time to test. Why? Because: 1) changing process is challeging and 2) They don’t think it’s a process problem because “this is what we’ve been doing for years”.
I know that this won’t be easy but by reviewing your test process, you’ll see where your time goes or where your bottleneck is.
Here are some hints that your test process may need to be improved:
- If your test team is the final gate and it’s become a bottleneck when all the release plan relies on the testing team output.
- If the test team is idle for days/weeks/months then suddenly tons of tests need to be done, there should be something wrong in the project planning.
- If the test team takes a lot of time to communicate back and forth with developers to clarify the requirements, fixed bugs, or get the build to test.
Besides of the process, you may also want to do an overhaul of your test cases to make sure that they are up-to-date and valid to run. If not, just remove them. Please remember that when it comes to testing, the quality of your test is more important than the quantity.
Did you automate yet?
If your regression tests are repeated tests and being run manually, you may want to automate them to speed up your test in the long run. Even though automating your tests will cost your time which you don’t have a lot now, if you do your automation right, it will be your powerful weapon when it comes to regression tests.
If you’re doing the functional automation test, focus on the good and repeated test suites. It doesn’t make much sense just to write automated scripts and just run them once in a lifetime or they don’t add (much) value.
Just because you can doesn’t mean you should.
Optimize your time
I do see many testers who are always busy all the day. Besides the high workload, I see they are using their time not effectively. They are letting their time leak during the day by doing so many things. It’s even worse if these “many things” are not things that matter.
They try to join all the meetings invited.
They try to reply all the emails they received (sometimes just for their information).
They try to involve all the activities they are aware of.
They try to do everything by themselves, not delegating to someone else because they want everything to be perfect or at least they have the feeling of “controlling things”.
They don’t want to say NO. They’re worried about missing out on things.
I know. It’s very tempting to become “multing-tasking” or excuse yourself by “this just takes me a few minutes”. However, these “a few minutes” will add up quickly and your day will be cut into pieces.
Heck, I’m not an expert in using my time. I waste my time like crazy. However, trust me, I’ve been there and done these and I’ve learned the lessons. If you always cannot find time to do the things you want to do, it’s just because you are setting wrong priorities.
So if testing is your priority, spend more time with it and spend less time on trivial activities.
Let’s add more people
Generally, this is a straightforward option to deal with not enough time for testing. However, this is the last option considered by a company.
Why? Because hiring people is one of the biggest expenses the company has. Hiring more people doesn’t seem a good idea considering that we’re still in a terrible pandemic. Even if your company is well-budgeted, this step is only considered after all other options have been considered or your working process has been improved. Putting more people into a terrible process is like…a waste.
Of course, if your company can afford that, go ahead and put more resources into your team.
Final thought
Please note that some of my ideas may not apply to your organization or you are well aware of the cause of the problems but you’re not in the position to make a change.
However, don’t let the situation make you down and negative feeling creeps in. Don’t just complain about things day by day without any ideas to improve and let your negative spread around.
The idea is to focus on the most important priority, on what you can control, do your best work, and move forward.
If you don’t have enough time? Just make it.
thanks for this article. this is exactly what I am facing and i hope i am not the only one