Writing a bug report worth fixing
1 min readprocesswriting
A defect report is a piece of writing with one job: let a developer reproduce the problem without talking to you.
The four lines that matter
Title. What broke, and where. "Approval fails" is a category. "Approving a reimbursement over 10 million rupiah returns 500 on submit" is a report.
Environment. Build, browser, account role. A bug that only appears for an approver is a different bug from one that appears for everyone.
Steps. Numbered, starting from a known state, ending at the failure. No step should require a judgement call from the reader.
Expected against actual. Two sentences, side by side. This is the assertion; everything above it is setup.
Evidence closes the argument
Attach the trace, the network response, the console output. Screenshots show the symptom, but a failing request body shows the cause, and the difference is often a whole day of back-and-forth.
Severity is a claim, not a feeling
Severity should say what the user cannot do and how many of them cannot do it. "High" on its own invites a negotiation. "Blocks month-end submission for every approver" ends one.