A test scenario is a high-level description of WHAT to test (a functionality or user flow); a test case is a detailed, step-by-step specification of HOW to test it, with inputs, steps, and expected results.
A scenario answers 'what should we verify?' — e.g. 'Verify user login.' It's broad and derived from requirements/user stories. A test case breaks that scenario into concrete, executable steps with preconditions, test data, steps, and expected results — e.g. 'Enter valid username + password, click login, expect dashboard.' One scenario typically yields many test cases (valid login, invalid password, locked account, empty fields). Scenarios ensure COVERAGE of features; test cases ensure precise, repeatable EXECUTION. Writing good scenarios first, then detailed cases, is the standard design flow.
Scenario: 'Verify password reset.' It expands into test cases: valid email reset, unregistered email, expired reset link, password-mismatch, and reset-link reuse — each a precise, executable case.
What's the difference between a test scenario and a test case, and how are they related?