How to estimate Quality Assurance and testing time
When delivering a comprehensive software product, technology companies always struggle to find the balance between quality and the release date. Testing the product is a crucial step to ensure that everything works smoothly. When a company doesn’t follow any testing time estimation techniques, it can lead to missed deadlines and budgets.
Overshot budgets and missed deadlines can cause tension between software delivery companies and their clients. Thus, estimating quality assurance in software development, while complicated, is an essential process that shouldn’t be overlooked.
In this article, we’ll explain how do you calculate test time estimation, and go through what test estimation is and how to use best-practice quality assurance (QA) and testing estimation techniques to ensure that delivery timelines and budget stay on track.
Testing Process Planning
This step consists of two stages: project research and testing strategy development.
Project research might be performed differently depending on the company, team, and project itself. This stage involves the reading and analysis of a project’s documentation, meetings, discussions with managers, and market research. On average, we recommend spending 1-2 days to clarify all the details and get answers to all questions in case they arise during discussions.
You might need some additional time in the following situations:
- The project is of a large scale with plenty of documentation.
- It’s the first time you’re working on a type of project and you need some additional time for in-depth research.
- Specialists involved with the projects have different schedules or time zones. Consider planning extra time for communications.
Testing strategy development includes defining several important nuances of a project:
- What types of testing will be performed?
- What specialists will you need to develop testing plans and test cases?
- How many specialists will you need for the testing and what skills they should have?
Now that we’ve figured out our testing process planning, it’s time to talk about testing tasks. Don’t make the mistake of thinking that testing time consists only of project research and tests. There’s a whole range of other tasks the QA team must perform:
- Write a test plan
- Build test cases
- Develop an escalation procedure
- Conduct tests and evaluate results
- Verify fixes
These are just a handful of the basic testing tasks and may vary, depending on the organization and project. Thus, it is important to estimate the testing time and include all the required tasks.
Read also: our blog on why unit testing is important for your budget and timing.
Software Testing Time Estimation Techniques
There are five core estimation techniques in software development that every specialist should know:
1) Functional point analysis.
This method consists of assigning each functional point a weighted number based on difficulty. Rank each from 1-5, with 1 (simple), 3 (medium), or 5 (complex). After this, multiply the number of functional points with the assigned weight within each category, then multiply the number by 2 (person-hours per functional point).
2) Delphi method.
To use this technique, you carry out surveys from QA specialists to determine an average time estimation for each task.
3) Work breakdown structure.
In this method, we deconstruct the project into its very basic elementary components and estimate time for each of them.
4) Three-point estimation.
This estimation technique consists of breaking down the project into basic component tasks. Then, assign one of three given time estimations for each component: Optimistic (a), Pessimistic (b), and Realistic (r). Then, to determine the time estimate (E), use this formula: E = (A + 4xR + B)/6.
5) Planning poker.
Also known as scrum poker, this is a gamified method of estimating time. After breaking down the project into individual tasks, team members make estimates by playing numbered cards without revealing their cards until after the discussion.
Using these planning techniques is a crucial part of QA time estimation. This template includes all kinds of testing, that might be relevant to the projects. Depending on the project, quality requirements, and some other aspects, the template pattern might be modified. If you are new to QA and don’t yet have a software testing time estimation template, try a simple Google search. You will find plenty of examples that you can modify and use for your needs.
It’s difficult to determine the right set of estimation techniques in software testing and development, as QA is a complex process with a high risk. Remember, all its estimates contain deviations., which is why it’s so crucial to combine efficiently different testing methods and techniques based on the team, project, and other variables that influence the time, resources, and budget of a project.