.. Continuing the Test Management Series
I have received many questions/queries and problems on estimation test case preparation time, testing cycles and testing activities.
So on peoples request I am posting some Software Test Estimation tips. Here you go:
1. Take the estimates that the developers and testers give you, and double them. :)
Triple them if there is a lot of multi tasking/task switching going on.
In all seriousness, people don't actually work 8 hours a day- there's meetings to attend, and email to read and respond to, and interruptions. Account for this in your schedule by only scheduling people for 6 hrs/day.
No tool is going to do this for you. Estimating is a combination of comparing the work to be with work that's already been done, along with your best guess.
2. If a module does nothing but set a parameter to a Boolean, such as WINDOW_OPEN :== TRUE, it should take less than an hour to test it. If a module reads many schedules and contains many decision paths, it could take a week to test the module. So an estimating tool would have to take module complexity into account.
I have divided software modules into three categories: high, medium, and low complexity. Based on past experience, I have calculated average time to develop and test each type of module. Then I created an Excel spreadsheet that automatically calculates labour hour estimates based on the number of high, medium, and low complexity modules in the software project. It is also a handy tool for the software change board meetings, where the PM must explain the cost, schedule, and risk implications of every change accepted for incorporation into an on-going software project.
As the above first point states - developers are notoriously bad at estimating. Therefore, objective data should be used whenever possible.
3. Using a tool will not give the reasonable estimation for a project.
From my experience, firstly know the project criticality and then divide them into high level and low level functionalities and then estimate the time required.
For high level functionalities ---
Like where the data is entered and where we are getting the output.
Note:if there are any calculations included in it,then the estimation time will be more.
Low Level functionalities--- Like UI, cosmetic
This will not take much time and here the estimated time is low.
4. According to Roger Pressman, testing takes between 30% and 40% of the total project effort.
I've been guessing this effort to my test and it rarely fails.
5. Here is one approach, if helpful. Derive test cases based on negative and positive flows depending on importance of the functional flow. For example, some functional flows which have high business intensity may need more test cases (4 positive flows, 4 negative flows and 1 normal flow) per functional flow. And some may need less test cases. Again categorize test cases into high, medium and low level test cases, so that it is easy to allocate time per test case. Convert number of test cases into efforts (x number of test cases needs N amount of time).
We have to consider this for test case writing, execution, automation etc. Other than them, test strategy, test plan etc. would be standard efforts.
6. There are different ways for estimation and it depends upon the organization estimation techniques. Some organization follow SMC model, some follow Wide-delphi technique (as defined in 1st Point) + Use case estimation.
It is better to understand the requirements, discuss with your team, gain the information from them, time that requirement might take to test and apply that information for estimating using the SMC model or wide delphi technique. You will reach a certain number. Based on that you can add the PM effort + Risk Mitigation( Code delay, requirement changes) + Buffer.
This will help to reach to the close estimating figure and then treat this estimation as baseline for future estimation.
Your estimation also need to counter the experience of the Team members.
7. The very best estimates will be gained from historical data. Check for the last time you worked on a project of similar scope, architecture, and complexity, pull out the timesheet data, and use that as your estimate.
In my experience, the only way that testing could come out reliably to a set percentage of the overall project (whether 30%, 40%, or whatever), is by self-fulfilling prophecy. Testing stops simply because the deadline's been reached, the budget's exhausted, and other projects are waiting.
8. Also, for some projects, No Estimation method is accurate for testing (TP, FP, etc). All testing estimations are company and project specific.
Testing usually takes 35 - 40% of the entire project effort. 15-20 % variation is always.
Go Back to –> Software Test Management Suite
Related Posts:
Click here to continue Reading this post....SPONSORED LINKS
