What is Estimate software testing?
Estimation is a management activity that estimates the time a task will complete. Estimation effort for testing is one of the important and essential tasks of Test Management.
Why Need Estimation?
Estimation will help you answer 2 questions:
Resources : Resources are required to perform project tasks. Resources can be people, equipment, facilities, funding, or anything capable of being defined required to complete a project activity.
Time : Time is the most valuable resource in a project. All projects have deadlines to release projects.
Human skills : Human skills are the knowledge and experience of the project team members. It will affect your estimation. For example, a team with members with poor testing skills will take longer to complete than a team with better testing skills.
Cost : Cost is the budget of the project. It is the amount of money it takes to complete the project.
How to Estimate?
- Work Breakdown Structure
- 3-Point Software Testing Estimation Technique (3-point estimation technique)
- Wideband Delphi technique
- Function Point / Testing Point Analysis (functional point analysis / test point)
- Percentage distribution (percent distribution)
- Ad-hoc method
The following is the 4-step process of estimating:
1. Step 1: Divide the whole task of the project into sub-tasks
Task is a piece of work that has been assigned to someone. To split the task, you can use the technique Work Breakdown Structure.
Using this technique, a complex project is divided into modules. Modules are further divided into sub-modules. Each sub-module is further divided into functions. That means dividing the project’s task into the smallest tasks.
Use the Work Break Down structure to divide the Guru99 Bank project into 5 smaller tasks:
You can then divide each task into sub-tasks. The purpose of this activity is to create tasks as detailed as possible.
|Software requirement specification analysis||– Review the software requirements specification – Chat with developers and stakeholders to learn more about the website|
|Create Test Specification||– Design Test Scenario – Create Test case – Review and modify test case|
|Execute test case||– Building test environment – Execute test case – Review test results|
|Report defect||– Create defect report – Report defect|
2. Step 2: Assign the task to member
At this step, each task will be assigned to the appropriate member of the project team. You can assign as follows:
|Software requirement specification analysis||All members|
|Create Test Specification||Tester / Test Analyst|
|Build a test environment||Test Administrator|
|Execute test case||Tester, Test Administrator|
3. Step 3: Estimate effort for the task
There are 2 techniques you can use to estimate the effort for the task:
- Functional Point Method
- Three Point Estimation (estimated at 3 points)
Method 1. Functional Point Method
With this method, Test Manager will estimate the magnitude, time, and cost of the tasks.
Step A) Estimate the size of the task
In step 1, you used the WBS method to split the entire project task into small tasks. Now you will estimate the magnitude of those tasks. Let’s practice with the task “Create test specification”
The size of this task depends on the size of the system functionality to be tested. Function size reflects the amount of functionality that is relevant to the user. The more functions the system is, the more complex it becomes.
Before starting the estimate effort, functional points are divided into 3 groups such as Complex, Medium, and Simple:
Based on the complexity of the software functions, Test Manager must rate the weightage for each function. For example:
Step B) Estimate duration does the task
After determining the complexity of the function points, you must estimate duration testing them. Duration is the amount of time you need to finish the task.
- Total effort: effort needed to complete the testing of all the functions of the website.
- Total function score: the total number of modules of the site
- Estimate defined for each functional point: the average effort to complete one functional point. This value depends on the performance of the member who will perform this task.
Example: Assume your project team estimate for each function point is 5 hours / point. You can estimate the total effort to test all the features of the example in step A as follows:
|Weightage||Number of function points||Total|
|Total function score||34|
|Estimate for each function point||5|
|Total estimate effort||170|
Once you know the necessary effort, you can assign resources to determine how long a task will take (time), and then you can estimate labor and non-labor costs.
Step C) Estimate the cost of the task
This step will help you answer the last question of your customer: “How much does it cost?”
Let’s say the average team’s salary is $ 5 / hour. The time required for the “Create Test Specs” task is 170 hours. Then the cost for this task is 5 * 170 = 850 $. Now you can calculate the budget for other activities and get the total budget of the project.
As a project manager, you have to decide how to get the most out of your company. The more accurate your project cost estimates, the better you can manage your project’s budget.
METHOD 2) Estimate 3 points
Estimate 3 points is one technique that can be used to estimate for that task. With this technique, 3 values are initially produced for tasks based on prior experience or best prediction as follows:
When estimating a task, Test Manager needs to provide 3 values as defined above. 3 values are defined as: estimate what happens in ** optimal state **, what is most likely to happen , or what you think is the worst case .
For example: With the task “Create the test specification”, you can estimate as follows:
- The best case for completing this task is 120 man-hours (about 15 days). With this case, you have a talented team, you can complete the task in the shortest time.
- The most likely case for completing this task is 170 man-hours (about 21 days). This is the basic case, you have the resources and the ability to complete this task.
- The worst case scenario for completing this task is 200 man-hours (about 25 days). You need to do more because your team members are inexperienced.
Now, assign values to each parameter as follows:
Effort to complete the task can be calculated using a double-triangular distribution formula as follows:
In which, E is the Weighted Average (weighted average). It is the estimate of the task “Create test specification”.
The above formula can only determine possible value, not a certain value. So if the boss asks, “What is the probability of the correct estimate?” then you can use the following formula:
In which, SD is Standard Deviation. This value can give you the probability of the correct estimate.
Then you can conclude the estimate of the estimate of task “Create test specification” as: 166.6 ± 13.33 man-hours (153.33 to 179.99 man-hour).
4. Step 4: Verify estimation
When you generate an aggregate estimate for all of the tasks covered in WBS, you need to pass it on to management for the manager to review and approve it.
Management board members may include the Executive Director, Project Director and other stakeholders.
The management board will work with you to review and discuss the cost estimate. You can explain to them your estimate in a logical and reasonable way so that they can approve your estimate.