Best practices Management Agile
21 mins read
April 27, 2024

Time estimation in QA: best practices of 5 different senior testers

Albert Einstein was ahead of time in many ways when he proclaimed that time is relative. Indeed, product development (including QA) is where one hour can be more like two or three hours. We asked 5 senior testers how they make realistic estimates so you can do that too.

photo
photo
Tania Zhydkova
Denis Matusovskiy

What is time estimation in QA?

Before we dive into the details, let’s touch on some basics. Time estimation in QA is the process of predicting how long it will take to complete testing tasks within a software development project. It’s like mapping out your journey before embarking on a road trip – you need to know how long it will take to reach your destination.

Factors that influence time estimation

So, which factors can sway your expectations? Our senior testers unanimously agreed that several variables can impact your ability to estimate testing time accurately. Here are some of the key factors to consider: 

  1. Complexity of the project: The more intricate the software, the longer it takes to test. Consider the number of features, integrations, and dependencies when estimating. 
  2. Team expertise: Your QA team’s skill level and experience play a significant role. A team of seasoned testers may complete tasks faster than a less experienced one. 
  3. Testing environment: The availability and stability of the testing environment can affect your estimates. Frequent setup issues can lead to delays. 
  4. Scope changes: Be prepared for changes in project scope. Additional features or bug discoveries can extend your testing timeline. 
  5. Resource availability: Limited resources, such as test devices or automated testing tools, can slow down the testing process.

Knowing the factors you should consider in the QA time estimation model, let’s dive into the list of the best tips for test time estimation.

Tips & best practices for a successful estimation of testing time from our experts

Our seasoned testers shared valuable tips for making more accurate QA time estimations: 

  1. Break down tasks: Divide testing into smaller, manageable tasks. This helps you estimate each component more accurately. 
  2. Use historical data: Review past projects and their testing timelines. Historical data provides valuable insights for estimation. 
  3. Consult with the team: Collaborate with your QA team members to gain different perspectives and insights into potential challenges. 
  4. Account for contingencies: Always include buffer time for unexpected issues or delays that may arise during testing. 
  5. Review and adjust: Continuously evaluate your estimations. If you consistently underestimate or overestimate, learn from it and adapt your approach.

Sounds more systematic and feels less overwhelmed, doesn’t it? If you are still in the dark about how to estimate testing time, do not worry, our senior testers equip you with everything you need, including the ready-made template.

Testing stages you should estimate

What stages should you consider in your time estimates? This is one of the most important aspects to consider when estimating time, and our senior testers are here just to help you with that. 

As we navigate the software testing time estimation world, it’s crucial to recognise that this process is more than just a single calculation but a multi-faceted journey. Here are the essentials to consider in the various stages of testing when estimating testing time: 

  1. Test Planning: Time spent on test strategy development, test case design, and environment setup. 
  2. Test Execution: The actual process of running test cases and identifying defects. 
  3. Defect Management: Time allocated for logging, tracking, and retesting defects. 
  4. Regression Testing: Ensuring that new changes haven’t broken existing functionality. 
  5. Documentation: Time spent on documenting test results, reports, and test closure activities.

As we explore the diverse stages of software testing, it becomes evident that estimating testing time is a comprehensive process. Each stage contributes to the success of your project, and accurate time estimation is the compass that guides you through this intricate journey. Now, armed with a deeper understanding of these testing phases, let’s equip ourselves with a practical tool to streamline our efforts – the software testing time estimation template.

Here are some ways I've estimated testing tasks in the past:
The first test is probably going to take 20x as long as the last one
Test effort will probably take about 1/2 as much as development effort
How much did it take to do similar tasks on other projects at this or other companies?
Nobody can reasonably expect an estimate made without historical information to be very accurate.

ToddBradley Posted in Software Testing Reddit thread, 1 year ago

Techniques for QA time estimation

The list of techniques below works for both QA specialists and their software development colleagues. These software testing estimation models work even better if the entire team practices them.

Use poker planning

Poker planning is an amazing technique to handle individual anxiety about giving high estimates. At the beginning of the planning session, everyone gets a dozen cards that have the number of hours to complete the task on them. When the project manager reads out a ticket, everyone shares their thoughts on how it should be tackled. The general sequence of work, the number of specialists involved, and potential blockers are just some of the aspects that you should bring up.

After the discussion, everyone on the team shows a card with what they believe is the required number of hours. Some people would usually have higher estimates than others, but that’s the point of the exercise. Have another round of discussion where people with higher/lower cards convince their teammates to change their minds. Ultimately, you will reach a consensus and move on to the next story to go through the same steps.

Linda Hoff, the Test & Release Management at Qlik, points out vital requirements for successive poker planning: 

Software development time estimation template

To empower your journey into the software testing time estimation world, we present you with a powerful software testing time estimation template. Picture it as your trusty compass on a quest for precision and efficiency in QA. This QA time estimation template will help you easily navigate through software development, including the following elements: 

  1. Project Name: 
  2. Testing Start Date: 
  3. Testing End Date: 
  4. Project Complexity (Low/Medium/High): 
  5. QA Team Expertise Level (Junior/Intermediate/Senior): 
  6. Testing Environment Stability (Stable/Unstable): 
  7. Planned Scope Changes (Yes/No): 
  8. Resource Availability (Adequate/Limited): 
  9. Historical Data Review (Yes/No): 
  10. Contingency Buffer (%): 

With this template, you can systematically evaluate the project’s specifics and make more accurate software testing time estimations. As you fill in these elements, you’ll find that your journey becomes clearer, more controlled, and filled with the promise of project success. And with almost no effort, all you need to do is to personalise it. How cool is that? 

Now that we’ve summarised and structured the most valuable strategies for you, the true masters of the craft – our senior testers are eager to impart their expertise directly to you. You’re in for a treat, as our experts have lined up to offer their invaluable insights and advice.

photo
Linda Hoff, Test & Release Management, Qlik

‘I like poker planning IF you have someone in the team that is brave enough to estimate high. I've been that person several times. It's tough, but we got a lot more realistic estimates.’

Another major benefit of poker planning is giving agency to everyone on the team. This is essential for adopting and observing the Scrum methodology in software testing. When a task involves several employees at different stages, you want to at least hear the pessimist out.

Alternatively, you can use the three-point estimation technique. While far less engaging, it covers a range of potential outcomes. You simply boot up your issue tracking system and look at the actual hours it took you to complete the task

At my company, it is the following: between 1 and 4 steps: easy test that can be done in 2 hours. 4-6 steps equals 4 hours, and everything between 6-8 steps, depending on its complexity, is considered a day. If you have a lot of test cases in which you will reuse chunks in multiple test steps, we count 2 test cases per day.

TonyMacaroni1 Posted in Software Testing Reddit thread, 1 year ago

Move on from hours

Estimating QA testing time is tricky on multiple levels. The same task can take a different amount of hours even for two QA specialists of the same seniority. In that sense, tight sprint planning will be disrupted pretty fast. It’s a matter of when, not if you will start to miss deadlines on certain tasks. 

Prioritisation helps you see which tasks you’ll be the least sorry to be late on. Looking at the fixed number of hours, however, can still cloud your judgement. Here’s a neat piece of advice we got in our Linkedin software testing community from test engineer and YouTube author Karen Todd.

photo
Karen Todd, Test Engineer and creator of Karen Tests Stuff

‘I like the idea of "effort estimation" as opposed to time estimation. Time is difficult because what may take one contributor an hour may take another contributor most of an afternoon. But then again what takes less effort for one person may take another person more effort. It's complicated.

I like T-Shirt sizing as a start. Think collaboratively as a team about how many systems this item will touch, how many people will be involved, how complex is it, what is the level of risk involved with implementing it... and rank the proposed features/tasks down in groups by "shirt size" (Small, Medium, Large, etc.)’

Another alternative to numerical hours is story points. They represent the relative complexity of a user story compared to what else is in the backlog. Story points are especially useful for teams with a mixed level of seniority. Testing estimations will absolutely be affected by the choice of QA specialists; the relative complexity expressed by story points remains the same.

‘We're Agile, so we use story points for estimation. QA time isn't directly estimated, but I can tell when a story has a lot of potential for the back-and-forth with the devs. When that happens, I encourage them to estimate higher and allow ample time for testing/retesting. It works well for my team.’

chicagodetroit, a /r/QualityAssurance user

Ready to streamline your QA process and improve time estimation accuracy? Look no further than aqua cloud. With aqua, complexity is no longer a hurdle – establish a clear process and workflow, reducing project complexity and ensuring every step is clearly defined. Whether you’re a seasoned QA expert or a new team member, aqua empowers anyone to test efficiently with clear and structured test cases. Say goodbye to testing environment headaches – aqua allows you to store detected errors in a structured manner, speeding up troubleshooting. Plus, with the complete project scope stored in aqua, scope changes are easily managed, eliminating queries and ambiguities. Transform your QA process with aqua cloud today.

Simplify, empower, and accelerate your time estimation with a single solution

Try aqua for free

Adopt deadline-oriented approach

While testing has its beginning, the end is not as clear (unless it’s a test automation estimation). There is always room for more QA, even if it will ultimately take longer and longer to find the smallest of issues. Here’s how you can turn the tables:

‘I will usually ask "how much time can I have?" and I will try to determine if I could achieve adequate coverage in the time they give me to test. If my coverage will be poor or if I find a lot of bugs while testing, I try to assess risk and communicate risk to stakeholders. I let them decide if they want to give me more time or not. This keeps me from getting boxed by promises I cannot keep. In my experience, testing usually gets the short end of the project-schedule stick.’

acrobaticOccasion, a /r/QualityAssurance user,

While release deadlines are relatively stable, a tester may not necessarily know how deep the rabbit hole of a new feature goes. How do you make things more predictable for the QA specialist? Simple: run unit tests to catch conceptual flaws before your testers even see new code. A little bit of extra work from your devs makes effort estimation for software testing much easier.

Re-evaluate your estimates

One way to avoid disappointment in life is to adjust your expectations. Some people believe you can do the same in quality assurance. After all, you can’t miss a hard estimate if you put soft ones in your test management software.

‘When we get a big story, we try to break it into testable chunks and estimate those. Once the devs start working on it, they may find complications that can cause scope creep or just simply take longer than planned. If we get into that situation, the devs meet and discuss, and re-estimate the remaining work. This also works well: learn, readjust, and learn some more.’

chicagodetroit, a /r/QualityAssurance user

This is a good tactic to align QA with the fluid nature of development. Any potential roadblocks that push a user story to the next sprint mean that your testers won’t be working on it. They could have spent some extra time polishing other features or go on the wild ride of exploratory testing. Planning development in smaller chunks would indeed also mean fewer disruptions to the testers’ calendar.

Don’t do any estimates

Time estimates are essential for planning, especially if you need to map out a whole sprint. But what if I tell you that you don’t need any estimates at all? Whatever your reaction was, it’s actually not me who will tell you that.

photo
Lara Hawrey Ali, Tester, aqua ALM

‘We work on Kanban, which means there is one large backlog of prioritised tasks instead of 2-week sprints. The developers do estimate their effort in story points, but our QA team doesn’t. When a developer implements a feature, I test/retest it at once. If there are multiple features waiting for QA, we go by the same priorities that developers set for themselves. Yes, there are no story-specific estimates for QA at all.’

It’s not just us: Qlik’s engineering team does not enjoy hard deadlines either, even if their spin is not as radical.

photo
Linda Hoff, Test & Release Management, Qlik

‘As soon as there is a date when something should be done, it is very difficult to do an estimate that is not affected by that date. So I prefer a flow of value without targeted release dates over release plans and committed dates. We have this constant flow for most of our features and it's awesome to see what difference it makes. We also have weekly releases, which helps a lot. If you are not done for this release, you have a new chance next week. We had monthly releases before and that was more difficult.’

This approach may also require your product team to be flexible about release deadlines. Shrinking sprints or moving on from fixed releases, however, gives you the freedom to innovate faster and ship new stuff ASAP. You can learn how well it went for us at aqua and pick up some more traditional Scrum tips in our blog article.

To estimate time accurately, start tracking. I did for a few weeks and now can pretty accurately estimate how long the test will take to write and execute.

Lucky_Mom1018 Posted in Software Testing Reddit thread, 1 year ago

Software development time estimation template

To empower your journey into the software testing time estimation world, we present you with a powerful software testing time estimation template. Picture it as your trusty compass on a quest for precision and efficiency in QA. This QA time estimation template will help you easily navigate through software development, including the following elements: 

  1. Project Name: 
  2. Testing Start Date: 
  3. Testing End Date: 
  4. Project Complexity (Low/Medium/High): 
  5. QA Team Expertise Level (Junior/Intermediate/Senior): 
  6. Testing Environment Stability (Stable/Unstable): 
  7. Planned Scope Changes (Yes/No): 
  8. Resource Availability (Adequate/Limited): 
  9. Historical Data Review (Yes/No): 
  10. Contingency Buffer (%): 

With this template, you can systematically evaluate the project’s specifics and make more accurate software testing time estimations. As you fill in these elements, you’ll find that your journey becomes clearer, more controlled, and filled with the promise of project success. And with almost no effort, all you need to do is to personalise it. How cool is that? 

Now that we’ve summarised and structured the most valuable strategies for you, the true masters of the craft – our senior testers are eager to impart their expertise directly to you. You’re in for a treat, as our experts have lined up to offer their invaluable insights and advice.

Conclusion

Estimation models in software testing are a very fun topic to explore. You can pretend time isn’t real, work as if time is not constant (which it is not in software development), or even reject the notion altogether. Whatever software testing estimation technique you use, giving more agency to testers and involving other stakeholders goes a long way.

You can also make estimates less of a problem if you reduce the amount of unpredictable work. This includes manual test generation, as you don’t fully know how many tests you need to fully cover a requirement. The time to make a test can differ quite a bit depending on the complexity, too.

The solution here is to bring in artificial intelligence. aqua’s AI copilot can make entire test cases from a description. Just think of key tests to cover a requirement, and aqua will create them for you. 

Now that you’re aware of the methods to optimise time estimation in QA, why wait? Embrace aqua cloud to revolutionise your QA process. Say farewell to complexity as aqua establishes clarity in your workflow, enabling seamless testing for all team members, regardless of expertise level. Say goodbye to testing environment woes by storing detected errors efficiently and effortlessly manage scope changes with aqua’s comprehensive project scope storage. Make the shift to aqua cloud today and witness the transformation firsthand.

Liberate your QA process of time estimation struggles

Try aqua for free
On this page:
See more
Speed up your releases x2 with aqua
Start for free
step
FAQ
What is the ideal time estimation method?

The ideal time estimation method often involves a combination of approaches tailored to the project’s specific context. Many teams use analogous estimation by drawing on past project experiences to gauge the time required for similar tasks. Additionally, expert judgment is crucial, especially when tasks are complex or unique, allowing seasoned team members to provide valuable insights. Integrating three-point estimation techniques further enhances accuracy by considering optimistic, pessimistic, and most likely scenarios, effectively accounting for uncertainties and risks.

How to calculate QA time?

Calculating QA time involves estimating the amount of time required to complete each testing phase (e.g. planning, preparation, execution, reporting, etc.), considering factors such as test scope, complexity, and team size. This information can then be used to develop a project schedule and allocate appropriate resources. Tools like project management software, Gantt charts, and spreadsheets can help with this process.

Why is it important to estimate time required for testing?

Accurate time estimation helps to ensure that the testing phase of a project is completed on time and within budget, and that the end product meets customer requirements.

What is time estimation in QA?

Time estimation in QA refers to the process of determining the amount of time needed to complete the entire testing phase, a larger QA project, or validation of individual modules and features.

closed icon