What is test estimation?
Test estimation is a prediction based on probabilistic assignment and is a continuous process, which should be followed and used throughout the project life-cycle.
Wiki definition of Estimate: Estimation is the process of finding an estimate, or approximation, which is a value that is usable for some purpose even if input data may be incomplete, uncertain, or unstable.
Test estimation is a process of finding estimation in terms of effort or cost in testing right from the starting of testing cycle till test closure.
Points to remember while estimating
- Estimation is nothing to do with availability of resources or team size. Team size and resource availability are required only when scheduling is done. If a task requires 10 hours to complete, the effort estimate is 10 hrs. It will not change even if we have 2 resources. It is just that it can now be finished in 5 hrs provide the task can be divided. But total effort will remain 10 hours. I have seen few websites which says availability of resource and team size is an important factor.
- Parallel testing – This is again wrongly quoted may times that it helps in estimation. It just helps in scheduling.
- Buffer time – Why buffer time? To reduce risk we may be prompted to add some buffer time. But you should remember, estimate is an estimate an approximate value and will never be equal to actual effort/cost/size.
- Re-estimation – Yes, you should ideally re-estimate your effort/cost/size at each stage of testing process. This will help you come as close as possible to the actual and reduce risk of overrun
Effective software estimation helps track and control cost/effort overruns. Estimation covers following broad areas
- Estimate size
- Estimate cost and effort