0
0
Testing Fundamentalstesting~10 mins

Decision table testing in Testing Fundamentals - Test Execution Trace

Choose your learning style9 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.