Why Estimation Matters

Every sprint planning, every project kickoff, every stakeholder meeting includes the question: “How long will testing take?” Getting this answer wrong has real consequences:

  • Underestimate: Testing is rushed, bugs escape to production, team burns out
  • Overestimate: Budget is wasted, team credibility suffers, features are delayed unnecessarily

Good estimation is not about being perfectly accurate — it is about being close enough to make informed decisions.

Factors Affecting Test Estimates

Before applying any technique, understand what influences testing time:

FactorImpact on Estimate
Feature complexityMore complex = more test cases, more edge cases
Team experienceNew team or new domain = longer testing
Requirements qualityVague requirements = more exploratory testing, more rework
Test automation maturityMore automation = less manual execution time
Environment stabilityUnstable environments = blocked testing, delays
DependenciesExternal services, other teams = waiting time
Defect densityMore bugs = more retesting and regression
Regulatory requirementsCompliance testing adds overhead

Estimation Techniques

1. Work Breakdown Structure (WBS)

WBS breaks testing into smaller, estimable tasks. This is the most intuitive and widely-used technique.

Steps:

  1. List all testing activities
  2. Break each activity into sub-tasks
  3. Estimate each sub-task in hours
  4. Sum up for total estimate

Example:

ActivitySub-tasksHours
Requirements reviewReview 20 user stories8
Write acceptance criteria4
Test case designWrite functional test cases (40 cases)16
Write negative test cases (20 cases)8
Prepare test data4
Test executionExecute manual tests (60 cases)24
Execute automated tests (setup + run)8
Bug managementLog bugs, verify fixes, retest (est. 15 bugs)12
RegressionExecute regression suite8
ReportingDaily status, final report4
Total96 hours (12 days)

Pros: Transparent, easy to justify, catches hidden tasks. Cons: Time-consuming for large projects, accuracy depends on task granularity.

2. Three-Point Estimation (PERT)

Three-Point Estimation accounts for uncertainty by using three values:

  • O (Optimistic): Best case — everything goes perfectly
  • M (Most Likely): Realistic case — normal conditions
  • P (Pessimistic): Worst case — everything goes wrong

Formula (PERT):

Estimate = (O + 4M + P) / 6
Standard Deviation = (P - O) / 6

Example:

TaskOptimisticMost LikelyPessimisticPERT Estimate
Test case design12h16h28h17.3h
Test execution16h24h40h25.3h
Bug management4h12h24h12.7h
Regression4h8h16h8.7h
Total64h (8 days)

Pros: Accounts for uncertainty, statistically grounded, produces confidence ranges. Cons: Requires experience to set O/M/P values, team may default to pessimistic.

3. Wideband Delphi

A consensus-based technique where multiple experts estimate independently, then discuss and converge.

Steps:

  1. Present the testing scope to 3-5 experts
  2. Each expert estimates independently (no discussion)
  3. Collect estimates anonymously
  4. Reveal all estimates simultaneously
  5. Discuss outliers — why did someone estimate 5 days vs. 15 days?
  6. Re-estimate (independently again)
  7. Repeat until estimates converge (usually 2-3 rounds)

Example Round 1:

ExpertEstimate
QA Engineer A8 days
QA Engineer B14 days
QA Engineer C10 days
Dev Lead6 days

Discussion reveals: QA Engineer B included performance testing; Dev Lead forgot about regression. After adjusting scope understanding, Round 2 converges to 10-12 days.

Pros: Reduces individual bias, leverages team knowledge, builds consensus. Cons: Requires multiple experts, time-consuming, dominant personalities may influence.

4. Use Case Point Method

Estimates testing effort based on the number and complexity of use cases.

Steps:

  1. Count use cases by complexity (Simple, Medium, Complex)
  2. Assign weights: Simple = 5, Medium = 10, Complex = 15
  3. Calculate Unadjusted Use Case Points (UUCP)
  4. Apply technical and environmental complexity factors
  5. Convert to testing hours using a productivity factor

Example:

ComplexityCountWeightPoints
Simple5525
Medium81080
Complex31545
UUCP150

Adjusted UCP = 150 × complexity factor (e.g., 0.8) = 120 Testing hours = 120 × productivity factor (e.g., 0.5 hours/point) = 60 hours

5. Function Point Analysis

Estimates based on the functional size of the software (inputs, outputs, inquiries, files, interfaces). More formal but common in large organizations and government contracts.

6. Historical Data (Analogy-Based)

Use data from previous similar projects to estimate the current one.

Example: “The login module in Project A took 5 days to test. This project’s login module is similar but adds two-factor authentication. Estimate: 7 days.”

Pros: Grounded in reality, fast, easy to justify. Cons: Requires historical data, assumes similar conditions, past projects may not be comparable.

Estimation Accuracy Over Time

Estimates become more accurate as you learn more:

graph LR subgraph Estimation Accuracy E1[Initial Estimate
±50% accuracy] --> E2[After Requirements
±25% accuracy] E2 --> E3[After Design
±15% accuracy] E3 --> E4[During Testing
±5% accuracy] end style E1 fill:#F44336,color:#fff style E2 fill:#FF9800,color:#fff style E3 fill:#FFC107,color:#000 style E4 fill:#4CAF50,color:#fff

This is called the Cone of Uncertainty. Early estimates are inherently less accurate. Plan for this by providing ranges, not single numbers.

Exercise: Estimate Testing Effort Using Two Techniques

You are the QA lead for a project to build a hotel booking system. Features include:

  • User registration and login (with social login)
  • Hotel search (by location, dates, price, rating)
  • Room booking with payment (credit card, PayPal)
  • Booking management (view, modify, cancel)
  • Review system (rate hotels, write reviews)
  • Admin panel (manage hotels, view bookings, generate reports)

Team: 2 QA engineers (1 senior, 1 mid-level), both have experience with e-commerce but not hotel booking systems specifically.

Your task:

  1. Estimate using WBS — break testing into activities and sub-tasks with hour estimates
  2. Estimate using Three-Point Estimation — provide O/M/P for major testing activities
  3. Compare the two estimates and explain which you would present to stakeholders
  4. List 3 risks that could make your estimates wrong
Hint

Consider:

  • Payment testing needs extra time for security testing (PCI considerations)
  • Social login integration has external dependencies (Google, Facebook APIs)
  • Search functionality needs performance testing (complex queries)
  • Admin panel is often underestimated — it has many features
  • The team has no hotel booking domain experience — add learning time
  • Don’t forget regression testing, environment setup, and reporting
Sample Solution

WBS Estimate

ActivitySub-tasksSenior QA (h)Mid QA (h)Total (h)
Requirements reviewReview all features, write acceptance criteria12820
Test case designRegistration/login (15 cases)448
Search (20 cases)6410
Booking + payment (25 cases)8614
Booking management (15 cases)448
Reviews (10 cases)246
Admin panel (20 cases)6410
Test data preparationUsers, hotels, bookings, payment test data448
Test executionManual functional testing (105 cases)202444
Security testing (payments, auth)12012
Performance testing (search, booking)808
Cross-browser/device testing4812
Bug managementLog, verify, retest (~25 bugs estimated)8816
RegressionTwo regression cycles8816
ReportingStatus reports, final report426
Total110h88h198h (~25 days)

Three-Point Estimate

ActivityOptimisticMost LikelyPessimisticPERT
Requirements + design30h56h80h56h
Test execution (all types)50h76h120h79h
Bug management8h16h32h17h
Regression10h16h28h17h
Environment + data8h12h24h13h
Reporting4h6h12h7h
Total110h182h296h189h (~24 days)

Standard deviation: (296-110)/6 = 31h → 95% confidence range: 189 ± 62h = 127-251h (16-31 days)

Comparison

WBS estimate: 198 hours (25 days) PERT estimate: 189 hours (24 days)

Both estimates are close (~5% difference), which increases confidence. Present to stakeholders as: “24-25 working days, with a range of 20-31 days depending on defect density and environment stability.”

Risks That Could Affect Estimates

  1. Payment gateway integration issues: If the test sandbox is unreliable, payment testing could take 2x longer
  2. Higher-than-expected defect density: If we find 40 bugs instead of 25, bug management jumps from 16 to 28 hours
  3. Social login API changes: Google or Facebook could change their OAuth flow, requiring test case updates and new testing

Common Estimation Mistakes

  1. Forgetting non-testing tasks: Environment setup, meetings, documentation, learning time
  2. Estimating only happy paths: Negative testing often takes as long as positive testing
  3. Ignoring regression: Every bug fix needs regression testing
  4. Single-number estimates: Always provide ranges — “10 days” sounds precise but is misleading
  5. Not tracking actuals: Without historical data, estimates never improve

Pro Tips

  1. Track your estimates vs. actuals. After every project, compare what you estimated with what actually happened. This builds your estimation accuracy over time.

  2. Add a buffer for unknowns. For new domains or technologies, add 20-30% to your estimate. For familiar territory, 10-15%.

  3. Present ranges, not points. “We estimate 15-20 days” is more honest and useful than “We estimate 17.3 days.”

  4. Use Wideband Delphi for high-stakes estimates. When the estimate determines budget or headcount, involve multiple experts to reduce individual bias.

  5. Estimate testing during planning, not after. If you estimate after development starts, you are already behind.