Bird
Raised Fist0
Testing Fundamentalstesting~10 mins

Integration testing in Testing Fundamentals - Test Execution Trace

Choose your learning style10 modes available
Test Overview

This test checks if two parts of a simple calculator app work well together. It verifies that adding two numbers through the combined modules returns the correct result.

Test Code - unittest
Testing Fundamentals
import unittest

# Module A: simple adder function
def add(a, b):
    return a + b

# Module B: calculator uses add function
def calculate_sum(x, y):
    return add(x, y)

class TestIntegrationCalculator(unittest.TestCase):
    def test_addition_integration(self):
        result = calculate_sum(3, 4)
        self.assertEqual(result, 7, "Sum should be 7")

if __name__ == '__main__':
    unittest.main()
Execution Trace - 7 Steps
StepActionSystem StateAssertionResult
1Test startsTest runner initialized, test class loaded—PASS
2Calls calculate_sum(3, 4)Calculator module ready to use add function—PASS
3calculate_sum calls add(3, 4)Adder module receives inputs 3 and 4—PASS
4add returns 7Adder module returns result 7—PASS
5calculate_sum returns 7 to testCalculator module returns final result—PASS
6Test asserts result == 7Test compares actual result with expected 7assertEqual(7, 7)PASS
7Test ends successfullyTest runner reports test passed—PASS
Failure Scenario
Failing Condition: Adder function returns wrong sum or calculate_sum does not call add correctly
Execution Trace Quiz - 3 Questions
Test your understanding
What does the integration test verify?
AThat the add function alone returns correct sums
BThat two modules work together to add numbers correctly
CThat the test framework runs without errors
DThat the calculator UI displays results
Key Result
Integration testing ensures that separate parts of a system work together correctly, catching issues that unit tests alone might miss.

Practice

(1/5)
1. What is the main purpose of integration testing in software development?
easy
A. To test the software's performance under load
B. To test individual functions or methods in isolation
C. To verify the final system meets user requirements
D. To check if different modules work together correctly

Solution

  1. Step 1: Understand integration testing scope

    Integration testing focuses on testing combined parts or modules of software to ensure they work together.
  2. Step 2: Differentiate from other testing types

    Unit testing checks individual parts, system testing checks the whole system, and performance testing checks speed/load.
  3. Final Answer:

    To check if different modules work together correctly -> Option D
  4. Quick Check:

    Integration testing = module interaction check [OK]
Hint: Integration testing checks module connections, not single parts [OK]
Common Mistakes:
  • Confusing integration testing with unit testing
  • Thinking integration testing is the final system test
  • Mixing integration testing with performance testing
2. Which of the following is the correct sequence of testing phases including integration testing?
easy
A. Integration testing -> Unit testing -> System testing
B. Unit testing -> Integration testing -> System testing
C. System testing -> Integration testing -> Unit testing
D. System testing -> Unit testing -> Integration testing

Solution

  1. Step 1: Recall testing order

    Unit testing is done first on individual parts, then integration testing checks combined parts, finally system testing checks the whole system.
  2. Step 2: Match sequence with options

    Only Unit testing -> Integration testing -> System testing correctly shows Unit testing -> Integration testing -> System testing.
  3. Final Answer:

    Unit testing -> Integration testing -> System testing -> Option B
  4. Quick Check:

    Testing order = Unit -> Integration -> System [OK]
Hint: Remember testing flows from small parts to whole system [OK]
Common Mistakes:
  • Mixing up the order of testing phases
  • Thinking integration testing comes after system testing
  • Assuming unit testing is last
3. Consider two modules: ModuleA returns a number, and ModuleB doubles that number. Which integration test output is correct if ModuleA returns 5?
medium
A. 10
B. 5
C. 25
D. Error

Solution

  1. Step 1: Understand module behavior

    ModuleA returns 5; ModuleB doubles input, so it should return 5 * 2 = 10.
  2. Step 2: Determine integration output

    When ModuleB receives 5 from ModuleA, output is 10, so integration test should expect 10.
  3. Final Answer:

    10 -> Option A
  4. Quick Check:

    5 doubled = 10 [OK]
Hint: Multiply ModuleA output by 2 for ModuleB result [OK]
Common Mistakes:
  • Confusing input and output values
  • Multiplying instead of doubling
  • Expecting original value without processing
4. You wrote an integration test for two modules, but the test fails with a null pointer error. What is the most likely cause?
medium
A. Modules are not properly connected or data is missing between them
B. Unit tests for each module passed successfully
C. The system testing phase was skipped
D. The test environment has too much memory

Solution

  1. Step 1: Analyze null pointer error in integration

    Null pointer errors usually happen when one module expects data from another but receives nothing or null.
  2. Step 2: Connect error to module interaction

    If modules are not properly connected or data is missing, integration test fails with null pointer.
  3. Final Answer:

    Modules are not properly connected or data is missing between them -> Option A
  4. Quick Check:

    Null pointer = missing data between modules [OK]
Hint: Null pointer in integration means missing connection/data [OK]
Common Mistakes:
  • Assuming unit tests guarantee integration success
  • Blaming system testing for integration errors
  • Ignoring environment issues unrelated to null pointers
5. You have three modules: Auth, Profile, and Notifications. Auth sends user info to Profile, which then triggers Notifications. Which integration test scenario best checks the full flow?
hard
A. Test Auth alone for correct login
B. Test Profile updates without Auth
C. Test Auth sending data to Profile and Profile triggering Notifications
D. Test Notifications independently for message format

Solution

  1. Step 1: Identify integration points

    The flow involves Auth sending data to Profile, then Profile triggering Notifications. Testing this chain checks integration.
  2. Step 2: Choose scenario covering full module interaction

    Only Test Auth sending data to Profile and Profile triggering Notifications tests the full flow of data and triggers across all three modules together.
  3. Final Answer:

    Test Auth sending data to Profile and Profile triggering Notifications -> Option C
  4. Quick Check:

    Full flow test = Auth -> Profile -> Notifications [OK]
Hint: Test full chain of modules for integration [OK]
Common Mistakes:
  • Testing modules in isolation only
  • Skipping intermediate module triggers
  • Ignoring data flow between modules
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