Effective Bug Reports

When reporting bugs in software, it is essential that the bug reports follow some standardised guideline to ensure the effectiveness of the report. The first aim of a bug report is to let the programmer see the failure with their own eyes, so you will need to provide detailed instructions so that they can make it fail for themselves.

Every good bug report needs exactly 3 things:

  1. The exact steps required to reproduce the bug
  2. What you expected to see
  3. What you actually saw

The steps to reproduce should be documented clearly and in complete detail, avoiding ambiguous terms and descriptions. Be careful not to make any assumptions about existing data or software configuration, the exact steps to reproduce the bug should include all necessary details for the specific configuration of software and creation of data required. Sometimes it's difficult to provide exact steps to perfectly reproduce some bugs, as they can be intermittent in nature. In this case, exact steps should be supplied anyway, with an additional note that the bug only occurs some of the time.

Expected and observed outcomes should also be documented clearly and in detail. If you can provide screenshots or animations of the bug actually happening, using free tools such as Greenshot and LICECap, that can greatly help to explain the exact problem, but at the very least the expected and observed outcomes should be clearly described and documented.

When writing out your bug report, including all of the details for the three steps, ensure you adhere to the following guidelines: