Bug reporting

Bug reporting is a very important part of software development. Users of the software inform the developers of errors that have arisen in the normal use of the program which have gone undetected by standard testing procedures. The ideal bug report includes a patch to fix it, but even non-programmers can submit valuable information which can help developers reproduce, understand, and correct problems.

Bug reporting also commonly encompasses feature requests and other user-response to a program.

Reporting tools

 * Bugzilla
 * Source Forge methods
 * Tinderbox
 * email lists

Where to report a bug
Make sure you report your bug to the appropriate place.

Etiquette
This will vary from project to project. In general, try reading the documentation that was given with the product first, and or search for it online with a search engine, then go to a reporting tool, then go to the mailing list, then go to the author. It may not be appropriate to go all the way to the author, and you should make sure that you are reporting to the correct mailing list - people don't like bug reports in their product announcement list.

Basic bug reports
You must first be able to reproduce the bug for it to have any value. Reporting a freak occurrence will rarely contain enough information to fix a problem. Having reproduced it, report the exact steps to do so, with a description of what was supposed to happen and what did happen. Include any information relevant to the problem but do not include every possible detail.

A good bug report will include:
 * what the user was doing with the program when they saw the bug
 * a complete list of relevant hardware
 * any changes made to the system (new software installed or new hardware added
 * the time when the bug was first noted
 * a complete description of the bug
 * why it's a problem

Before submitting a new bug, the user should check to see if anyone else has posted about the bug. If anything is different (say you use different hardware to the original reporter) then submit the report, including the bug title or number.

Advanced bug reports
(core dumps, traces, etc.) See Instead: debugging

Feature Requests / Wish lists
Feature requests and bug reports are both requests from users to change program code. They are mostly entered into the same tool.