Full Text

Research Article

Understanding 3 Point Test Estimation Technique


Abstract

Every software development company focuses on product quality assurance. It is a crucial and time-consuming activity in every software development project; therefore, it must be planned, and its execution must be monitored to have reliable software tested within the timelines of the Project. Software Cost/Effort Estimation is a vital activity in software development projects that allows Quality Assurance Managers to forecast, predict, and accurately quote the budget, schedule, and manpower effectively to save from overruns or underruns thereby attempting to optimize the crucial factors leading to project success. There are various Software Testing techniques that can be used for Estimation based on several factors. This paper discusses how 3-Point Test Estimation technique can be implemented to estimate Testing Projects by showing calculations using example of a sample project. In the sample Project, PERT and Triangular Distribution methods have been used for 3-Point Test Estimation to demonstrate their usage and show differences in estimates.

 

Keywords: 3 Point Estimation; Testing Estimation; Test Estimation Technique; PERT; Triangular Distribution; Software Testing.

 

1. Introduction

Effort estimation is a big challenge for anyone managing a project. In a software development project, testing is essential to assure product quality. However, it is a time-consuming activity, and its work must be estimated for successful project execution. Software testing estimation determines the time and cost needed during the testing process. For small-scale software testing assignments, time and test effort are easy to calculate. However, larger projects can be difficult to estimate. When testing resources are underestimated or overestimated, it can cause big issues with the overall costing of the Project.

 

Software Test Estimation enables the QA (Quality Assurance) Managers to predict how long it will take to test a system, QA resources required to be allocated, and cost to perform the tests. Depending on the project information available, cost and clarity of the Project, different Test estimation Techniques can be used to give a fair estimate of the testing tasks. Some of the Test Estimation techniques commonly used are Use Case Point Test, Function Point Analysis, 3-Point Estimation, Agile Story pointing, to name a few of them.

 

Effort estimation often requires generalizing from a small number of historical projects. Each of the Testing effort estimation methods have some limitations1. A lot of them are intended for the estimation of effort for some specific level of testing. The input data required for the estimation methods can also cause some limitations in their usage like some projects use test cases as an input2,3, others may use Use Cases4 or Software Requirement Specifications (SRS) document5,6. Among the other limitations of the selected publications regarding testing effort estimation, one can also observe the limited scope of application or impossibility of implementation.

 

Specifically talking about 3-Point Test Estimation technique, QA Managers have used this technique to come up with better estimates about future testing projects by taking best-case and worst-case scenarios, combining them with the most likely scenario, and using that to determine the testing estimates for future projects. This paper will discuss in detail how 3-Point Test Estimation technique be used for estimating testing projects, advantages of using the technique and most common challenges faced. The paper further discusses how PERT and Triangular distribution methods are used for doing 3-Point Test Estimation.

 

2. What Is 3-Point Test Estimation Technique

Three Point Test Estimation or a 3-point Test Estimation is a technique used in project/ testing management for estimating the time, cost, or effort required for completing a task. It considers the uncertainty and variability inherent in project/ testing tasks. The technique divides the task into smaller sub-tasks. This is a statistical method where three possible scenarios are estimated for each sub-task based on prior experience or best guesses [7].

The 3 possible scenarios are:

·Best Case Estimate

·Most Likely Estimate

·Worst Case Estimate

·Best Case Estimate (B): This is the best-case scenario estimate, assuming everything goes smoothly without any issues or delays. It assumes that the project aspects like the presence of a highly skilled team, availability of necessary resources, and everything else will go right and the project will face no blockers.

·Most Likely Estimate (M): This is the best estimate of the time, cost, or effort required based on your understanding of the task or project and considering all relevant factors. It assumes that when the team is skilled, with enough project resources, most of the things will go well with very few blockers.

·Worst Case Estimate (W): This is the worst-case scenario estimate, assuming everything that could go wrong does go wrong, leading to delays, obstacles, or unexpected challenges. When the team is insufficiently skilled, the project has limited resources and most things will not go as planned.

 

Now using any other estimation technique, testing project is estimated for all the 3 scenarios mentioned above – Best Case Estimate, Most Likely Estimate and Worst Case Estimate. The Final Estimates is then found out by applying these values to the formula given below [8]:

Estimate (E) = [(Best Case Estimate) + {4 * (Most Likely Estimate)} + (Worst Case Estimate)] / 6

The formula weighs heavily on the most likely estimate, putting emphasis that the most likely estimate would be closer to the actual estimate is from PERT method to calculate 3-Point Estimation.

Standard Deviation in Estimates for the Project is also calculated using below formulae:

Standard Deviation (SD) = [(Worst Case Estimate) - (Best Case Estimate)] / 6

The nearest testing estimate for the Project can be considered to vary within the range of (E-SD) to (E+SD).

 

3. Understanding 3-Point Test Estimation with Example

Sample Project: Project is to do Quality Assurance of FX Trading Platform Application supporting 10 different Flows.

·Solution: The Team Estimating for the Project might like to consider equivalent Trading Platform Applications that Company might have done the Projects on. Suppose there is an equivalent Equity Trading Platform Project that Company has worked on with similar number of flows supported. Let us assume Team was experienced and took 500 man-hours to complete Equity Trading Platform Project without any major issues.

Now Team will consider the 3 scenarios:

·Best Case Estimate: FX Trading Platform to be estimated is exactly the same as Equity Trading Platform Application supporting similar flows. It is assumed that the project will have experienced resources with the required skill-set, and no difficulty or crisis will arise. In this case, we can assume that it would take similar time for FX Trading Platform as it took an experienced team to complete Equity Trading Platform Project i.e. 550 man-hours.

·Most Likely Estimate: FX Trading Platform to be estimated is similar to Equity Trading Platform Application supporting similar flows. However, the team requires knowledge transfer to work on a new Product, there would be different processes and different Tools might be used. There would also be some unknowns to be discovered later, but most of the things are assumed to go well. Let us assume it would take 700 man-hours to complete the Project in this scenario.

·Worst Case Estimate: In Worst Case Estimate, Team assumes that the assumption of FX Trading Platform behaving similar to Equity Trading Platform will not hold true. There would be very different trade flows for FX Trading Platform, QA resources will require time to ramp-up to understand the Product and the application. The team would discover many unknowns as they would gain more knowledge about the system, but are not estimated at start of the Project. So, assuming 1000 man-hours to complete the Project in this scenario.

 

Please note that the Estimates for the 3 scenarios mentioned above, are based on the existing Equity Trading Platform application, which team has already worked on and has the Estimates for that Application. We are extrapolating those estimates to be used for Estimation of FX Trading Platform application.

So, based on the Estimates for 3 scenarios. 3-Point Estimate and Standard Deviation is calculated.

 

 3-Point Estimate (E) = [550 + (4 * 700) + 1000] / 6 = 725 man-hours

Standard Deviation (SD) = (1000 – 550) / 6 = 75 man-hours

Based on above Estimates for 3-Point Estimate and Standard Deviation, nearest testing estimate for FX Trading Platform Project can be considered to vary within the range of:

(725 - 75) to (725 + 75) => 650 to 800 man-hours

 

4. Pert and Triangular Distribution

The Program Evaluation and Review Technique (PERT) and Triangular Distribution are models to calculate 3-Point Test Estimation Technique.

The PERT model works according to a what-if technique that allows for estimating possible risks. It considers that the Estimates would be more inclined to the most likely scenario. Thus, the 3-Point Distribution Estimate following PERT gives more weightage to the most likely Estimate [9]. Formulae for PERT using 3-Point Estimation is the same as described in the above section; also mentioned below:

 

Estimate (E) = [(Best Case Estimate) + {4 * (Most Likely Estimate)} + (Worst Case Estimate)] / 6

 

PERT Distribution gives more of a parabolic curve with higher probability on the most likely estimate. The graphs for PERT Distribution may vary based on the actual Estimates of the 3 scenarios calculated.

 

A graph showing a curve

Description automatically generated with medium confidence

 

However, Triangular Distribution is a common formula used when there is insufficient historical data to estimate duration of an activity. Triangular Distribution gives equal weightage to the 3 scenarios [10]. Formulae used for 3-Point Estimation using Triangular Distribution is mentioned below:

 

Estimate (E) = [(Best Case Estimate) + (Most Likely Estimate) + (Worst Case Estimate)] / 3

 

A diagram of a triangle

Description automatically generated

So, we calculated Estimate for FX Trading Platform Project in the above section to be 700 man-hours was using the PERT Technique. If for the same FX Trading Platform example used Triangular Distribution to calculate 3-Point Estimation, considering there was no Project/ historical data to baseline on, then the Estimation would have been as below:

 

Estimate using Triangular Distribution = [550 + 700 + 1000] / 6 = 750 man-hours

Thus, the nearest testing estimate for FX Trading Platform Project using Triangular Distribution can be considered to vary within the range of:

(750 - 75) to (750 + 75) => 675 to 825 man-hours

Both PERT and the triangular distribution provide a more sophisticated approach to estimation than simply taking a single-point estimate. They consider the range of possible outcomes and the likelihood of each, resulting in more accurate estimates for project planning and management.

 

5. Advantages and Limitations Faced Using 3-Point Estimation

Every Estimation Technique has its advantages and limitations and depending on the size of the Project, resources/ Tools available for Estimation, etc., different Test Estimation Techniques can be used. 3-Point Test Estimation technique also has its pros and cons, some of them are listed below.

 

Advantages of 3-Point Test Estimation Technique:

·3-Point Estimation technique considers various scenarios that may take place during product testing. It considers inherent uncertainty in the Projects. This approach allows for a more realistic assessment of potential outcomes.

·The technique considering Best and worst case scenario helps QA Managers identify and mitigate risks more effectively.

·Using PERT and Triangular Distribution methods in 3-Point Estimation, the technique tends to produce more accurate estimates compared to single-point estimation methods.

·The technique captures the variability in task durations, costs, or efforts by considering a range of possibilities rather than assuming a single fixed value.

·The 3-Point Estimation Technique provides a structured approach to estimation that can be standardized across projects within an organization.

 

Limitations of 3-Point Test Estimation Technique:

·Collecting and analyzing data to determine 3 separate estimates for each task can be time-consuming, especially for large or complex projects.

·3-Point Estimates is all based on quality of data or reference Project. If Quality of data used to estimate is not good or if there are too many assumptions, then Estimates may not give correct numbers, thus effecting cost and timeline of the Project.

·Best Case, Worst case and most likely scenarios used for Test Estimation are often based on individual judgement and experience.

·The technique assumes independence between tasks, meaning that the duration, cost, or effort of one task does not affect another. In reality, tasks are often interdependent, and delays or issues with one task can cascade to others, affecting overall project timelines and cost.

 

6. Conclusion

Any Project -Software Testing or any other cannot be started without having an Estimate of the Project. All the Stakeholders try to have Estimates which could be accurate so that Projects can be completed on time and within the costs. 3-Point Test estimation technique is also one of the Estimation techniques which is used to calculate the time estimation for Testing and other fields Projects based on statistical factors considering different scenarios. Like with every estimation technique, 3-Point Test estimation technique also has its advantages and limitations. Overall, the 3-Point Estimation Technique offers a more sophisticated and nuanced approach to estimation that accounts for uncertainty, variability, and risk, leading to improved project planning, management, and decision-making. After carefully studying the requirements of the Project, Test estimation techniques should be used.

 

7. References

  1. Bluemke I, Malanowska A. Software testing effort estimation and related problems: A systematic literature review. ACM Comput Surv 2021;54: 38.
  2. International Journal of Engineering Research and Applications. National Conference on Developments, Advances and Trends in Engineering Sciences (NCDATES’15). National Conference on Emerging Trends in Engineering and Technology 2015;12-19.
  3. Nguyen V, Pham V, Lam V. qEstimation: A process for estimating size and effort of software testing. Proceedings of the international conference on software and system processing. ACM 2013; 20-28.
  4. Nageswaran S. Test effort estimation using use case points. Proceedings of the Quality Week Conference 2001.
  5. Sharma A, Kushwaha DS. A metric suite for early estimation of software testing effort using requirement engineering document and its validation. Proceedings of the 2nd International Conference on Computer and Communications Technology 2011; 373-378.
  6. Sharma A, Kushwaha DS. An empirical approach for early estimation of software testing effort using SRS document. CSI Trans ICT 2013; 51-66.
  7. Botplay. 6 Ways to Estimate Effort in Software Testing. Botplayautomation 2022.
  8. Maniyar MAR, Hakeem MA, Zafar MKMU. Effort estimation for performance testing of software applications. International Journal of Innovative Research in Computer and Communication Engineering 2018;6: 9557-9563.
  9. Three-Point Estimating PMP® Exam Resource. Projectmanagementacademy 2021.
  10. Triangular Distribution-Three-point estimating technique. Projectmanagement 2023.