Any but the most trivial project is going to have some hiccups along the way, particularly during the development/testing process, when these things happen obviously it’s easier for everyone involved if these can be dealt with as quickly and efficiently as possible. The ideal process would be as follows:
- User finds a problem
- User reports the problem to the developer
- Developer sees the problem
- Developer fixes the problem
The most important point here is that step 4 (fixing the bug) cannot happen before step 3 (seeing the bug), and that step 3 cannot happen unless step 2 (reporting the problem) provides enough information for the developer to see the problem.
If the report doesn’t have enough information, then the problem can’t be fixed, so all that will happen is that the developer will send questions back to the user, which wastes everybody’s time and delays getting the problem fixed.
As much detail as possible is useful in a bug report. It is important to remember that there will often be multiple ways to do the same job, so something like “I can’t delete a page” doesn’t necessarily tell the developer what link you are clicking on, and this may be relevant.
It also may matter what account you are logged in with, or which records you are working with, so it is important to include usernames and record ids or urls where possible. It may also be important which web browser you are using (e.g. Internet Explorer 6 or Firefox 3), as some problems will exist on some browsers but not others.
Ideal bug report format
An ideal bug report includes the following information:
- Exact steps I take
- What I expect to see
- What I actually see.
Example report for a web project
Steps To Reproduce
- Open Firefox 3.0 Browser
- Go to http://www.example.com/admin
- Login with username_x/password_y
- Click the “Edit Page” button on Page number 15 in the list
- Edit page form comes up
- Enter title “Test Page” and content “Test page”
- Click Save
- Click “Return to list” to go back to the list of pages
What I would expect to see:
- I would expect to see page number 15 called “Test Page”
What I actually see:
- Page number 15 is called “Wrong Title”
Hopefully this bug report contains all the information the developer needs to reproduce the problem themselves and see it happening.
This is intended as a summary for non-technical users to help in ensuring bugs are reported more effectively, for a more complete investigation I found this much better, more thorough description of how to write a bug report by Simon Tatham author of the excellent PuTTY ssh client.