Recall & Review
beginner
What does test independence mean in software testing?
Test independence means each test runs on its own without relying on other tests. This helps find bugs clearly and makes tests easier to fix.
Click to reveal answer
beginner
Why should tests not share state or data?
Sharing state can cause tests to pass or fail depending on the order they run. Independent tests avoid this problem by keeping data separate.
Click to reveal answer
intermediate
How does pytest help keep tests independent?
Pytest runs each test function separately and can use fixtures to set up fresh data for each test, ensuring no leftover data affects others.
Click to reveal answer
beginner
What is a common problem if tests are not independent?
Tests might pass or fail randomly depending on the order they run, making it hard to trust test results and fix bugs.
Click to reveal answer
intermediate
Show a simple pytest example that ensures test independence using fixtures.
import pytest
@pytest.fixture
def fresh_list():
return []
def test_add_item(fresh_list):
fresh_list.append(1)
assert fresh_list == [1]
def test_empty_list(fresh_list):
assert fresh_list == []
Each test gets a new empty list, so they don't affect each other.Click to reveal answer
What is the main benefit of test independence?
✗ Incorrect
Independent tests run without relying on others, so results are clear and reliable.
In pytest, what feature helps create fresh data for each test?
✗ Incorrect
Fixtures set up fresh data or state for each test, helping keep tests independent.
What can happen if tests share state?
✗ Incorrect
Sharing state can cause tests to depend on order, making results unreliable.
Which is a good practice to keep tests independent?
✗ Incorrect
Resetting data ensures each test starts fresh and does not depend on others.
If test A fails only when test B runs before it, what is the problem?
✗ Incorrect
Test A depends on test B's state, breaking independence.
Explain why test independence is important and how pytest fixtures help achieve it.
Think about tests running alone and not affecting each other.
You got /4 concepts.
Describe a simple pytest example that shows two independent tests using fixtures.
Remember the example with a fresh list for each test.
You got /4 concepts.