Software Test Estimation is taken into account as a management activity which calculates how long a fancy task would take to finish. Calculating test is major and important task in Test Management.
Why Test Estimation?
From customer we can expect two questions when we discuss potential test engagements.
What is Estimate?
How estimate is done?
- Resources- Here these resources are required to do the project tasks. The resources may be human resources, hardware equipments, facilities, funding or any other thing which is capable of definition which is required on completion of the project activity.
- Times- We know that time is the most valuable resource in a project. Every project is having a target or end date to delivery.
- Human skills- It means the knowledge and experience of the team members. They affect estimation. For example, team, whose members have a low testing skills, will take more time to finish the project from those who has a higher testing skills.
- Cost- It is nothing but project budget. Meaning how much money will be spent on the completion of the project.
How estimation is done?
There are list of software estimation techniques:
- Work breakdown structure
- 3-point software testing estimation technique
- Wide band Delphi technique
- Function point/Testing point analysis
- Use-case point method
- percentage distribution
- Ad-hoc method
Some of them are explained as
- Work Breakdown structure-
Here there are steps to describe this technique
- Create WBS breaking down the test project into small pieces.
- We have to divide the modules in its sub parts.
- Again divide the sub modules into its sub functionalities.
- We review all the testing requirements to make sure they are added in WBS.
- Figure out the number of tasks our team needs to complete.
- Estimate the effort for each task.
- Estimate the duration of each task.
- Wideband Delphi Technique-
In this, WBS is distributed to entire team comprising of 3-7 members for re-estimating the tasks. The final estimate is the outcome of the summarised estimates based on the team consensus. This method speaks more experience as on then any other statistical formula.
- Function Point/Testing Point analysis-
This indicate the functionality of the software application from the client’s perspective and is used as a technique to estimate the size of a software project. Some important components are required to calculate FP’s. They are:
Unadjusted Data Function Points-Internal files, External files
Unadjusted Transaction Function points-It has User Inputs, User outputs,User inquiries.Capers jones basic formula
Number of test cases=(Number of function points)X1.2
Total Actual Effort(TAE)-
(Number of test cases)X(Percentage of Development effort/100)
Estimate size for task:
If we have already broken he whole project task into the small task by using WBS method. Now estimate the size of the tasks. We have to create the specification of test. The size of this task will depend on the functional size as it reflects the amount of the functionality that is relevant to the user. The number of functionality,the more complex system will be. We have to start estimating tasks effort, functional point that are divided into three groups like complex, medium and simple
Complex system consists of many components interact with each other.
Systems with limited number of components
Simple components composed of small components.
The test estimation practices are:
Add some buffer time-
When we are doing project many bad things happen to our project like our talented team member will quit his job suddenly, the testing will takes more time than estimated to complete.So we need to include some buffer in the estimation.
Account Resource planning in estimation:
What should we do if some members in the team take a long leave. It may delay the project. Resource planning in estimation plays key role. The availability of resources will help to make sure that the estimation will be realistic.
Use the past experience as reference
Experiences from the past projects play a vital role by preparing the time estimates. Because of many project may be some similarity we can reuse the past estimation.
Questions
1. What is software estimation?
2. Why software estimation technique is used?