28 Feb

In order to be a successful in estimating, the software test project and proper execution are significant as the software development life cycle. Software testing 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 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.

One of the most important factors while estimating testing efforts is the experience on varied projects for the software test life cycle. Apparently one cannot just put some number of days for any task or taking the old time formula of one third of the development effort. This is one of the most widely used estimation technique by the companies offering software testing services. It is merely due to the fact that this method is not based on any scientific principle or technique. Unfortunately the development versus testing effort method has given many failures in the software projects, thereby compromising the efforts on quality.

In the recent years there were many techniques that have been developed for estimating the software testing. These techniques are: 3-Point Software Testing Estimation Technique, Use-Case Point Method and Wide Band Delphi Method.

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 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.
- Unadjusted use case point = Unadjusted actor weights + Unadjusted use case weight
- Adjusted use case point = Unadjusted use case point * [0.65+ (0.01 * 50]
- Total Effort = Adjusted use case point * 2

**Wideband Delphi:**

In Wideband Delphi Method, work breakdown structure is decomposed for each task and is distributed to a team comprising of 3-7 members for re-estimating the task. The final estimate is the result of the summarized estimates based on the team consensus. This method speaks more on experience rather than any statistical formula. This method was popularized by Barry Boehm to emphasize on the group iteration to reach to a consensus where the team visualized on the different aspects of the problems while estimating the test effort.

For any software testing estimation technique, it is highly recommended that following factors should be taken into account:

- Domain Knowledge and core requirements
- Risks and complexity of the application
- Team Knowledge on the subject/skills
- Historical data for the previous estimation for improvement and accuracy
- Estimation should include buffer time
- Bug cycles for the project
- Resources availability

However the techniques just provide the means for estimating but rely heavily on the team productivity variations, individual skills, complexity of the unknown factors like system environment and downtime.

Article author - M. Jha

*Comments by readers will be forwarded to the author. Response to comments will be posted subject to the editorial guidelines & policies of Rishabh Software.*

**Contact us today** or call us on **1-877-RISHABH (1-877-747-4224)** to learn more about how implementing the right software testing estimation technique can avoid compromising your applications quality. Put yourself at ease by relying on our Application testing services customized just for your application.

**We also recommend:**

- Software Testing Governance
- Software Regression Testing Best Practices
- Custom Software Development Services
- Build applications faster by outsourcing software development
- What is Usability

Enjoyed this article! Share it with others. | |

May 31, 2011

Are the estimates what we get by the above techniques is in hours?

Pl clarify me…

Thanks in Advance

May 31, 2011

Hi Chandu,

All the above techniques provide the estimates in hours which can be later attributed to person days and person man-months.

I hope I’m able to solve your query.

regards,

M Jha.

November 9, 2011

in the formula Test Estimate = P + (4*N) + E / 6

i need clarification.

is this applies to a single feature. For eg. i have a login screen with user id/pwd button

do i need to apply this formula just for validating user id field.

if so i have 1 positive, 4 negative scearnio.

is that right?

in the formula it is divided by 6. why it is divided by 6. do you have any specific reason. please clarify.

November 10, 2011

Hi Siva,

Hope below link will clarify your doubt

http://www.visionarytools.com/decision-making/3-point-estimating.htm

November 14, 2011

Hi Sivakumar K,

The techniques above specified can be applied to a single feature or mulitple features. None of the above mentioned techniques is used for finding out the negative scenarios or performing any validations.

The above techniques are used for getting the estimated effort for a certain defined tasks which is to be anlsysed for preparation and execution of test cases. The above formula is derived from PERT analysis and is little bit tweaked in terms of test cases, for getting the effort for set of test cases classified in positive(P), negative(N) and exceptional(E) test cases. Hence the effort is calculated as P+(4*N)+E/6. Values 4 and 6 are the constant and can be interpreted for the difficulty or the complexity of the test cases and can also be taken as optimistic, pessimistic and most likely classification based on the PERT analysis.

For example,

1. Say in a project you have total 705 test cases out of which 400 positive, 180 negative and 125 exceptional set of test cases then the effort calculated will be roughly estimated at 1140.833 with standard deviation of 9.16

2. In another example, say if you have total 7 test cases out of which 4 are positive, 2 negative, and 1exceptional, then the effort will be 12 with standard deviation of 0.16

I hope this solves your query.

Thanks & regards,

M Jha.

November 14, 2011

Hi Sivakumar M,

Thanks for the link that provides detailed information on PERT analysis and the 3 point estimation technique. However the 3-point mentioned in the above article is little bit tweaked for 3-point, as the software testing already deals into positive, negative and exceptional scenarios and then deriving the final effort.

Thanks & regards,

M Jha

January 4, 2012

Hi Jha,

Can you please give one example for Use – Case Point Method estimation techinque like as 3point estimaiton as above

Many thanks,

Venu R

January 5, 2012

Hi Venu,

Consider a project having 10 use cases for which there will be minimum 10 test cases. So as per Use Case Point method, we can derive the efforts as follows:

Say for 5 positive test cases it takes 5 minutes to execute, 3 negative test cases it takes 10 minutes and 2 exceptional test cases as 15 minutes respectively which can vary as per complexity of the test case execution then,

Unadjusted Actor Weights = 85 (summation of +ve, -ve and exceptional test cases with actor weight which is in minutes)

Unadjusted Use Case Weight = 10 (total no. of test cases or use cases)

Unadjusted Use Case Points = 85+10 = 95

Adjusted Use Case Point = 95* [0.65 + (0.01 * 50)] = 109.45, where 0.65 is the constant factor for technical complexity and (0.01*50 = 0.5) is the environmental constant for the test case execution in worst case scenario)

Total or Final Effort = 109.45 * 2 = 218.5

I hope this will help in understanding the final effort calculation for getting the test execution effort.

Normally we use UCP to calculate the project efforts but in this way you can calculate the efforts for the test efforts needed for the project.

Thanks & regards,

M Jha.

April 12, 2012

Appreciate Jha for a detailed explanation and example for UCP. It was really useful.

August 14, 2012

Hi, how do you know how many test cases will be needed when the requirements are not clear? How do you provide high level estimation at the initial stage?

August 16, 2012

Hi Deepika,

Very valid question. A lot of software test professionals are into this dilemma when the requirements are not clear and majority of the projects have a scope creep conundrum. From my perspective when the requirements are not clear then in that case, Three – Point estimation technique is the best way to derive the approximate no. of test cases. Three point estimation facilitates that for every requirement there will be one positive test case and for every positive test case there will be 4 negative test cases. By using the aforementioned formula you can derive the efforts for high level estimation. All the above estimation techniques if used correctly will provide you a tolerance of 5-10% variation or deviation against high level requirements estimated efforts.

Thanks & regards,

M Jha.

October 3, 2012

HI Jha,

How can u say “one positive test case and for every positive test case there will be 4 negative test cases”. Can you please give some example.

October 5, 2012

Hi Basu, thanks for pointing that out. On behalf of M. Jha, please see the response as below:

When there is an uncertainty in requirements then Three – Point estimation technique is the best way to derive the approximate no. of test cases. Here as per the technique “for every positive test case there will be 4 negative test cases”; but practically it may happen for some positive test cases there can be 4 negative test cases. And that’s why we are expecting tolerance of 5-10% variation or deviation against high level requirements estimated efforts.

Hope it helps solve your query. Do let us know if any doubt still exists.

Thanks once again.

December 29, 2012

Does this take into account complexity of the test case. What if my positive test case is more complex and will take more time to designe

December 29, 2012

Let me paraphrase my question. I am talking about the 3 point estimation technique, what will I do if I encounter a complex test case that has dependencies on other modules/3rd party softwares. Will this be treated as exceptional test case?

If not what is treated as an exceptional test case?

January 1, 2013

Hi Rohit,

Thanks for your time. Please see below the response to your query.

The complexity of test case has to be taken into consideration for positive, negative and exceptional scenarios. As you have rightly said that the complexity increases with 3rd party software integration. This integration complexity can have impact on positive and/or negative and/or exceptional test case.An exceptional test case would cover special cases or exceptional conditions similar to some of the alternative branches of a use case.Please let us know, if we’re able to solve your query.

Thanks

April 1, 2013

Pls explain the test effort estimation methods widely used with an real time example

April 7, 2013

Thank you for your time. A brief on the widely used estimation methods/techniques are already mentioned in the article. We will be doing a separate article on the same topic in the near future which will cover a real time example.