Handling Bugs - Process

= Process for Bug Reporters =


 * Check if the bug hasn't already been reported (simply click on "This bug affects you" if it has already been reported, and you're done!)
 * If not, create your account on Launchpad if you don't already have one
 * Write a meaningful summary of the bug you have found on the bugtracker and follow the instructions
 * In you bug report, remember to include :
 * A screenshot of the bug AND
 * The URL of the website you were trying to hack or scan, if any AND
 * The detail of the steps to reproduce the bug

= Process for Developers =


 * You only need to look at bugs in the "Confirmed" state, assigned to you and targeted toward the milestone you are working on (use advanced search to only display those bugs)
 * When you work on a bug, you have two options:
 * Fix the bug. Once it is committed, push it to your Launchpad repository, add a link to the diff (the web version on the Launchpad website) in the comments, and mark the bug as "Fix committed" OR
 * Ask for more information or to close the bug without committing any fix. After trying to investigate the bug, ask the remaining questions that you can't answer in the bug comments, and mark the bug as "Incomplete".

= Process for Bug managers =


 * Review the bugs marked as "New":
 * If the bug report is about a bug that has been previously reported, mark the bug as a duplicate along with the bug number of the existing bug report
 * Otherwise, try to reproduce the bug, and check that the bug contains a URL, a screenshot and detailed instructions on how to reproduce it. If you can reproduce the bug, add all necessary details, and then mark the bug as "Confirmed", assign it to a developer and target it for a specific release
 * If you can't reproduce the bug, mark it as "Incomplete" and ask precisions to the bug reporter in the comments
 * If the bug report is a spam or an error, mark it as "Invalid"
 * If the bug is reproduceable but will be impossible to fix (for example, because the corresponding feature will be removed), mark it as "Wontfix"
 * Review the bugs marked as "Incomplete"
 * Check what happened last on the bug: did the developer asked for more information? Or did the reporter answer already? If the developer commented last, try to answer his questions. If you can't answer it, try to ask again to the reporter if the question is a few days old.
 * If the question has been answered and provides all the necessary information, mark the bug as "Confirmed". Otherwise, ask for more precisions before handing it back to the developer.
 * If the developer asked to close the bug without committing a fix, check his reasons. If they are valid, mark the bug as either "Invalid" or "Wontfix" (see above). Otherwise, explain why the bug should be fixed and mark it as "Confirmed".
 * Review the bugs marked as "Fix comitted"
 * Merge the fix from the developer repository and check that it correctly fixes the bug.
 * Go through the release checklist and check that all the requirements are met
 * If anything is wrong (bug incorrectly fixed or requirement not met), tell the developer in the comments and mark the bug as "Confirmed". Otherwise, commit the bug to your own repository, push it and mark the bug as "Fix released"