Bird
Raised Fist0
Testing Fundamentalstesting~10 mins

Test estimation techniques in Testing Fundamentals - Test Execution Trace

Choose your learning style10 modes available
Test Overview

This test simulates estimating the time needed to complete a set of test cases using different estimation techniques. It verifies that the estimation method returns a valid positive number representing hours.

Test Code - unittest
Testing Fundamentals
import unittest

class TestEstimationTechniques(unittest.TestCase):
    def estimate_test_cases(self, num_cases, technique):
        # Simple mock estimation logic
        if technique == 'expert_judgment':
            return num_cases * 1.5  # 1.5 hours per case
        elif technique == 'historical_data':
            return num_cases * 1.2  # 1.2 hours per case
        elif technique == 'three_point':
            optimistic = num_cases * 1.0
            most_likely = num_cases * 1.5
            pessimistic = num_cases * 2.0
            return (optimistic + 4 * most_likely + pessimistic) / 6
        else:
            raise ValueError('Unknown estimation technique')

    def test_expert_judgment(self):
        hours = self.estimate_test_cases(4, 'expert_judgment')
        self.assertTrue(hours > 0, 'Estimated hours should be positive')

    def test_historical_data(self):
        hours = self.estimate_test_cases(4, 'historical_data')
        self.assertTrue(hours > 0, 'Estimated hours should be positive')

    def test_three_point(self):
        hours = self.estimate_test_cases(4, 'three_point')
        self.assertTrue(hours > 0, 'Estimated hours should be positive')

    def test_invalid_technique(self):
        with self.assertRaises(ValueError):
            self.estimate_test_cases(4, 'invalid_technique')

if __name__ == '__main__':
    unittest.main()
Execution Trace - 6 Steps
StepActionSystem StateAssertionResult
1Test startsTest runner initialized, test class loaded—PASS
2Runs test_expert_judgment methodCalls estimate_test_cases with 4 cases and 'expert_judgment' techniqueCheck that estimated hours > 0PASS
3Runs test_historical_data methodCalls estimate_test_cases with 4 cases and 'historical_data' techniqueCheck that estimated hours > 0PASS
4Runs test_three_point methodCalls estimate_test_cases with 4 cases and 'three_point' techniqueCheck that estimated hours > 0PASS
5Runs test_invalid_technique methodCalls estimate_test_cases with 4 cases and 'invalid_technique' techniqueExpect ValueError exceptionPASS
6Test endsAll tests executed successfully—PASS
Failure Scenario
Failing Condition: If estimate_test_cases returns zero or negative hours or does not raise error for invalid technique
Execution Trace Quiz - 3 Questions
Test your understanding
What does the test_expert_judgment method verify?
AThat the estimated hours for expert judgment are positive
BThat the estimated hours are exactly 6
CThat the test cases run without exceptions
DThat the estimation technique is unknown
Key Result
Always verify that estimation functions return valid positive values and handle unknown inputs gracefully by raising exceptions.

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