Bird
Raised Fist0
Testing Fundamentalstesting~10 mins

Test automation pyramid in Testing Fundamentals - Test Execution Trace

Choose your learning style10 modes available
Test Overview

This test simulates the test automation pyramid by running three types of tests: unit, integration, and UI. It verifies that each test level passes successfully, showing the pyramid's principle of many fast unit tests, fewer integration tests, and even fewer UI tests.

Test Code - unittest
Testing Fundamentals
import unittest

class Calculator:
    def add(self, a, b):
        return a + b

class TestCalculator(unittest.TestCase):
    # Unit test
    def test_add_unit(self):
        calc = Calculator()
        self.assertEqual(calc.add(2, 3), 5)

    # Integration test (simulated)
    def test_add_integration(self):
        calc = Calculator()
        result = calc.add(10, 20)
        self.assertEqual(result, 30)

    # UI test (simulated)
    def test_add_ui(self):
        # Simulate UI input and output
        input1 = 7
        input2 = 8
        calc = Calculator()
        output = calc.add(input1, input2)
        self.assertEqual(output, 15)

if __name__ == '__main__':
    unittest.main()
Execution Trace - 5 Steps
StepActionSystem StateAssertionResult
1Test starts - unittest framework initializesTest runner ready to execute tests—PASS
2Runs unit test test_add_unit: creates Calculator instance and calls add(2,3)Calculator instance created, add method called with inputs 2 and 3Check if result equals 5PASS
3Runs integration test test_add_integration: calls add(10,20)Calculator instance used, add method called with inputs 10 and 20Check if result equals 30PASS
4Runs UI test test_add_ui: simulates UI inputs 7 and 8, calls addSimulated UI inputs processed, add method called with 7 and 8Check if output equals 15PASS
5All tests completedTest report generated showing 3 tests passed—PASS
Failure Scenario
Failing Condition: If the add method returns incorrect sum in any test
Execution Trace Quiz - 3 Questions
Test your understanding
Which test type in the automation pyramid is the fastest and most numerous?
AUnit tests
BIntegration tests
CUI tests
DManual tests
Key Result
The test automation pyramid encourages many fast unit tests, fewer integration tests, and minimal UI tests to balance speed and coverage effectively.

Practice

(1/5)
1. What is the main idea behind the test automation pyramid?
easy
A. Write mostly UI tests because they cover all features
B. Write many fast unit tests, fewer integration tests, and few slow UI tests
C. Write only manual tests to save automation effort
D. Write equal numbers of unit, integration, and UI tests

Solution

  1. Step 1: Understand test types and speed

    Unit tests are fast and cheap, integration tests are slower, UI tests are slowest and costly.
  2. Step 2: Apply pyramid principle

    The pyramid suggests many unit tests, fewer integration tests, and few UI tests to catch bugs early and keep tests efficient.
  3. Final Answer:

    Write many fast unit tests, fewer integration tests, and few slow UI tests -> Option B
  4. Quick Check:

    Test automation pyramid = many unit, fewer integration, few UI tests [OK]
Hint: Remember: fast tests at bottom, slow tests at top [OK]
Common Mistakes:
  • Thinking UI tests should be the majority
  • Believing manual tests replace automation
  • Assuming all test types should be equal
2. Which of the following correctly orders test types from fastest to slowest in the test automation pyramid?
easy
A. UI tests, integration tests, unit tests
B. Integration tests, unit tests, UI tests
C. Integration tests, UI tests, unit tests
D. Unit tests, integration tests, UI tests

Solution

  1. Step 1: Recall test speed hierarchy

    Unit tests run fastest because they test small code parts, integration tests are slower, UI tests are slowest due to full system interaction.
  2. Step 2: Match order from fastest to slowest

    The correct order is unit tests first, then integration tests, then UI tests last.
  3. Final Answer:

    Unit tests, integration tests, UI tests -> Option D
  4. Quick Check:

    Speed order = unit < integration < UI [OK]
Hint: Fastest tests are smallest scope: unit first [OK]
Common Mistakes:
  • Confusing UI tests as fastest
  • Mixing integration and unit test order
  • Ignoring test execution speed differences
3. Consider this test suite distribution: 100 unit tests, 30 integration tests, and 5 UI tests. Which statement best describes this setup according to the test automation pyramid?
medium
A. It has too few integration tests compared to UI tests
B. It has too many UI tests compared to unit tests
C. It follows the pyramid by having many unit tests and few UI tests
D. It violates the pyramid by having equal test counts

Solution

  1. Step 1: Analyze test counts

    There are many unit tests (100), fewer integration tests (30), and very few UI tests (5).
  2. Step 2: Compare with pyramid principle

    The pyramid recommends many unit tests, fewer integration tests, and few UI tests, matching this distribution.
  3. Final Answer:

    It follows the pyramid by having many unit tests and few UI tests -> Option C
  4. Quick Check:

    Test counts match pyramid shape [OK]
Hint: More unit tests, less UI tests = pyramid shape [OK]
Common Mistakes:
  • Thinking 5 UI tests is too many
  • Confusing integration test count importance
  • Assuming equal test numbers are correct
4. A team wrote mostly UI tests and very few unit tests. What is the main problem with this approach according to the test automation pyramid?
medium
A. UI tests are slow and costly, causing slow feedback and maintenance issues
B. Unit tests are unnecessary if UI tests exist
C. Integration tests will automatically cover all bugs
D. Manual testing is better than UI tests

Solution

  1. Step 1: Understand test cost and speed

    UI tests are slow to run and expensive to maintain compared to unit tests.
  2. Step 2: Identify pyramid violation

    Having mostly UI tests means slow feedback and higher maintenance, which the pyramid warns against.
  3. Final Answer:

    UI tests are slow and costly, causing slow feedback and maintenance issues -> Option A
  4. Quick Check:

    Too many UI tests = slow, costly [OK]
Hint: Too many UI tests slow feedback [OK]
Common Mistakes:
  • Ignoring unit test importance
  • Assuming integration tests cover all bugs
  • Confusing manual and automated UI tests
5. You want to improve your test suite following the test automation pyramid. Currently, you have 20 UI tests, 50 integration tests, and 10 unit tests. What is the best action to align with the pyramid?
hard
A. Increase unit tests significantly, reduce UI tests, and keep integration tests moderate
B. Increase UI tests to cover more features, keep others same
C. Remove unit tests and focus on integration and UI tests
D. Keep all test counts the same but run UI tests more often

Solution

  1. Step 1: Analyze current test distribution

    There are few unit tests (10), many integration tests (50), and many UI tests (20), which is opposite of pyramid advice.
  2. Step 2: Apply pyramid principle for improvement

    The pyramid suggests many unit tests, fewer integration tests, and few UI tests to catch bugs early and keep tests efficient.
  3. Final Answer:

    Increase unit tests significantly, reduce UI tests, and keep integration tests moderate -> Option A
  4. Quick Check:

    More unit, fewer UI tests = pyramid aligned [OK]
Hint: Boost unit tests, cut UI tests for pyramid fit [OK]
Common Mistakes:
  • Adding more UI tests instead of unit tests
  • Removing unit tests thinking they are less useful
  • Ignoring test speed and cost differences
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