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.
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
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