How much time should I spend on testing? It’s a question that vexes testers every time they’re faced with a new project.
Unfortunately, the most common reply they’re likely to receive upon asking that question is: It depends. And that only serves to frustrate them even further!
As it turns out, I concur wholeheartedly with that answer. Testing shouldn’t be approached with a cookie-cutter mindset. Each project has to given the due consideration it deserves.
In this article, I attempt to explain how choosing how much time to spend on testing in a project depends on an intricate web of factors that should be each weighed in relation to the rest before drawing a conclusion.
#1 – The complexity of the software
Naturally, the more complex the software the longer the time you should spend on testing. Statistically speaking, a more sophisticated project is bound to turn up more bugs during development than a simpler one, so prepare to spend a lot more effort weeding them out.
One of the most fundamental principles in agile methods to deal with complex projects is to break the task down into its component parts and focus your energy on element instead of tackling the task as a whole.
This ‘chunking’ method works fine under any circumstance, but remember Einstein’s caveat: Everything should be made as simple as possible, but not simpler.
#2 – The urgency of the software
If complexity increased the amount of time spent on testing, then the urgency of the project demands that less time be spent on it.
The trick with dealing with very tight deadlines is to be able to make the best out of the limited time available. This usually means finding ways to test smarter rather than harder.
Obviously, automation is your best friend in this scenario and using bug-tracking tools like ReQtest ensures that you have in your hands an instrument that is just as agile as you are.
Using templates, cutting down on documentation and streamlining test cases and bug reports using specialised software will help you squeeze every minute’s worth of testing.
But don’t get too cocky! Experience in testing still trumps hi-tech tools every time.
#3 – The requirements posed by the Product Owner
Another important factor to take into consideration are the demands that are placed on the testing and development team by the Product Owner and the marketplace the finished product is expected to compete in.
The more stringent the requirement and the more competitive the market place, the longer you should spend on testing the system and ensuring that the project is up to scratch before putting it into the hands of users.
#4 – The methodology you use and testing level
Whether you use traditional or agile methods in your workplace will have an effect on the amount of time spent on testing.
Similarly, the testing level of the project you’re working in will also have an impact on how much time to dedicate on testing. It pays to spend more time during unit/component and integration testing to fix any bugs that might be more difficult to eliminate at a later stage.
Getting rid of any bugs in the system early on will reduce the risks of having to spend more time and money on testing the system when it is at a more complex stage of its development, thus risking delaying its launch.
#5 – Your own testing skills and the team in general
Finally, the biggest factor that is involved in the decision of how much time to spend on testing are your own testing skills and those of the team in general.
Veteran testers are expected to have developed sufficient practical knowledge in their profession to be able to navigate through the most complex testing tasks and have a wider bank of experienced to tap into when it comes to finding innovative ways to tackle problems.
Accordingly the time an experienced tester would spend working on a project would be considerably less than that of a less experienced colleague.
Although experience goes a long way to helping you deal with a project faster, the overall competency of the team you’re working in can have such a major modulating effect that it either enhances or diminishes your skill depending on their combined depth of experience.
Testing is a complex process, and the time that is spent on testing for each project depends on the individual requirements of the task at hand.
Industry standards that range from 30 to 40% are a useful heuristic when setting out on planning a project.
However, the testing team has to maintain a flexible mindset that enables it to adjust the time spent on testing in response to the data collected during the system and feedback received from other colleagues.
As testers become more experienced in their profession, they should be able to assess more intuitively the time to allot to testing, but until you reach that degree of competence it pays to avoid becoming too attached to any particular standard.