Bird
Raised Fist0
Testing Fundamentalstesting~10 mins

Why testing prevents costly failures in Testing Fundamentals - Test Your Understanding

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to print a message when a test fails.

Testing Fundamentals
if test_result == [1]:
    print("Test failed! Please fix the bug.")
Drag options to blanks, or click blank then click option'
A"passed"
B"fail"
C"success"
D"ok"
Attempts:
3 left
💡 Hint
Common Mistakes
Using "passed" or "success" will never trigger the failure message.
2fill in blank
medium

Complete the code to check if a bug is costly before reporting.

Testing Fundamentals
if bug_severity [1] 5:
    report_bug()
Drag options to blanks, or click blank then click option'
A<
B==
C>
D!=
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<' will report less severe bugs, which is not the goal.
3fill in blank
hard

Fix the error in the assertion to check if the function output is correct.

Testing Fundamentals
assert [1] == expected_output, "Output mismatch!"
Drag options to blanks, or click blank then click option'
Aresult
Binput
Cprint
Dlen
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'input' or 'print' causes errors or wrong checks.
4fill in blank
hard

Fill both blanks to create a test that checks if a number is positive and less than 100.

Testing Fundamentals
if number [1] 0 and number [2] 100:
    print("Valid number")
Drag options to blanks, or click blank then click option'
A>
B<=
C<
D>=
Attempts:
3 left
💡 Hint
Common Mistakes
Using '>=' or '<=' changes the range and may include invalid numbers.
5fill in blank
hard

Fill all three blanks to create a dictionary comprehension that maps words to their lengths if length is greater than 3.

Testing Fundamentals
lengths = { [1]: [2] for [1] in words if len([1]) [3] 3 }
Drag options to blanks, or click blank then click option'
Aword
Blen(word)
C>
D<
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<' will select short words, which is incorrect.

Practice

(1/5)
1. Why is testing important before releasing software to users?
easy
A. It finds problems early to avoid expensive fixes later
B. It makes the software run faster
C. It increases the size of the software
D. It removes the need for documentation

Solution

  1. Step 1: Understand the purpose of testing

    Testing helps find bugs and issues before users see them.
  2. Step 2: Connect early bug detection to cost savings

    Fixing problems early is cheaper than fixing them after release.
  3. Final Answer:

    It finds problems early to avoid expensive fixes later -> Option A
  4. Quick Check:

    Early bug detection = Cost saving [OK]
Hint: Testing early saves money by catching bugs fast [OK]
Common Mistakes:
  • Thinking testing speeds up software
  • Believing testing increases software size
  • Assuming testing replaces documentation
2. Which of the following is the correct way to write a test case name in a test script?
easy
A. testUserLoginSuccess
B. Test user login success
C. user login test
D. 123testLogin

Solution

  1. Step 1: Identify proper naming conventions

    Test case names should be clear, concise, and follow code naming rules (no spaces, start with letter).
  2. Step 2: Check each option

    testUserLoginSuccess uses camelCase and is descriptive; others have spaces or start with numbers.
  3. Final Answer:

    testUserLoginSuccess -> Option A
  4. Quick Check:

    Proper naming = camelCase, no spaces [OK]
Hint: Use camelCase without spaces for test names [OK]
Common Mistakes:
  • Using spaces in test names
  • Starting names with numbers
  • Using vague or incomplete names
3. Consider this code snippet for a simple test:
def test_sum():
    result = sum([1, 2, 3])
    assert result == 6
    print('Test passed')
What will be the output when this test runs?
medium
A. AssertionError
B. No output
C. 6
D. Test passed

Solution

  1. Step 1: Understand the sum function and assertion

    sum([1, 2, 3]) equals 6, so the assertion result == 6 is true.
  2. Step 2: Check what happens after assertion

    Since assertion passes, print('Test passed') runs and outputs 'Test passed'.
  3. Final Answer:

    Test passed -> Option D
  4. Quick Check:

    Correct sum and assertion = print message [OK]
Hint: If assert passes, print statement runs [OK]
Common Mistakes:
  • Thinking assertion fails and raises error
  • Expecting sum function to print result
  • Assuming no output without explicit print
4. A test script has this code:
def test_divide():
    result = 10 / 0
    assert result == 0
What is the main problem with this test?
medium
A. Assertion is incorrect because 10/0 equals 10
B. Division by zero causes an error before assertion
C. Test will always pass because result is zero
D. No problem; test runs fine

Solution

  1. Step 1: Identify the operation causing error

    Dividing 10 by zero raises a ZeroDivisionError before assertion runs.
  2. Step 2: Understand impact on test execution

    Because of the error, the test stops and does not reach the assertion, causing failure.
  3. Final Answer:

    Division by zero causes an error before assertion -> Option B
  4. Quick Check:

    ZeroDivisionError stops test early [OK]
Hint: Check for runtime errors before assertions [OK]
Common Mistakes:
  • Assuming assertion runs despite error
  • Thinking 10/0 equals 10
  • Believing test passes without error
5. A company wants to avoid costly failures by testing their software regularly. Which strategy best achieves this goal?
hard
A. Test manually only when users report problems
B. Test only once before the final release to save time
C. Run automated tests after every code change and fix failures immediately
D. Ignore minor bugs and focus on adding new features quickly

Solution

  1. Step 1: Understand the benefit of regular automated testing

    Running automated tests after each change catches bugs early and consistently.
  2. Step 2: Compare other options to best practice

    Testing only once or ignoring bugs risks costly failures; manual testing only after problems is reactive, not preventive.
  3. Final Answer:

    Run automated tests after every code change and fix failures immediately -> Option C
  4. Quick Check:

    Regular automated testing = Prevent costly failures [OK]
Hint: Test often with automation to catch bugs early [OK]
Common Mistakes:
  • Testing only once before release
  • Ignoring small bugs
  • Waiting for user reports to test
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