Bird
Raised Fist0
Testing Fundamentalstesting~10 mins

Decision table testing in Testing Fundamentals - Test Execution Trace

Choose your learning style10 modes available
Test Overview

This test checks a simple calculator's behavior using decision table testing. It verifies that the calculator correctly adds or subtracts two numbers based on the selected operation.

Test Code - unittest
Testing Fundamentals
import unittest

class Calculator:
    def calculate(self, num1, num2, operation):
        if operation == 'add':
            return num1 + num2
        elif operation == 'subtract':
            return num1 - num2
        else:
            raise ValueError('Invalid operation')

class TestCalculator(unittest.TestCase):
    def setUp(self):
        self.calc = Calculator()

    def test_addition(self):
        result = self.calc.calculate(5, 3, 'add')
        self.assertEqual(result, 8)

    def test_subtraction(self):
        result = self.calc.calculate(5, 3, 'subtract')
        self.assertEqual(result, 2)

    def test_invalid_operation(self):
        with self.assertRaises(ValueError):
            self.calc.calculate(5, 3, 'multiply')

if __name__ == '__main__':
    unittest.main()
Execution Trace - 8 Steps
StepActionSystem StateAssertionResult
1Test starts - unittest framework initializes TestCalculatorTest environment ready, Calculator instance created—PASS
2Calls calculate(5, 3, 'add')Calculator receives inputs num1=5, num2=3, operation='add'—PASS
3Calculator performs addition and returns 8Result = 8Check if result == 8PASS
4Calls calculate(5, 3, 'subtract')Calculator receives inputs num1=5, num2=3, operation='subtract'—PASS
5Calculator performs subtraction and returns 2Result = 2Check if result == 2PASS
6Calls calculate(5, 3, 'multiply') expecting errorCalculator receives inputs num1=5, num2=3, operation='multiply'Check if ValueError is raisedPASS
7ValueError raised due to invalid operationException caught by testException matches expected ValueErrorPASS
8All tests completeTest report generated with 3 tests passed—PASS
Failure Scenario
Failing Condition: Calculator returns wrong result or does not raise error for invalid operation
Execution Trace Quiz - 3 Questions
Test your understanding
What does the test check when calling calculate(5, 3, 'add')?
AThat an error is raised
BThat the result is 8
CThat the result is 2
DThat the inputs are ignored
Key Result
Decision table testing helps cover all possible input combinations and expected outcomes systematically, ensuring no case is missed.

Practice

(1/5)
1. What is the main purpose of decision table testing in software testing?
easy
A. To improve software performance
B. To write code faster
C. To design user interfaces
D. To organize conditions and actions to cover all possible cases

Solution

  1. Step 1: Understand decision table testing basics

    Decision table testing helps testers list all conditions and their possible actions systematically.
  2. Step 2: Identify the main goal

    The goal is to cover all possible combinations of conditions to avoid missing or conflicting rules.
  3. Final Answer:

    To organize conditions and actions to cover all possible cases -> Option D
  4. Quick Check:

    Decision table = organize all cases [OK]
Hint: Think of decision tables as a checklist for all condition combos [OK]
Common Mistakes:
  • Confusing decision tables with performance testing
  • Thinking it is about coding speed
  • Mixing it up with UI design
2. Which of the following is the CORRECT way to represent a condition in a decision table?
easy
A. Writing long paragraphs explaining the condition
B. Using 'Yes' or 'No' to show condition states
C. Using random numbers without meaning
D. Ignoring conditions and only listing actions

Solution

  1. Step 1: Review how conditions are shown in decision tables

    Conditions are usually shown as simple states like 'Yes' or 'No' to keep clarity.
  2. Step 2: Eliminate incorrect options

    Long paragraphs or random numbers confuse the table. Ignoring conditions defeats the purpose.
  3. Final Answer:

    Using 'Yes' or 'No' to show condition states -> Option B
  4. Quick Check:

    Conditions = Yes/No states [OK]
Hint: Use simple states like Yes/No for conditions in tables [OK]
Common Mistakes:
  • Writing detailed text instead of simple states
  • Using meaningless numbers
  • Skipping conditions entirely
3. Given the decision table below, what is the expected action if Condition A = No and Condition B = Yes?

Condition ACondition BAction
YesYesAction 1
YesNoAction 2
NoYesAction 3
NoNoAction 4
medium
A. Action 3
B. Action 1
C. Action 2
D. Action 4

Solution

  1. Step 1: Locate the row matching Condition A = No and Condition B = Yes

    Check the table row where Condition A is 'No' and Condition B is 'Yes'.
  2. Step 2: Identify the corresponding action

    The matching row shows 'Action 3' as the action.
  3. Final Answer:

    Action 3 -> Option A
  4. Quick Check:

    Conditions No/Yes = Action 3 [OK]
Hint: Match conditions row to find the correct action quickly [OK]
Common Mistakes:
  • Mixing up Yes/No order
  • Choosing action from wrong row
  • Ignoring one condition
4. A tester created a decision table but missed one condition combination. What is the likely problem caused by this mistake?
medium
A. All conditions are tested anyway
B. The software will run faster
C. Some test cases will be missing, causing incomplete testing
D. The decision table will have duplicate rows

Solution

  1. Step 1: Understand the impact of missing condition combinations

    Missing a condition combo means that scenario is not tested.
  2. Step 2: Identify the consequence

    Incomplete testing can let bugs slip through because not all cases are covered.
  3. Final Answer:

    Some test cases will be missing, causing incomplete testing -> Option C
  4. Quick Check:

    Missing combos = incomplete tests [OK]
Hint: Missing combos mean missing tests, not faster software [OK]
Common Mistakes:
  • Thinking missing combos speed up software
  • Assuming all conditions tested anyway
  • Confusing missing combos with duplicates
5. You have a system with three conditions: C1, C2, and C3, each can be Yes or No. How many unique rules (rows) should a complete decision table have to cover all combinations?
hard
A. 8
B. 12
C. 9
D. 6

Solution

  1. Step 1: Calculate total combinations for three binary conditions

    Each condition has 2 states (Yes/No). Total combinations = 2 * 2 * 2 = 8.
  2. Step 2: Understand decision table rows

    Each unique combination corresponds to one rule (row) in the decision table.
  3. Final Answer:

    8 -> Option A
  4. Quick Check:

    2^3 = 8 rules needed [OK]
Hint: Use 2^number_of_conditions for total rules [OK]
Common Mistakes:
  • Adding conditions instead of multiplying
  • Using wrong powers (like 3^2)
  • Confusing rules with actions
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