Bird
Raised Fist0
Testing Fundamentalstesting~5 mins

Flaky test management in Testing Fundamentals - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a flaky test?
A flaky test is a test that sometimes passes and sometimes fails without any changes in the code. It behaves unpredictably, making it hard to trust the test results.
Click to reveal answer
beginner
Name two common causes of flaky tests.
Common causes include timing issues (like waiting for elements) and dependencies on external systems (like network or database).
Click to reveal answer
beginner
Why is it important to manage flaky tests?
Managing flaky tests is important because they reduce confidence in test results, waste developer time, and can hide real bugs.
Click to reveal answer
intermediate
What is one strategy to handle flaky tests?
One strategy is to isolate flaky tests and fix their root cause, such as adding proper waits or mocking unstable external services.
Click to reveal answer
intermediate
How can test reports help with flaky test management?
Test reports can highlight tests that fail intermittently, helping teams identify and prioritize flaky tests for fixing.
Click to reveal answer
What does a flaky test do?
ASometimes passes and sometimes fails without code changes
BAlways passes
CAlways fails
DRuns faster than other tests
Which of these is a common cause of flaky tests?
AConsistent test data
BClear test steps
CTiming issues like race conditions
DProper test isolation
What is a good first step when you find a flaky test?
AIsolate and investigate the test
BIgnore it and run tests again
CDelete the test immediately
DRun all tests in parallel
How can flaky tests affect a development team?
AIncrease trust in test results
BCause confusion and waste time debugging
CMake tests more reliable
DSave time by running faster
Which tool feature helps identify flaky tests?
ACode style reports
BTest execution time reports
CTest coverage reports
DTest failure frequency reports
Explain what a flaky test is and why it is a problem.
Think about tests that don't behave the same way every time.
You got /3 concepts.
    Describe strategies to manage flaky tests effectively.
    Consider how to find and fix the problem rather than ignoring it.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is a flaky test in software testing?
      easy
      A. A test that always passes successfully
      B. A test that sometimes passes and sometimes fails without code changes
      C. A test that is never executed
      D. A test that always fails due to a bug

      Solution

      1. Step 1: Understand flaky test behavior

        A flaky test is one that shows inconsistent results, passing or failing randomly without changes in the code.
      2. Step 2: Compare options to definition

        Only A test that sometimes passes and sometimes fails without code changes describes this behavior correctly; others describe consistent outcomes or unrelated cases.
      3. Final Answer:

        A test that sometimes passes and sometimes fails without code changes -> Option B
      4. Quick Check:

        Flaky test = random pass/fail [OK]
      Hint: Flaky tests fail unpredictably without code changes [OK]
      Common Mistakes:
      • Thinking flaky tests always fail
      • Confusing flaky tests with skipped tests
      • Assuming flaky tests are due to code bugs only
      2. Which of the following is the correct way to mark a flaky test in Python using pytest?
      easy
      A. @pytest.mark.flaky
      B. @pytest.flaky()
      C. @flaky_test
      D. @pytest.mark.flaky(reruns=3)

      Solution

      1. Step 1: Recall pytest flaky test marking syntax

        Pytest uses decorators with @pytest.mark.flaky and parameters like reruns to mark flaky tests.
      2. Step 2: Identify correct syntax among options

        @pytest.mark.flaky(reruns=3) correctly uses @pytest.mark.flaky(reruns=3) to rerun flaky tests up to 3 times.
      3. Final Answer:

        @pytest.mark.flaky(reruns=3) -> Option D
      4. Quick Check:

        pytest flaky mark = @pytest.mark.flaky(reruns=3) [OK]
      Hint: Look for decorator with reruns parameter in pytest [OK]
      Common Mistakes:
      • Using incorrect decorator syntax
      • Missing reruns parameter for flaky tests
      • Confusing pytest.mark with other decorators
      3. Consider this pseudocode for a flaky test management system:
      tests = ['testA', 'testB', 'testC']
      flaky_tests = set()
      
      for test in tests:
          result = run_test(test)
          if result == 'fail':
              flaky_tests.add(test)
      
      print(sorted(flaky_tests))
      If run_test('testA') returns 'pass', run_test('testB') returns 'fail', and run_test('testC') returns 'fail', what will be printed?
      medium
      A. ['testB', 'testC']
      B. ['testA', 'testB', 'testC']
      C. ['testA']
      D. []

      Solution

      1. Step 1: Analyze test results and flaky test additions

        Only tests with 'fail' results are added to flaky_tests set: testB and testC.
      2. Step 2: Sort and print flaky_tests

        Sorted flaky_tests will be ['testB', 'testC'].
      3. Final Answer:

        ['testB', 'testC'] -> Option A
      4. Quick Check:

        Failed tests = ['testB', 'testC'] [OK]
      Hint: Add only failed tests to flaky set, then sort [OK]
      Common Mistakes:
      • Including passed tests in flaky list
      • Not sorting the output
      • Confusing set behavior with list
      4. You have a flaky test marked with a retry decorator, but it still fails intermittently. What is the most likely cause?
      medium
      A. The retry count is too low to cover all flaky failures
      B. The test code has a syntax error
      C. The test is not marked as flaky
      D. The test always passes and never fails

      Solution

      1. Step 1: Understand retry decorator purpose

        Retry decorators rerun flaky tests a set number of times to reduce false failures.
      2. Step 2: Identify cause of intermittent failure despite retries

        If failures persist, likely the retry count is too low to catch all flaky cases.
      3. Final Answer:

        The retry count is too low to cover all flaky failures -> Option A
      4. Quick Check:

        Low retry count causes flaky failures [OK]
      Hint: Check retry count if flaky test still fails [OK]
      Common Mistakes:
      • Assuming syntax error causes flaky behavior
      • Forgetting to mark test as flaky
      • Ignoring retry count limits
      5. A team wants to manage flaky tests without blocking releases. Which approach best balances fixing flaky tests and maintaining release flow?
      hard
      A. Run flaky tests only once before release
      B. Remove flaky tests permanently to avoid failures
      C. Temporarily mark flaky tests to skip during release, then fix them later
      D. Ignore flaky tests and release as usual

      Solution

      1. Step 1: Understand impact of flaky tests on releases

        Flaky tests can block releases if they fail randomly, so managing them is critical.
      2. Step 2: Evaluate options for balancing fixes and release flow

        Temporarily marking flaky tests to skip during release avoids blocking while allowing later fixes.
      3. Final Answer:

        Temporarily mark flaky tests to skip during release, then fix them later -> Option C
      4. Quick Check:

        Skip flaky tests temporarily to keep releases smooth [OK]
      Hint: Skip flaky tests temporarily, fix later to keep releases smooth [OK]
      Common Mistakes:
      • Deleting flaky tests instead of fixing
      • Ignoring flaky tests causing release failures
      • Running flaky tests only once risking missed failures
      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