Sunday, July 12, 2015

Test Effort Estimation



                                                           Test Estimation
Estimation skill is important skill to those who are working as Test Manager and Test Lead. Even if some one is working as a senior tester, then they also able to calculate the effort estimation for their own work.

 First Question Come in our mind before starting the testing are:

1.What will be done?
2.How much time it will take?


So first we discuss some factors that we have to be including during the calculation of the Effort Estimation.

       Size of the System.
If it’s a complex or big system than it takes more effort. It is also be possible what is the size of the system component that need to be tested and we have to be considered when doing the effort estimation.

     Types of testing needed –It can be functional testing or it can be both like functional testing and Performance testing. so in effort estimation if multiple type testing needed than we can create the test estimate for those separately  and add all of them up.

    Scripted or Exploratory System- Another factor in testing estimation is whether we go for scripted or exploratory testing, if scripted testing is being used than we need to estimate the time it will take to create the test script that will be executed and sometimes almost of the time both scripted and exploratory testing is used we need to estimate time effort required for each one of these types of testing.

         Supporting activities-In Test estimation we need to include some supporting activities also. There are the activities of bug reporting, Retesting, regression testing ,meetings, entering time etc
         How many test cycles-Some people make the mistake just assuming that there will be a single test cycle that means all the test will be executed once and everything will pass which is not the reality.
In reality multiple test cycle are required because in the first test cycle you will find certain defects those defects will be fixed and you will get another build which you need to test so you can assume there will be 2 cycle one after the another and do the estimation for both these test cycles

Test Estimation Approaches:
1.       Historical data of Completed Projects – First approach is applying  to use the data of completed projects so this is useful in case it is a very similar project to the previous project and you have the historical data of the previous project ,how much effort was required in testing for each and every task in testing and you can modify the data according to the current requirement set hand that you need to test and create the test estimates.
2.       Your organization own estimation approach-Second approach can be organization custom approach some organization have their own estimation approach, they consider a number  of factors and using some formula they come up with the overall test effort estimate so if your organization has its own effort estimation approach you can use that.
3.       Delphi method-Than there is Delphi method, in Delphi method you have number of experts who know about the requirement, who know testing and each with come their own individual test effort estimate and then they sit-down and they look at the effort estimate and the answer question if there are discrepancies between their estimates and ultimately they arrive at consolidated estimate. You can use this approach if you have multiple experts available, senior people who know about testing and who are very familiar with the system requirement then you can use the Delphi method.
4.       Expert Judgement- Than there is expert judgment approach, in expert judgment you do not look at details but using your past experience and knowledge you can come up with overall test effort estimate.
5.       Size based estimation approach –So you divide up the requirement into different sizes and then add up all those sizes, apply the conversion factor if it is available and from the size you can arrive at the effort estimate.
6.       WBS/Activities based estimation approach –A common approach and very useful approach in my opinion is the WBS(Work Breakdown Structure or activity based estimation approach) here you divide the overall testing activities into top level groups, than within each group you can list the activities basically form a hierarchy  of all the testing activities require to successfully conduct the testing on your system and for every bottom level activity come up with the estimate so this approach in my opinion gives you the most accurate test effort estimate.

Note : One thing to remember regarding the approaches that never rely on just one approach , apply at least couple of approaches, and see if you are getting the similar effort estimates that will give you the confidence in your effort estimates, if you are question by client or your management.

Question and Answers on Estimation.

Q.1 What data would you gather and analyze before starting the test effort estimation?
Ans: Scope of work is, what is really required before you can create the test effort estimate for example what is the size of the system, what type of testing like functional testing, performance testing, what is the test strategy, how many test cycle you have planned,what non testing activities(e.g. Test data generation, defect logging and tracking, meetings etc), the best approach is WBS approach that gives the accurate test effort estimation.

Q2. What approach would you use to create a test effort estimate?
Ans: Well it depends on the available data and times at hand, sometime we have great amount of data available and sufficient time is there than we can go for the detailed approach for example the WBS and if there is very less time and data is not there than we can use expert judgment, but at least you should use couple of approaches to find out test effort estimates are similar so you can get the confidence in your effort estimation.

Q3: Which approach would you prefer if the test effort estimates are needed quickly?
Ans: I would prefer estimating activities at a summary /group level. Then use another estimation approach to know if the estimates seem okay. Further, I would add some buffer, of say 5%, of overall effort, to use just in case there are unforeseen task to perform in the test.

Q4: What is the two estimate approach?
Ans : Some time client has a fixed budget for which they can be billed. AABut in reality task is time consuming and for that employee has to work late night and as well as on weekends. So for this situation two estimation will be created one for client on the basis of their fixed budget and another one is internal effort estimates that would be for Company to complete the task on time.

Q5 : What risk can incorrect your Test Effort Estimation?
1. Scope Risks (Important activities missed in estimation, last minute system changes )
2. Resource risks (resource not committed to projects or not productive)
3. Quality risks (build rejects)
4. Technical risks (test environment not available, test deleiverable not accepted)

So first find out the risk and best mitigation strategy to avoid those risks.

Q6: When would you revise the test effort estimates?
1. Scope Changes (e.g. new features added to the system under test ,new types of testing like load testing needed)
2. Resource Changes (e.g. team members replaced in the team)
 




No comments:

Post a Comment