Estimating the time to test a software product

Time to test Software Product Coders Kitchen

The work of the QA team isn’t just participation in all the stages of the development process. It also involves the correct estimation of a product considering time and financial costs. Test estimation is a process to set the time needed to perform assigned tasks. The propriety of testing evaluation helps to manage and control the implementation of approved tasks.

This procedure should consider the estimation of the following points:

  • Time to implement tasks at all stages of development by a software testing company
  • Technical and human factors to accomplish confirmed tasks
  • Level of technical expertise and experience of all team members
  • Financial calculation and setting the budget for the product being developed.

Now, let’s focus on the most popular and relevant methods of time estimation for software testing

1. Work Breakdown Structure

This is a basic method that involves the work distribution structure: dividing project tasks into smaller subtasks with a clear time limit; dividing tasks between team members and completing assigned tasks by each team member within an estimated time frame.

2. Three-Point Estimation

This method involves determining the comfortable conditions for the QA team to perform tasks. Also, this approach divides tasks into subtasks. These subtasks should have three possible options for implementation:

  1. The level of a team is very high and implementation of work tasks is not difficult (100 man-hours (O)).
  2. Your company has sufficient level to complete tasks, in case of some difficulties, it takes an acceptable amount of time to solve them which doesn’t affect the final result (150 man-hours (N)).
  3. The level of the team doesn’t allow to fully implement the approved tasks in a short period. It takes a lot of time to complete them. And if there are any difficulties, it’ll be also your task to resolve them (200 man-hours (P)).

Using the following values: O=100, N=150, P=200, calculate the average value of the test score (E):

E = (O+4*R+P)/6
E = (100 + 4 x 150 + 200)/6 = 150 man-hours

Note: Consider the calculation of the standard deviation (SD) – the limits within which E can vary:

SD = (P - O)/6
SD = (200 - 100)/6 = 16.7 man-hours

Result: the QA team will need 150+/- 16.7 man-hours to implement the subtasks.

3. Function Point Analysis

Function Point Analysis is a method of indicator of functional evaluation by scoring: determination of time assessment, considering the labor input of the task, e.g. from 1 to 5 points. After dividing into modules, each one receives a point (FP – functional points) depending on its complexity. Easy tasks should be scored lower, difficult ones – higher.

The calculation is done according to the formula of total effort: total effort = total points x score determined for one point. The score determined for one point is a given value, which is determined by the QA team lead based on his or her experience. It is calculated based on time, cost, or size.
For example, the score for FP is $100. The whole project is divided into three groups of modules:

Complex modules (FP 5) - 2 pcs.
Medium modules (FP 3) - 10 pcs.
Simple modules (FP 1) - 5 pcs.
Total effort = 45 x 100 = $4,500

Note! This method may give the wrong results. Remember it when calculating.

4. Delphi

Delphi is a method of time estimation with interaction between managers and leading specialists of software testing lab which includes the following aspects:

  1. analysis of assigned tasks, as well as individual estimation of their performance in time-space with the argumentation of their thoughts;
  2. opportunity to get a lot of answers on the preliminary results of discussion;
  3. communication between the specialists and other members of the team, which contributes to a review of the former positions with the colleagues’ opinion;
  4. the final stage must be completed after a limited number of rounds, consensus or stability of results.

5. Kanban

Kanban is a visualization methodology. Ability to set the load, as well as team members, monitor new functionality, and progress in terms of tasks, as the entire work process is built on a Kanban board.

6. Scrum

Scrum is a framework for structuring the process involving:

  • splitting the work process into sprints on the part of the developers
  • writing of plans
  • analysis and evaluation of dimensions
  • prioritization management
  • predicting releases
  • working software is delivered at the end of the sprint.

Keep in mind that testing estimation methods will be selected based on each particular project. Determining the time estimate for testing a software product is a serious process that must be approached responsibly.

Learn more about the testing expertise at TestMatick, e.g. about Advanced Principles of Software Testing in 2022.
Don’t hesitate to contact us for testing assistance in your software project


Further readings

Share:

Legal Notice

This text is the intellectual property of the author and is copyrighted by coderskitchen.com. You are welcome to reuse the thoughts from this blog post. However, the author must always be mentioned with a link to this post!

Leave a Comment

Related Posts

Daniel Lehner

Reducing efforts in system testing

Which are the best methods to reduce efforts in system testing? In this second part of the Coders Kitchen interview, system testing experts Hans Quecke

Traditional system testing vs. model-based system testing - Coders Kitchen
Daniel Lehner

Traditional vs. model-based system testing

Interview with system testing experts Simone Gronau and Hans Quecke about typical challenges in defining system tests, and how model-based methods might offer an alternative.

What is a software unit - Coders Kitchen
Andreas Horn

What is a software unit?

When we talk about software unit testing, the first question I always ask is “What is a unit for you?”. This can be a very

Hey there!

Subscribe and get a monthly digest of our newest quality pieces to your inbox.