Bird
Raised Fist0
Testing Fundamentalstesting~10 mins

Cost of bugs at different stages in Testing Fundamentals - Test Execution Trace

Choose your learning style10 modes available
Test Overview

This test simulates finding a bug at different stages of software development and verifies the cost impact at each stage.

It checks that bugs found earlier cost less to fix than those found later.

Test Code - unittest
Testing Fundamentals
import unittest

class TestBugCost(unittest.TestCase):
    def cost_of_bug(self, stage):
        costs = {
            'requirements': 100,
            'design': 500,
            'coding': 1000,
            'testing': 5000,
            'production': 10000
        }
        return costs.get(stage, 0)

    def test_bug_costs(self):
        # Bug found at requirements stage
        cost_req = self.cost_of_bug('requirements')
        self.assertEqual(cost_req, 100)

        # Bug found at design stage
        cost_des = self.cost_of_bug('design')
        self.assertEqual(cost_des, 500)

        # Bug found at coding stage
        cost_code = self.cost_of_bug('coding')
        self.assertEqual(cost_code, 1000)

        # Bug found at testing stage
        cost_test = self.cost_of_bug('testing')
        self.assertEqual(cost_test, 5000)

        # Bug found at production stage
        cost_prod = self.cost_of_bug('production')
        self.assertEqual(cost_prod, 10000)

        # Verify costs increase with later stages
        self.assertTrue(cost_req < cost_des < cost_code < cost_test < cost_prod)

if __name__ == '__main__':
    unittest.main()
Execution Trace - 8 Steps
StepActionSystem StateAssertionResult
1Test startsTest framework initialized, test class loaded—PASS
2Calls cost_of_bug('requirements')Returns 100assertEqual(100, 100)PASS
3Calls cost_of_bug('design')Returns 500assertEqual(500, 500)PASS
4Calls cost_of_bug('coding')Returns 1000assertEqual(1000, 1000)PASS
5Calls cost_of_bug('testing')Returns 5000assertEqual(5000, 5000)PASS
6Calls cost_of_bug('production')Returns 10000assertEqual(10000, 10000)PASS
7Checks costs increase with later stagesValues: 100 < 500 < 1000 < 5000 < 10000assertTrue(cost_req < cost_des < cost_code < cost_test < cost_prod)PASS
8Test endsAll assertions passed—PASS
Failure Scenario
Failing Condition: If cost values do not match expected or order is incorrect
Execution Trace Quiz - 3 Questions
Test your understanding
What does the test verify about bug costs?
ABugs cost less to fix the later they are found
BBugs cost the same at all stages
CBugs cost more to fix the later they are found
DBug cost is random
Key Result
Testing cost impact at different stages helps teams understand why early bug detection saves money and effort.

Practice

(1/5)
1. Which stage is generally the cheapest to fix a bug in software development?
easy
A. During the requirements or design phase
B. After the software is released to customers
C. During system testing
D. During user acceptance testing

Solution

  1. Step 1: Understand bug fixing costs by stage

    Fixing bugs early, such as during requirements or design, is cheaper because changes are easier to make before coding starts.
  2. Step 2: Compare later stages

    Fixing bugs after release or during testing is more expensive due to rework, retesting, and possible customer impact.
  3. Final Answer:

    During the requirements or design phase -> Option A
  4. Quick Check:

    Early bug fixes cost less = A [OK]
Hint: Fix bugs early in design to save cost [OK]
Common Mistakes:
  • Thinking bugs cost the same at all stages
  • Assuming fixing bugs after release is cheapest
  • Confusing testing phase with design phase
2. Which of the following statements correctly describes the cost trend of fixing bugs?
easy
A. Cost increases as bugs are found later in development
B. Cost remains constant regardless of when bugs are found
C. Cost decreases as bugs are found later in development
D. Cost is highest during requirements gathering

Solution

  1. Step 1: Recall cost trend principle

    The cost to fix bugs generally increases the later they are found in the development cycle.
  2. Step 2: Evaluate each option

    Cost increases as bugs are found later in development correctly states the cost increases later; others contradict this known fact.
  3. Final Answer:

    Cost increases as bugs are found later in development -> Option A
  4. Quick Check:

    Later bugs cost more = C [OK]
Hint: Later bug discovery means higher fix cost [OK]
Common Mistakes:
  • Choosing cost decreases later
  • Assuming cost is constant
  • Confusing highest cost stage
3. Consider this simplified cost multiplier for fixing bugs at different stages:
Requirements: 1x, Design: 5x, Testing: 10x, Production: 50x
If a bug costs $100 to fix during requirements, how much will it cost if found in production?
medium
A. $500
B. $1,000
C. $50,000
D. $5,000

Solution

  1. Step 1: Identify cost multiplier for production

    The production stage multiplier is 50x the requirements cost.
  2. Step 2: Calculate production cost

    Cost = $100 * 50 = $5,000.
  3. Final Answer:

    $5,000 -> Option D
  4. Quick Check:

    100 * 50 = 5000 [OK]
Hint: Multiply base cost by stage multiplier [OK]
Common Mistakes:
  • Multiplying by 10 instead of 50
  • Confusing production with testing stage
  • Incorrect multiplication
4. A developer wrote this statement:
The cost to fix bugs is the same at all stages of development.
What is wrong with this statement?
medium
A. It correctly states the cost is equal at all stages
B. It ignores that fixing bugs later is more expensive
C. It only applies to bugs found during testing
D. It applies only to minor bugs

Solution

  1. Step 1: Understand cost variation by stage

    Bug fixing cost varies and increases the later bugs are found.
  2. Step 2: Identify error in statement

    The statement wrongly claims cost is the same at all stages, ignoring this fact.
  3. Final Answer:

    It ignores that fixing bugs later is more expensive -> Option B
  4. Quick Check:

    Cost varies by stage, not equal [OK]
Hint: Bug fix cost rises later, not constant [OK]
Common Mistakes:
  • Agreeing cost is equal always
  • Thinking it applies only to testing bugs
  • Assuming minor bugs cost same always
5. A company found that fixing a bug during testing costs $2,000, and fixing the same bug after release costs $20,000. If the cost to fix during requirements is $200, what is the approximate cost multiplier increase from requirements to testing and from testing to production?
hard
A. Testing is 5x requirements; production is 20x testing
B. Testing is 10x requirements; production is 5x testing
C. Testing is 10x requirements; production is 10x testing
D. Testing is 20x requirements; production is 10x testing

Solution

  1. Step 1: Calculate testing multiplier

    Testing cost / requirements cost = 2000 / 200 = 10x.
  2. Step 2: Calculate production multiplier relative to testing

    Production cost / testing cost = 20000 / 2000 = 10x.
  3. Final Answer:

    Testing is 10x requirements; production is 10x testing -> Option C
  4. Quick Check:

    2000/200=10 and 20000/2000=10 [OK]
Hint: Divide costs stage-wise to find multipliers [OK]
Common Mistakes:
  • Mixing up multipliers between stages
  • Incorrect division order
  • Assuming multipliers are equal to costs
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