Bird
Raised Fist0
Testing Fundamentalstesting~20 mins

Transitioning to automation in Testing Fundamentals - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Automation Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Why automate regression tests?

Imagine you have a website that changes often. You run the same tests every time to check if old features still work. Why is automating these regression tests helpful?

AIt makes tests more creative and changes test cases automatically.
BIt saves time by running tests automatically and quickly after each change.
CIt removes the need for any manual testing forever.
DIt guarantees the software has no bugs at all.
Attempts:
2 left
💡 Hint

Think about repetitive tasks and how machines can help.

❓ Predict Output
intermediate
2:00remaining
Output of a simple automated test script

What will be the output of this Python test code snippet?

Testing Fundamentals
def test_sum():
    assert 2 + 2 == 4
    assert 3 + 3 == 6

try:
    test_sum()
    print('Test Passed')
except AssertionError:
    print('Test Failed')
ATest Passed
BTest Failed
CSyntaxError
DNo output
Attempts:
2 left
💡 Hint

Check if all assertions are true.

❓ assertion
advanced
2:00remaining
Choosing the correct assertion for UI element visibility

You want to check if a button with id 'submit-btn' is visible on the page using an automated test. Which assertion is best?

Aassert element is not None
Bassert element.text == 'Submit'
Cassert element.get_attribute('disabled') == 'false'
Dassert element.is_displayed() == True
Attempts:
2 left
💡 Hint

Visibility means the element can be seen and interacted with.

🔧 Debug
advanced
2:00remaining
Debugging a flaky automated test

An automated test sometimes fails because it tries to click a button before it appears. What is the best way to fix this?

ARemove the click step to avoid failure.
BRun the test multiple times until it passes.
CAdd a wait that pauses the test until the button is visible before clicking.
DChange the button's id in the code.
Attempts:
2 left
💡 Hint

Think about waiting for elements in automation.

❓ framework
expert
2:00remaining
Selecting the best test framework for cross-browser automation

You need to automate tests that run on Chrome, Firefox, and Safari browsers. Which framework is best suited for this?

ASelenium WebDriver
BJUnit
CPostman
DJest
Attempts:
2 left
💡 Hint

Consider frameworks that support multiple browsers for UI testing.

Practice

(1/5)
1. Why is automation testing preferred for repeated test cases?
easy
A. Because it requires more manual effort
B. Because it cannot be reused
C. Because it is slower than manual testing
D. Because it runs tests quickly and without human error

Solution

  1. Step 1: Understand the nature of repeated tests

    Repeated tests are often boring and time-consuming when done manually.
  2. Step 2: Identify benefits of automation for repeated tests

    Automation runs tests quickly and consistently without human mistakes.
  3. Final Answer:

    Because it runs tests quickly and without human error -> Option D
  4. Quick Check:

    Automation speeds up repeated tests = B [OK]
Hint: Automation is best for fast, error-free repeated tests [OK]
Common Mistakes:
  • Thinking automation needs more manual work
  • Believing automation is slower than manual testing
  • Assuming automation cannot be reused
2. Which of the following is the correct way to start an automation script in Python?
easy
A. def test_function():\n assert True
B. function test_function() { assert true; }
C. test_function() => { assert true }
D. start test_function() { assert true }

Solution

  1. Step 1: Identify correct Python function syntax

    Python functions start with 'def' followed by the function name and parentheses.
  2. Step 2: Check the options for Python syntax

    def test_function():\n assert True uses 'def' and a colon, which is correct Python syntax.
  3. Final Answer:

    def test_function():\n assert True -> Option A
  4. Quick Check:

    Python functions start with def = D [OK]
Hint: Python functions start with 'def' keyword and colon [OK]
Common Mistakes:
  • Using JavaScript or other language syntax in Python
  • Missing colon after function definition
  • Incorrect arrow function syntax in Python
3. What will be the output of this Python test script?
def test_sum():
    total = 0
    for i in range(3):
        total += i
    assert total == 3
medium
A. SyntaxError occurs
B. Test passes successfully
C. AssertionError occurs
D. Test is skipped

Solution

  1. Step 1: Calculate the sum in the loop

    Loop runs i=0,1,2; total starts at 0, then adds 0+1+2 resulting in 3.
  2. Step 2: Verify the assertion total == 3

    total = 0+1+2 = 3, so assertion total == 3 is True, no error.
  3. Final Answer:

    Test passes successfully -> Option B
  4. Quick Check:

    Sum 0+1+2=3, assertion true = C [OK]
Hint: Sum range(3) is 0+1+2=3, so assertion passes [OK]
Common Mistakes:
  • Miscounting the sum of range(3)
  • Assuming assertion fails without calculation
  • Confusing syntax error with logic error
4. Identify the error in this automation test snippet:
def test_login():
    username = "user"
    password = "pass"
    assert username = "user"
medium
A. Using single equals '=' instead of '==' in assertion
B. Missing parentheses in assert statement
C. Incorrect variable names
D. Password variable is unused

Solution

  1. Step 1: Check the assertion syntax

    In Python, '=' is assignment, '==' is comparison. Assertion needs '==' to compare.
  2. Step 2: Identify the error type

    Using '=' in assert causes SyntaxError because assignment is not allowed there.
  3. Final Answer:

    Using single equals '=' instead of '==' in assertion -> Option A
  4. Quick Check:

    Assertions need '==' for comparison = A [OK]
Hint: Use '==' in assert, not '=' [OK]
Common Mistakes:
  • Confusing assignment '=' with comparison '=='
  • Ignoring syntax errors in assert statements
  • Thinking unused variables cause assertion errors
5. You want to automate a test that runs daily and checks if a website's homepage loads correctly. Which approach is best to start your automation?
hard
A. Manually check the homepage daily instead of automating
B. Write a complex script that tests every link on the homepage before scheduling
C. Write a simple script that opens the homepage and checks the title, then schedule it to run daily
D. Automate only after the website has no changes for a month

Solution

  1. Step 1: Choose a simple test to automate first

    Starting with a simple script to check the homepage title is easy and effective.
  2. Step 2: Schedule the script for daily runs

    Scheduling the script automates the daily check without manual effort.
  3. Final Answer:

    Write a simple script that opens the homepage and checks the title, then schedule it to run daily -> Option C
  4. Quick Check:

    Start simple and schedule = A [OK]
Hint: Start with simple checks before adding complexity [OK]
Common Mistakes:
  • Trying to automate too many things at once
  • Ignoring automation benefits and doing manual checks
  • Waiting too long to start automation
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