Describing the Problem
6 exercises — write specific, actionable bug descriptions using Expected vs. Actual, numbered steps to reproduce, impact statements, and environment details.
0 / 6 completed
Bug description template
- Expected: what should happen (concrete, measurable)
- Actual: what actually happens (exact error message, behavior)
- Steps to reproduce: numbered; start from a known state
- Environment: OS, browser, version, staging/prod
- Impact: who is affected, since when, scale, revenue impact, data safety
- Isolated to: specific function/file/edge case if known
- Intermittent: reproduction rate + any observed pattern
1 / 6
A developer writes this bug report:
"The login is broken."
What is missing from a useful bug description?
"The login is broken."
What is missing from a useful bug description?
Expected / Actual / Steps to Reproduce / Environment — the four components of a useful bug report.
A complete bug description:
Why each section matters:
• Expected: establishes the correct behavior; without this, it's unclear if the reporter understands the feature
• Actual: the specific symptoms, exact error message, observable behavior
• Steps to reproduce: enables the next developer to reproduce the bug on their machine
• Environment: narrows down whether it's a browser/OS issue, or environment-specific (staging vs. prod)
One-sentence bug reports (like "login is broken") force the investigating developer to ask follow-up questions, doubling the time to resolution.
A complete bug description:
**Expected:** Clicking "Log in" with valid credentials navigates to the dashboard. **Actual:** The button shows a spinner for 5 seconds, then displays: "TypeError: Cannot read properties of undefined (reading 'token')" **Steps to reproduce:** 1. Go to https://app.example.com/login 2. Enter user: test@example.com, password: Test1234! 3. Click "Log in" **Environment:** Chrome 122, macOS 14.3, staging environment (not prod)
Why each section matters:
• Expected: establishes the correct behavior; without this, it's unclear if the reporter understands the feature
• Actual: the specific symptoms, exact error message, observable behavior
• Steps to reproduce: enables the next developer to reproduce the bug on their machine
• Environment: narrows down whether it's a browser/OS issue, or environment-specific (staging vs. prod)
One-sentence bug reports (like "login is broken") force the investigating developer to ask follow-up questions, doubling the time to resolution.