How to write a good bug report

1. SUMMARY

Be precise:

Explain the bug in clear and specific terms.
Prepend “[REG]” to the summary for a regression bug.

Bad:

“Drag Crash”

Good:

“Drag-selecting any page crashes Mac builds in NSGetFactory”

2. DESCRIPTION

Goal:

Explain the bug to the developer with a more detailed explanation.

Tips:

State the problem behavior.
Be as specific as possible.

3. STEPS TO REPRODUCE

Steps:

Identify the simplest steps needed to reproduce the bug.

Simple case:

  1. Load the attached test case in Browser XYZ

Complex case:

  1. Load the attached test case in Browser XYZ
  2. Scroll to the bottom of the page
  3. Click the link
  4. Press tab to navigate links

4. ACTUAL RESULTS

Goal:

Show developer what is wrong.

Actual Results:

Describe what actually happened.

5. EXPECTED RESULTS

Describe what should have happened.

6. REDUCED TEST CASE

Goal:

Pinpoint the bug.

Reducing Test Cases:

Rip out everything in the page that isn’t required to reproduce the bug.

Variant Test Cases:

Try variations on the test case to find related situations that also trigger the bug.

Attach all files:

Web pages might change or disappear. Attachments do not.

Environment:

7. VERSION, PLATFORM AND OS

Select the software version, the platform and the OS version that this bug occurred on.

Testing, staging, production?

8. ADDITIONAL INFORMATION

Account credentials that where used to test (username, password)  account, Screenshot, Date, hour, Crash data (backtrace),…