In Software Testing, Test Estimation Techniques play a very important role in making the good reputation with the client while bidding the project for testing.
Each developed software application is unique in its own domain, and it is inconceivable to estimate software accurately at the first attempt. Even if the scope is understood and requirements are clear, it is still arduous to estimate a complex system that is going to be built with the finite requirements.
Test Estimation is the prediction or a rough idea to determine how much Testing effort would take to complete a defined testing task. Here the effort could be time or cost. An estimate is a rough idea how long a task would take to complete. An estimate is especially an approximate computation of the probable cost of a piece of work.
Software Test Estimation Techniques
Delphi Software Test Estimation Technique
It is widely used software testing estimation technique.
this Method is based on surveys and basically, collects the information from participants. In this estimation technique, each task is assigned to each team member & over multiple rounds surveys are conducted unless & until a final estimation of the task is not finalized. In each round, the thought about the task are gathered & feedback is provided. By using this method, you can get quantitative and qualitative results.
Work Breakdown Structure
It is created by breaking down the test project into small pieces. Modules are divided into sub-modules. Submodules are further divided into functionalities and functionalities are divided into sub-functionalities.
Review all the requirements from Requirement Document to make sure they are added in WBS. Now you figure out the number of tasks your team needs to complete. Estimate the duration of each task.
Three Point Estimation Technique
This estimation method is based on statistical data. It is very much similar to WBS technique, the task is broken down into subtasks & three types of estimation are done on this sub pieces.
Optimistic Estimate (Best case scenario in which nothing goes wrong and all conditions are optimal) = O_EST
Most Likely Estimate (most likely duration and there may be some problem but most of the things will go right) = M_EST
Pessimistic Estimate (worst case scenario which everything goes wrong.) = P_EST
Formula to find Value for Estimate (E) = O_EST + (4*M_EST) + P_EST / 6
Standard Deviation (SD) = = (P_EST – O_EST)/6
Functional Point Method
This technique is a direct indicator of the functionality of software application from the user’s perspective. This technique is a part of TMap. The base of this technique is function point technique. Here we convert function points into test points. In Test Point analysis, we usually carry out the following:
Dynamic Test Points
Static Test Points
Primary Test Hours
Total Test Hours
In Testing, This estimation is based on requirement specification document or a previously created prototype of the application. To calculate FP for a project, some major components are required.
The major components of Test Estimation Technique
Unadjusted Data Function Points: i) Internal Files, ii) External Interfaces
Unadjusted Transaction Function Points: i) User Inputs, ii) User Outputs & iii) User Inquiries
Capers Jones basic formula:
Number of Test cases = [Number of Function Points] x 1.2
Total Actual Effort, TAE = (Number of Test cases) * (Percentage of development effort /100)
This method is done in a case when a detailed low-level design document or requirement document is available & Previous data for development and testing is available. But nowadays, when we are using agile and iterative methodologies to deliver projects, so most of the times all this documentation is not available.