Difference between revisions of "Bug Triage"

From ADempiere
Jump to: navigation, search
This Wiki is read-only for reference purposes to avoid broken links.
(process explanation)
Line 6: Line 6:
  
 
[http://sourceforge.net/tracker/?atid=955896&group_id=176962&func=browse SourceForge UI Tracker]
 
[http://sourceforge.net/tracker/?atid=955896&group_id=176962&func=browse SourceForge UI Tracker]
 +
 +
== Explanation of Bug Triage Process ==
 +
 +
Bug Triage is the process of reviewing a reported bug.
 +
 +
# '''Try to Reproduce''': You try to reproduce the bug on the latest trunk.<br>
 +
#: For example you can try to reproduce the bug on the test site http://www.testadempiere.com/webui.<br>
 +
#: As a result of your trial to reproduce one of these three things can happen:
 +
## '''Bug is unclear''':
 +
##: You can find that redaction of the bug is not clear enough to allow research of the problem, in this case it's recommended that you:
 +
### Change resolution to Invalid
 +
### Add a comment asking for better explanation and steps to reproduce
 +
### Change status to Pending
 +
###: Note that Pending status will change to Closed if the user doesn't add comments in 14 days (configurable in sourceforge) or somebody else change the status back to Open.
 +
###: When the user that opened the tracker add a comment the status is changed back to Open automatically.
 +
## '''Bug cannot be reproduced''':
 +
##: When you find the bug is clearly explained but you cannot reproduce it in current trunk then it's recommended that you:
 +
### Change resolution to Works for me
 +
### Add a comment describing the steps you followed and stating that you could not reproduce the bug (possibly is an outdated bug, or reported for an old version)
 +
### Change status to Pending
 +
## '''Bug is reproducible in trunk''':
 +
##: You find the bug is valid, so it's recommended that you:
 +
### Change resolution to None.  Or change the resolution to Remind in case the tracker has a proposed patch or solution.
 +
### Leave status in Open
 +
### Try to assign proper category in case it's not assigned
 +
### Add a comment like "reproduced by _name_of_triager_".  It's also recommended to add steps to reproduce when the tracker doesn't have them.
 +
### Assign <font color=red>'''priority'''</font> according to the [[#Priority|table]] described below
 +
### Assign <font color=red>'''group'''</font> according to the [[#Group|table]] described below
 +
###: Please note that assigning correct priority and group are the MOST IMPORTANT steps of this process.  With correctly triaged bugs we can plan better the stabilization of releases.
  
 
== Helping with Triage ==
 
== Helping with Triage ==

Revision as of 09:47, 4 March 2010

Here we document the meaning of the priority levels assigned to reported bugs.

Where the bugs are

SourceForge Bug Tracker

SourceForge UI Tracker

Explanation of Bug Triage Process

Bug Triage is the process of reviewing a reported bug.

  1. Try to Reproduce: You try to reproduce the bug on the latest trunk.
    For example you can try to reproduce the bug on the test site http://www.testadempiere.com/webui.
    As a result of your trial to reproduce one of these three things can happen:
    1. Bug is unclear:
      You can find that redaction of the bug is not clear enough to allow research of the problem, in this case it's recommended that you:
      1. Change resolution to Invalid
      2. Add a comment asking for better explanation and steps to reproduce
      3. Change status to Pending
        Note that Pending status will change to Closed if the user doesn't add comments in 14 days (configurable in sourceforge) or somebody else change the status back to Open.
        When the user that opened the tracker add a comment the status is changed back to Open automatically.
    2. Bug cannot be reproduced:
      When you find the bug is clearly explained but you cannot reproduce it in current trunk then it's recommended that you:
      1. Change resolution to Works for me
      2. Add a comment describing the steps you followed and stating that you could not reproduce the bug (possibly is an outdated bug, or reported for an old version)
      3. Change status to Pending
    3. Bug is reproducible in trunk:
      You find the bug is valid, so it's recommended that you:
      1. Change resolution to None. Or change the resolution to Remind in case the tracker has a proposed patch or solution.
      2. Leave status in Open
      3. Try to assign proper category in case it's not assigned
      4. Add a comment like "reproduced by _name_of_triager_". It's also recommended to add steps to reproduce when the tracker doesn't have them.
      5. Assign priority according to the table described below
      6. Assign group according to the table described below
        Please note that assigning correct priority and group are the MOST IMPORTANT steps of this process. With correctly triaged bugs we can plan better the stabilization of releases.

Helping with Triage

  1. Anyone can help. It is a matter of looking at bug reports, trying to reproduce in the daily build, then setting the priority of the bug.
  2. Sign up to review a small section of bug reports, at the latest link underneath the heading Volunteering below.
  3. Get the latest code/db.
    1. use the ready-to-run NX client at testadempiere.com (hosted by Idalica)
    2. or use the ready-to-run zkwebui client at testadempiere.com (hosted by Idalica)
    3. or download the daily adempiere binary from testadempiere.com
    4. or download and build the sources yourself, and apply all the latest migration scripts.
  4. If you can reproduce the bug in the latest build, set the priorities as noted below.
  5. If there is not enough information to reproduce, then you can ask for more details.
  6. If you can not reproduce the error, then close the bug, and say 'Works in latest version'  ;)

How to Prioritize

The Project Management Committee has established guidelines for using the priority field in the SF bug tracker. This was discussed in the PMC meeting of 03/06/2007, the notes are here: CC_Meeting_Full_20070306

If you are filling out a report, you can assign priority and group according to the following guidelines:

Resolution

  • Remind - In some cases, there is already a patch or code snippet in the bug report that has not yet been applied. In these cases, set the Resolution to "Remind" and these can be looked at first on a bug day.

Priority

  • Priority 9 - system stopper - data corruption without workaround
  • Priority 7 - security issues
  • Priority 5 - not prioritized
  • Priority 3 - problems with workarounds - performance problems
  • Priority 1 - presentation problems

Group

It's very important also to assign the group for the bug:

  • Beta - if you're reporting a bug over a beta functionality
  • Core - if you're reporting a bug over a core functionality
  • Module specific - if you're reporting affecting just a specific module (not core)
  • Report - if you're reporting problems of presentation or reports

Release

From time to time, the bugs will be triaged to re-prioritize them according to these standards.

Priority and group are important, because we will not announce a stable release while there are known priority 9 bugs on core.

Volunteering

Triage December 2007

Triage March 2010