Test Estimation Techniques

Estimation very important thing in project, estimation nothing but estimating the effort that is require to test particular thing, estimation is more of a time required to test the software application. There are certain level of formulas and techniques which help to estimate the software effort required to test the particular piece of software.

As we know time is very important in IT industries, as we do each and every thing by define the certain time span. Sometime estimation can also go wrong, there are some unavoidable circumstances which can cause the delay. Means that even you do estimation but you cannot sure that everything will go as you estimate.

Let’s move ahead, I will tell you how you can estimate the time and effort required to evaluate any software. Basically estimation is mostly done by the QA manager some time it is also done by QA Team, but estimation is not done Junior QA. You might thing why not junior QA? So the reason is to estimate testing effort required, QA manager use his past experience and as based on those past experience QA manager estimate the time required for the testing. Estimation all comes from the past experience on similar project and resources available for testing.

Let’s start, suppose there is a software project and we have to estimate the testing effort for that particular project. Let consider we are developing the software by using waterfall model. And client want this project in 12 month. So there are 6 phases in waterfall model. And testing phase is 4th so if we have 12 month and 6 phase then each phase will have 2 months,

So we would get 2 month for testing. Now we have to estimate and divide these two month to testing activities. We know in testing there are three main activity which are Test Planning, Test Design and Test case executions. So will we divide these two month in these three activity so each activity will get the 1/3 month time for each. Means two month means 60 day by excluding Saturday Sunday we would get 40 days. Means for each activity we would get approximately 13 days.

There equation as of now is 13 day for test planning, 13 day for test design and 13 days for test case execution. Not only the time but we have to consider the resources available for test. Let’s say we have 2 resources. Consider each resource will work for 8 hour a day means 2 resources X 13 day X 8 hours = so we will get 208 hour for each activity. So this is how we can get the hour for each activity.

But we know there many unexpected circumstances which can occurs, once of them is someone is got the better opportunity and he is leaving the project. So this may happens now a days peoples are switching the job very frequently. So QA manager also need to take care of such a situation, for this situation QA manager should allocate sometime for Knowledge transfer. Let’s say for KT around 8 to 15 % should be allocated. So from 208 +208+208 = 624 hours we need to allocate around 12% time for KT, it also depends on complexity of the project. 12% comes around 60 hour’s means we would get only 564 hours for all testing activity.

There are also sub-activity in testing phase, like in planning, design and execution we have following sub-activities.

  • Requirement gathering
  • Test Scenario creation
  • Test Case Creation
  • Test Data collection and Creation
  • Review

Above all few sub-activities, again these activities can varies as per the company. We for each phase we get 188 hour (564 hours divided by 3) each. So we need to allocate the time to above mentioned points which is depends on the complexity of the functionality. By having detail knowledge of functionality and its complexity you can allocate the time for above mentioned point. And if possible put some buffer time as we know sometime or many time development activity gets delayed.

I hope you might some idea of how to estimate for testing. Its bit confusion but if you try to understand it then definitely you will get this easily.


No comments:

Post a Comment