### Software Test Estimation

Software Test Estimation

Software Test Estimation is high level task in Software Testing Process, usually Test manager / Test Lead is responsible for Test Estimations, Test Lead takes Project Manager and other Senior people suggestions in order to prepare this document.

1) What Software Test Estimation?
2) Considerable factors for Test Estimation
3) Importance of Test Estimation
4) Test Estimation Techniques

5) Tips for Test Estimation
-----------------------------------------------------
1) What Software Test Estimation?

An Estimate is an approximation Of Budget, Time, and an approximate calculation of Quantity.

2) Considerable Factors For Test Estimation:

o    Scope of the Project
o    Budget
o    Time
o    Available Environment Resources
o    Available Skilled human Resources
o    Organization Experience

3) Importance of Test Estimation:

A study conducted by KPMG Pete Marwick found these causes of software runaways:

o    Project Objectives Not Fully Specified (51%)
o    Bad Planning and Estimating (48%)
o    Technology New to the Organization (45%)
o    Inadequate/No Project Management Methodology (42%)
o    Insufficient Senior Staff on the Team (42%)
o    Poor Performance by Suppliers of Hardware/Software (42%)

4) Test Estimation Techniques:

Function Point Analysis (FPA):

Method aiming to measure the size of the functionality of an information system. The measurement is independent of the technology. This measurement may be used as a basis for the measurement of productivity, the estimation of the needed resources, and project control.

3-Point Software Test Estimation:

3-Point Software Testing Estimation Technique is based on statistical methods in which each testing task is broken down into sub tasks and then three types on estimation are done on each tasks.

The formula used by this technique is:
Test Estimate = P + (4*N) + E / 6
Whereas

P = Positive Scenarios
N = Negative Scenarios
E = Exceptional Scenarios

Standard deviation for the technique is calculated as,
Standard Deviation (SD) = (N – E)/6

Use – Case Point Method:

Use-Case Point Method is based on the use cases where we calculate the unadjusted actor weights and unadjusted use case weights to determine the software testing estimation.

The formula used for this technique is:
Unadjusted actor weights = total no. of actors (positive, negative and exceptional)
Unadjusted use case weight = total no. of use cases.
Adjusted use case point = Unadjusted use case point * [0.65+ (0.01 * 50]
Total Effort = Adjusted use case point * 2

Experienced based Techniques:

In this approach Estimation can be done based on previous experience (Domain, Test Level, Test Type), It is informal method of Test Estimation, but reliable.

Expert based Techniques:

Industry Experts (Senior People) Estimates Test Process based on their Industry Experience, Study and Industry standards.

5) Tips for Test Estimation

Include some buffer Time, which is realistic. Using Buffer time tasks can be adjusted and better Test coverage is possible, but don’t include too much buffer time.

b) Try to measure strength of development team

Test Design depends on Requirements, and scope of the Project, but Defect Reporting & Tracking depends on strength of Development.

c) Consider Test Environment (Test Lab)

Accommodation, Hardware Configurations, Technical Support also Considerable factors, It influences test execution process.

d) Scope of Project

Consider Project’s scope, Scope depends on Customer business, and User groups, generally Financial Applications have more scope than ERP Application.

Note: Now a days Quality is important for every Software Application.

e) Consider Test Types

Consider Test Types, example Functional Testing, Performance Testing, and Usability Testing etc…
--------------------------------------------------------------------