Bird
Raised Fist0
Testing Fundamentalstesting~20 mins

Smoke testing and sanity testing in Testing Fundamentals - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Smoke & Sanity Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Difference between smoke testing and sanity testing

Which statement correctly describes the main difference between smoke testing and sanity testing?

ASmoke testing is performed only by developers; sanity testing is performed only by testers.
BSmoke testing is done after sanity testing to confirm detailed features; sanity testing tests the whole system.
CSmoke testing checks basic functionality of the entire system; sanity testing verifies specific functionality after changes.
DSmoke testing focuses on UI elements; sanity testing focuses on backend database.
Attempts:
2 left
💡 Hint

Think about the scope and purpose of each test type.

❓ Predict Output
intermediate
2:00remaining
Output of smoke test result summary

Given this test result summary code, what will be the printed output?

Testing Fundamentals
def smoke_test_results(tests):
    passed = sum(1 for t in tests if t['status'] == 'pass')
    total = len(tests)
    if passed == total:
        return 'Build Passed Smoke Test'
    else:
        return f'Build Failed Smoke Test: {total - passed} tests failed'

results = [
    {'name': 'Login', 'status': 'pass'},
    {'name': 'Signup', 'status': 'pass'},
    {'name': 'Dashboard', 'status': 'fail'}
]
print(smoke_test_results(results))
ABuild Passed Smoke Test
BBuild Failed Smoke Test: 1 tests failed
CBuild Failed Smoke Test: 2 tests failed
DBuild Passed Smoke Test: 3 tests passed
Attempts:
2 left
💡 Hint

Count how many tests have status 'pass' and compare with total.

❓ assertion
advanced
2:00remaining
Correct assertion for sanity test verification

Which assertion correctly verifies that a sanity test confirms a bug fix by checking the fixed feature returns expected output?

Testing Fundamentals
def fixed_feature(x):
    # Returns square of x
    return x * x

result = fixed_feature(4)
Aassert result == 16
Bassert result > 20
Cassert result == 8
Dassert result != 16
Attempts:
2 left
💡 Hint

Calculate the expected output of fixed_feature(4).

🔧 Debug
advanced
2:00remaining
Identify error in smoke test automation script

What error will this smoke test automation code raise when executed?

Testing Fundamentals
def run_smoke_tests(tests):
    for test in tests:
        if test['status'] == 'fail':
            return 'Smoke test failed'
    return 'Smoke test passed'

print(run_smoke_tests([{'name': 'API', 'status': 'pass'}]))
AReturns 'Smoke test failed'
BTypeError because 'status' key is missing
CReturns 'Smoke test passed'
DSyntaxError due to assignment in if condition
Attempts:
2 left
💡 Hint

Check the if statement syntax carefully.

❓ framework
expert
2:00remaining
Best practice for integrating smoke and sanity tests in CI pipeline

Which option best describes how to integrate smoke and sanity tests in a continuous integration (CI) pipeline for efficient testing?

ARun smoke tests immediately after build; if passed, run sanity tests on changed modules only.
BRun sanity tests first on all modules; then run smoke tests on critical features.
CRun smoke and sanity tests in parallel on the entire application after deployment.
DSkip smoke tests and run only sanity tests after every code commit.
Attempts:
2 left
💡 Hint

Think about quick feedback and focused testing after changes.

Practice

(1/5)
1. What is the main purpose of smoke testing in software testing?
easy
A. To perform security testing on the application
B. To quickly check if the main features of a new build work
C. To verify the user interface design
D. To test detailed functionality of all features

Solution

  1. Step 1: Understand smoke testing purpose

    Smoke testing is done to quickly verify that the main features of a new software build are working and the build is stable enough for further testing.
  2. Step 2: Compare options with smoke testing definition

    To quickly check if the main features of a new build work matches this purpose exactly, while others describe different testing types.
  3. Final Answer:

    To quickly check if the main features of a new build work -> Option B
  4. Quick Check:

    Smoke testing = Quick main feature check [OK]
Hint: Smoke test = quick main feature check after build [OK]
Common Mistakes:
  • Confusing smoke testing with detailed testing
  • Thinking smoke testing checks UI design
  • Mixing smoke testing with security testing
2. Which of the following is the correct description of sanity testing?
easy
A. Checking specific functionality after small changes or bug fixes
B. Testing all features in detail after a major release
C. Performing load testing to check performance
D. Running automated tests for regression

Solution

  1. Step 1: Define sanity testing

    Sanity testing is a quick check of specific functionality or bug fixes after small changes to ensure they work as expected.
  2. Step 2: Match options to sanity testing

    Checking specific functionality after small changes or bug fixes correctly describes this focused testing, while others describe different testing types.
  3. Final Answer:

    Checking specific functionality after small changes or bug fixes -> Option A
  4. Quick Check:

    Sanity testing = Focused check after small changes [OK]
Hint: Sanity test = check specific fixes after small changes [OK]
Common Mistakes:
  • Confusing sanity testing with full regression testing
  • Thinking sanity testing covers all features
  • Mixing sanity testing with performance testing
3. Consider this scenario: A new build is deployed with multiple new features and bug fixes. Which testing should be done first to decide if detailed testing can proceed?
medium
A. Sanity testing on the fixed bugs only
B. Full regression testing on all features
C. Smoke testing on main features of the build
D. Performance testing under load

Solution

  1. Step 1: Identify testing purpose after new build

    After a new build with many changes, smoke testing is done first to quickly check main features and decide if the build is stable for further testing.
  2. Step 2: Evaluate options for initial testing

    Smoke testing on main features of the build matches this initial check. Sanity testing (Sanity testing on the fixed bugs only) is for small changes, not full builds. Full regression (Full regression testing on all features) and performance (Performance testing under load) come later.
  3. Final Answer:

    Smoke testing on main features of the build -> Option C
  4. Quick Check:

    New build? Start with smoke testing [OK]
Hint: New build? Start with smoke testing main features [OK]
Common Mistakes:
  • Starting with sanity testing on big builds
  • Skipping smoke testing and doing full regression immediately
  • Confusing performance testing as first step
4. A tester runs sanity testing after a small bug fix but finds unrelated features failing. What is the likely cause?
medium
A. Sanity testing scope was too narrow, missing regression tests
B. Smoke testing was done incorrectly
C. The bug fix introduced new unrelated bugs
D. Performance testing was skipped

Solution

  1. Step 1: Understand sanity testing scope

    Sanity testing focuses on verifying specific fixes or features, not the entire application.
  2. Step 2: Analyze failure of unrelated features

    If unrelated features fail, it means sanity testing missed broader checks. Full regression testing is needed to catch such issues.
  3. Final Answer:

    Sanity testing scope was too narrow, missing regression tests -> Option A
  4. Quick Check:

    Unrelated failures after sanity test? Need regression [OK]
Hint: Sanity test checks fixes only; unrelated fails need regression [OK]
Common Mistakes:
  • Blaming smoke testing for unrelated failures
  • Assuming bug fix always causes unrelated failures
  • Ignoring need for regression testing
5. A software team wants to improve testing efficiency after frequent small updates. Which approach best combines smoke and sanity testing?
hard
A. Perform performance testing before smoke or sanity testing
B. Skip smoke testing and run full regression after each update
C. Only run sanity testing on all features after every update
D. Run smoke testing on main features after every build, then sanity testing on specific fixes

Solution

  1. Step 1: Understand testing goals for frequent small updates

    To improve efficiency, quick checks are needed to catch major issues early, then focused checks on fixes.
  2. Step 2: Evaluate combined approach of smoke and sanity testing

    Running smoke testing on main features ensures build stability, followed by sanity testing on specific fixes ensures correctness of changes.
  3. Step 3: Eliminate other options

    Skipping smoke testing or running full regression every time is inefficient. Performance testing is unrelated to this goal.
  4. Final Answer:

    Run smoke testing on main features after every build, then sanity testing on specific fixes -> Option D
  5. Quick Check:

    Smoke then sanity for efficient small update testing [OK]
Hint: Smoke test main features, then sanity test fixes for efficiency [OK]
Common Mistakes:
  • Skipping smoke testing for faster results
  • Running full regression after every small update
  • Confusing performance testing with smoke/sanity
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