1.3Common Mistakes
These are the most frequent problems that make test cases unreliable:
1. Vague Steps
Bad: "Log in to the app"
Which user? Which environment? What credentials? A new team member cannot execute this.
Good: "Navigate to https://staging.example.com/login. Enter email: test@example.com. Enter password: Test123!. Click the 'Sign In' button."
2. Missing Preconditions
The test assumes a certain database state that nobody sets up. For example, testing that a discount code works — but the code was created manually in staging last month and has since been deleted.
Fix: State every precondition explicitly. If test data is required, link to the setup script or describe the creation steps.
3. Compound Assertions
Checking five things in one test case makes failure ambiguous. If the test fails, which of the five checks was the problem?
Bad: One test case that verifies login, navigation to dashboard, profile display, notification count, and logout.
Good: Separate test cases for each verification, sharing preconditions where appropriate.
4. Platform Assumptions
"Click the button" — on mobile there is no click, there is a tap. "Right-click to open context menu" — does not work on touch devices.
Fix: Specify the platform and interaction mode, or write platform-specific variants.
5. Missing Negative Cases
Only testing the happy path. You wrote "Verify login succeeds with valid credentials" but never wrote "Verify login fails with empty password."
Fix: For every positive test case, ask yourself: what should happen when the user does this wrong?