When we talk about estimating test efforts, what we have planned and what is the actual outcome will always be different from each other to some extent. Estimation which is flexible and close to reality is considered to be the best but it comes with experience and practice. As it is said that hope for the best and prepare for the worst, so estimation of testing efforts should be set to have the best testing within the deadline but always spare a room to handle some unexpected issues. To support this, I have shown a graph which shows the difference between planned efforts and the actual efforts.
Planning in above case is ideal but the actual efforts is what is real. Nobody can estimate 100% when it comes to testing since there are many factors which are responsible for making the above difference. Test estimation should be realistic and accurate. It is important to consider them before preparing testing estimation. Estimation is just estimate because it may go wrong. In early stage of the project you should more frequently review the estimates and check if all factors are considered which affect the estimation and make modifications in the estimates if needed. Keep in mind that you should change the estimates only if there are major changes in the requirements. Here, I am going to list down most of the factors along with some of the guidelines to keep in mind while estimating for testing as follows.
Estimation Guidelines For Testing:
1. Size And Scope Of The Project:
This is an important factor here. If project is small and doesn’t require a big team, estimation will be easier to plan. On the other hand, for bigger projects, estimation will require extra effort and time. Larger projects will have more lines of code to test and also more test cases will be required for maximum test coverage. Time required will be more. So before planning the testing estimation, consider the size and scope of the project and proceed accordingly.
2. Type Of Testing Required:
To test the whole system is one of the key factor in estimating the testing efforts. Whether it’s manual testing or automation. If it is manual then most of the time will be spent in writing test cases and then executing them, writing the test results and making reports. On the other hand, if it is automation then most of the time will go in writing scripts and making reports. Estimation will differ in both the cases. Again, this also depends on what is the budget of the project since automation requires skilled tester and automation tools, which are costlier than manual testing.
3. Buffer Time:
The time for non-testing activities should be considered before estimation. Non-testing activities include creating test data, logging defects, preparing test reports and logging time in project management tool etc. Buffer time also helps in maximizing test coverage and handling unexpected scenarios (If any team member falls sick or unavailable etc.). It is always good to have some extra time for more testing. Test team can utilize the extra time in random or exploratory testing.
4. Use The Past experience As Reference:
While preparing the estimation the previous project experience plays an important role. It might be possible that the project on which you are doing the estimations may be similarities as earlier. Here we can take advantage of previous experience and try to avoid the issues or difficulties which we faced earlier. Before finalizing the estimates we need to analyze how the previous estimates were and are they delivered software on time.
5. Bug Life Cycle Consideration:
Sometimes it take more time to fix a defect if build is not stable and sometimes time taken is really less. So estimation should includes the time required to fix a defect or make a defect status closed. Estimation for testing should have flexibility to accommodate both situations. It is advisable to re visit estimations regularly since estimation should get updated with the current situations of the test projects.
6. Account Resource Planning In Estimation:
Resource management includes the availability of the test team members throughout the testing phase. If some members are not available due to any reasons or taking long leaves in between the testing phase or left the job after estimation is done, then estimation has to be set accordingly. The key guideline is that the estimation should be realistic. It avoids putting work pressure to other team members and distributes the workload equally when there are few resources available.
7. Can We Do Parallel Testing?
Think of the task that can be executed in parallel, if yes, then this can make testing estimation Do you have some easier. Even if the application under test having it’s older version where you can compare the results. In this way, you will get an idea, how to estimate efforts based on the previous similar project estimations. And also, we can try and avoid most of the difficulties those were faced in past projects. Based on your past experiences, you can make changes accordingly. So it would be easy to make your testing tasks.
8. Are you going to execute Performance Testing:
If you are planning to perform performance testing like load, stress or volume testing then estimation should have enough room for this. Performance testing is important to ensure quality of the software and should not be compromised.
[Kept intentionally blank for you to share your experience in comment below]
Over to you:
It is not possible to have 100% accurate estimation for testing but with experience and practice, you can be close to it. It is not possible to anticipate all the unexpected scenarios but it is possible to avoid some of them by keeping all the above points into consideration. Try and estimate the testing efforts in a realistic manner keeping project deadlines in mind and also according to your team member’s capability. Not all will have the same speed and capability so estimation should be made according to their limit. If you have more suggestions or guidelines on this, feel free to add them in the comment section below.
If you are not regular reader of this website then highly recommends you to Sign up for our free email newsletter!! Sign up just providing your email address below: