Bird
Raised Fist0
Testing Fundamentalstesting~15 mins

Test estimation techniques in Testing Fundamentals - Build an Automation Script

Choose your learning style10 modes available
Estimate test effort using three-point estimation
Preconditions (2)
Step 1: Review the test case to understand the scope
Step 2: Provide optimistic time estimate (O) in hours
Step 3: Provide pessimistic time estimate (P) in hours
Step 4: Provide most likely time estimate (M) in hours
Step 5: Calculate the estimated time using formula: (O + 4*M + P) / 6
Step 6: Record the calculated estimate
✅ Expected Result: The calculated estimated time matches the formula result and is recorded correctly
Automation Requirements - Python unittest
Assertions Needed:
Verify the calculation formula is applied correctly
Verify the output estimate is a float and within expected range
Best Practices:
Use clear function names
Use parameterized tests for different inputs
Include assertion messages for clarity
Automated Solution
Testing Fundamentals
import unittest

class TestEstimationTechniques(unittest.TestCase):
    def three_point_estimate(self, optimistic, most_likely, pessimistic):
        return (optimistic + 4 * most_likely + pessimistic) / 6

    def test_three_point_estimate(self):
        # Example inputs
        optimistic = 2.0
        most_likely = 4.0
        pessimistic = 8.0

        estimated_time = self.three_point_estimate(optimistic, most_likely, pessimistic)

        expected = (2.0 + 4 * 4.0 + 8.0) / 6

        self.assertIsInstance(estimated_time, float, "Estimated time should be a float")
        self.assertAlmostEqual(estimated_time, expected, places=5, msg="Estimate calculation is incorrect")

if __name__ == '__main__':
    unittest.main()

This test defines a function three_point_estimate that applies the formula (O + 4*M + P) / 6.

The test test_three_point_estimate uses example values for optimistic, most likely, and pessimistic times.

It calculates the estimate and asserts two things: the result is a float, and the value matches the expected calculation.

This ensures the estimation logic is correct and the output type is valid.

Common Mistakes - 3 Pitfalls
Using integer division instead of float division
Not validating input types before calculation
Hardcoding expected values without formula
Bonus Challenge

Now add data-driven testing with 3 different sets of optimistic, most likely, and pessimistic inputs

Show Hint

Practice

(1/5)
1. Which of the following best describes the purpose of test estimation in software testing?
easy
A. To predict the time and effort needed for testing activities
B. To write test cases for all features
C. To find all bugs in the software
D. To automate all test scripts

Solution

  1. Step 1: Understand the role of test estimation

    Test estimation is used to predict how much time and effort testing will take.
  2. Step 2: Compare options to the definition

    Only To predict the time and effort needed for testing activities matches this purpose; others describe different testing tasks.
  3. Final Answer:

    To predict the time and effort needed for testing activities -> Option A
  4. Quick Check:

    Test estimation = Predict effort [OK]
Hint: Test estimation predicts effort and time needed [OK]
Common Mistakes:
  • Confusing estimation with test case design
  • Thinking estimation finds bugs
  • Mixing estimation with automation tasks
2. Which of the following is the correct way to describe the Work Breakdown Structure (WBS) in test estimation?
easy
A. A method to automate test scripts
B. A hierarchical decomposition of testing tasks
C. A tool to find defects automatically
D. A way to write test cases faster

Solution

  1. Step 1: Define Work Breakdown Structure (WBS)

    WBS breaks down the testing work into smaller, manageable tasks in a hierarchy.
  2. Step 2: Match options with WBS definition

    A hierarchical decomposition of testing tasks correctly describes WBS; others describe unrelated activities.
  3. Final Answer:

    A hierarchical decomposition of testing tasks -> Option B
  4. Quick Check:

    WBS = Hierarchical task breakdown [OK]
Hint: WBS breaks work into smaller tasks [OK]
Common Mistakes:
  • Confusing WBS with automation tools
  • Thinking WBS finds defects
  • Mixing WBS with test case writing speed
3. Consider the three-point estimation technique with optimistic = 4 days, most likely = 6 days, and pessimistic = 10 days. What is the estimated time using the PERT formula?
medium
A. (4 + 6 + 10) / 3 = 7 days
B. (4 + 6 + 10) / 3 = 6.67 days
C. (4 + 4*6 + 10) / 6 = 7 days
D. (4 + 4*6 + 10) / 6 = 6.33 days

Solution

  1. Step 1: Recall the PERT formula for three-point estimation

    Estimated time = (Optimistic + 4 x Most Likely + Pessimistic) / 6
  2. Step 2: Calculate using given values

    (4 + 4*6 + 10) / 6 = (4 + 24 + 10) / 6 = 38 / 6 ≈ 6.33 days
  3. Final Answer:

    (4 + 4*6 + 10) / 6 = 6.33 days -> Option D
  4. Quick Check:

    PERT estimate = weighted average [OK]
Hint: Use PERT: (O + 4M + P) / 6 for estimate [OK]
Common Mistakes:
  • Using simple average instead of weighted
  • Mixing up formula order
  • Incorrect multiplication factor
4. A tester used expert judgment to estimate testing time but forgot to consider test environment setup. What is the likely impact on the estimate?
medium
A. The estimate will be too low, missing setup time
B. The estimate will be too high, adding extra time
C. The estimate will be accurate regardless
D. The estimate will cause syntax errors

Solution

  1. Step 1: Understand expert judgment and missing factors

    Expert judgment relies on experience; missing setup means some work is ignored.
  2. Step 2: Assess impact of missing setup time

    Ignoring setup causes underestimation, so estimate is too low.
  3. Final Answer:

    The estimate will be too low, missing setup time -> Option A
  4. Quick Check:

    Missing tasks = underestimate [OK]
Hint: Missing tasks cause underestimation [OK]
Common Mistakes:
  • Assuming estimate stays accurate without all info
  • Thinking missing tasks add time automatically
  • Confusing estimate errors with code errors
5. You have a testing project with tasks estimated as: Task A = 3 days, Task B = 5 days, Task C = 2 days. Using WBS, you break Task B into B1 = 2 days and B2 = 4 days. What is the correct total estimate for the project?
hard
A. 3 + 5 + 2 = 10 days
B. 3 + 5 + 2 + 4 + 2 = 16 days
C. 3 + (2 + 4) + 2 = 11 days
D. 3 + 2 + 4 = 9 days

Solution

  1. Step 1: Understand WBS breakdown of Task B

    Task B is split into B1 and B2, so B's estimate is sum of B1 and B2: 2 + 4 = 6 days.
  2. Step 2: Calculate total estimate

    Total = Task A + Task B (broken down) + Task C = 3 + 6 + 2 = 11 days.
  3. Final Answer:

    3 + (2 + 4) + 2 = 11 days -> Option C
  4. Quick Check:

    WBS sums subtasks for total [OK]
Hint: Sum subtasks in WBS for total estimate [OK]
Common Mistakes:
  • Adding original Task B and subtasks together
  • Ignoring subtasks and using old estimate
  • Miscounting total days
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard