This page needs a technical review from the Mozilla QA Team in Q4 2014. (Assigned to Ioana Chiorean.) The following article has been merged into this page from QMO: How to write a proper bug.
If you need help with Mozilla software (for example with Firefox or Thunderbird), use one of the available support options. Do not edit this page! Please read this page to learn how to report a bug using Bugzilla, which is Mozilla's bug tracking system.
If you're new to reporting bugs, you may want to try getting help from the more experienced contributors. See the Community section on the QA page for pointers. If you're going to report a Firefox bug, you can also get assistance in the #firefox channel on irc.mozilla.org.
Effective bug reports are the most likely to be fixed. These guidelines explain how to write such reports.
- Make sure your software is up to date.
- Search Bugzilla to see whether your bug has already been reported (tutorial).
- Open the Enter a new bug form, which will guide you through most of the bug reporting process.
- If you have multiple issues, please file separate bug reports.
Writing precise steps to reproduce
How can a developer reproduce the bug on his or her own computer?
Steps to reproduce are the most important part of any bug report. If a developer is able to reproduce the bug, the bug is very likely to be fixed. If the steps are unclear, it might not even be possible to know whether the bug has been fixed.
Describe your method of interacting with Firefox in addition to the intent of each step.
- Imprecise: "Open Gmail in another window".
- Precise: "Press Cmd+N to open a new browser window, then type https://mail.google.com/ in the address bar and press Enter".
After your steps, precisely describe the observed result and the expected result. Clearly separate facts (observations) from speculations.
- Imprecise: "It doesn't work"
Precise: "Instead of showing my Inbox, it shows the message 'Your browser does not support cookies (error -91)'."
If the bug seems egregious, there might be something unusual about your setup that's a necessary part of the steps to reproduce the bug. See if you can reproduce the bug in a new Firefox profile. If the bug only happens in your existing profile, try to figure out what settings, extensions, or files in your profile are needed to reproduce the bug.
Writing a clear summary
How would you describe the bug using approximately 10 words? This is the first part of your bug report a triager or developer will see.
A good summary should quickly and uniquely identify a bug report. It should explain the problem, not your suggested solution.
- Good: "Cancelling a File Copy dialog crashes File Manager"
- Bad: "Software crashes"
- Good: "Down-arrow scrolling doesn't work in <textarea> styled with overflow:hidden"
- Bad: "Browser should work with my web site"
Finding the correct product and component
You will be asked to categorize your bug into a "product" and a "component" within that product, in order to direct your report to the correct developers.
If you're using Firefox, the bug is most likely in "Firefox", "Toolkit", or "Core".
- List of components in the "Firefox" product - Most parts of Firefox that you interact with directly
- List of components in the "Toolkit" product - Interface widgets and some frontend features
- List of components in the "Core" product - Web page rendering, networking, etc.
When in doubt, search for similar bugs and see what component they are in.
If none of the components seem appropriate, look for a "General" component in the most appropriate product.
Specific types of bugs
If you are reporting a crash bug, please include a Breakpad ID or attach stack trace, and include the crash signature in the bug summary.
If you are reporting a memory use or leak bug, please attach the output of about:memory (Firefox 6+). Ideally, find steps to reproduce an increase in what is shown in about:memory (even after clicking the "Minimize memory usage" button at the bottom). If you have trouble finding steps to reproduce, try the Firefox Support page titled High Memory Usage. If you are a C++ developer, more precise tools are available.
If you are reporting a bug involving a specific web page, please try to make a reduced testcase and attach it to the bug report.
If the bug was recently introduced, finding a regression window can help identify the cause of the bug.
Original document information
- Author(s): Jesse Ruderman, Gervase Markham
- Other Contributors: Eli Goldberg, Claudius Gayle, Jan Leger, Felix Miata, Peter Mock, Chris Pratt, Chris Yeh, and others.
The following article has been merged into this page from QMO: How to write a proper bug
Bug Validity Checklist
Verify the problem you found is a New Bug
To verify if what you've found is indeed a new software bug in one of Mozilla's products, go through the following checklist to make sure it's something worth creating a new bug report for.
- Make sure it's a software bug. It should be either an error, flaw, mistake failure of fault in the browser that produces an incorrect and/or unexpected result.
- See if it's an already known bug by looking at your particular version's release notes
- Make sure that no one has already fixed the problem by re-verifying the bug against the latest trunk nightly located here
- Make sure there isn't a duplicate bug already created by using this handy guide to search through Bugzilla for your problem
If you're lost and not sure what to do always check out the IRC channel, #qa, at irc.mozilla.org and ask there. If no one answers, try posting to our Bugzilla forums. Otherwise if you haven't found your software bug, its time to write a bug report!
The Bug Report
Where do I go to create a bug?
- Mozilla's main tracking tool for reporting, investigating and fixing bugs is located here. The first step in order to log a bug, is to register an account. To do that, go to Bugzilla's home page and click on the "New Account" hyperlink at the top of the page.
- After registering and then logging into your new account, go back to the Bugzilla home page and click on the "New" hyperlink at the top of the page. Click the product that the bug is found in and fill out the resulting form. If you have any issues with finding the product you want to file the bug for, go to the #qa channel at irc.mozilla.org and ask for help from our very friendly MozQA community.
What does the community want to see in a bug report?
There are a couple of generally-held principles that should be taken into account when creating a bug. They would be the following:
- Keep the Description and Summary clear and concise
- Only report one issue in a bug report
- Report only facts in your bugs and remove any assumptions you might have
General Outline of a Bug Report
- Summary: How would you describe the bug in less than 60 characters? It should quickly and uniquely identify a bug report as well as explain the problem, not your suggested solution. Good: "Canceling a File Copy dialog crashes File Manager" Bad: "Software crashes" Bad: "Browser should work with my web site"
- Component: In which sub-part of the software does it exist?This field is a requirement to submit any bug report. Click the word "Component" to see a description of each component. If none seems appropriate, highlight the "General" component.
- OS: On which operating system (OS) did you find it? (e.g. Linux, Windows XP, Mac OS X.)Example: "If you know the bug happens on more than one type of operating system, choose "All". If your OS isn't listed, choose Other".
- Description: The details of your problem report, including:
- Overview: This is a larger detailed restatement of the summary. An example would be: "Drag-selecting any page crashes Mac builds in the NSGetFactory function".
- Build Id: To find this either go to the "about:" page via the location bar or, if you have MozQA's Nightly Tester Tools extension, then go to Tools | Nightly Tester Tools and select the option that contains the output of the build Id. It should look something like this: "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b3) Gecko/20090305 Firefox/3.1b3".
- Additional Builds and Platforms: Whether or not the bug takes place on other platforms (or browsers, if applicable). It should look something like this: "Doesn't Occur On Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b3) Gecko/20081107 Firefox/3.1b2".
- Steps to Reproduce: Minimized, easy-to-follow steps that will trigger the bug. If they're necessary, make sure to include any special setup steps. A good example of this would look like the following:
1) View any web page. (I used the default sample page, http://www.google.com/).
2) Drag-select the page. Specifically, while holding down the mouse button, drag the mouse pointer downwards from any point in the browser's content region to the bottom of the browser's content region.
- Actual Results: What the application did after performing the above steps.An example would be: The application crashed.
- Expected Results: What the application should have done, were the bug not present.An example would be: The window should scroll downwards. Scrolled content should be selected. Or, at least, the application should not crash.
Continue reading How to Write a Proper Bug Report Part 2
Original document information
- Author(s): Aakash Desai
- Date last modified: June 3, 2013 at 2:41 am PST