Bug triage

From Gramps
Revision as of 00:31, 24 July 2013 by BACbKA (Talk | contribs)

Jump to: navigation, search

Help the Gramps project with bug triaging.

Goals of Bug Triage

What

The goal of bug triage is to make it easier for developers to do development by organizing the bug list for them. This means the developers are able to spend less time asking bug reporters what the problem is, confirming if it is still an issue in the latest Gramps trunk in SVN.

Bug triage includes the reduction of open tickets, removal of stale/out of date tickets, and grouping of feature requests.

How

Make sure you're using the latest release of Gramps, using trunk SVN is usually best. From a clean install of Gramps attempt to reproduce the bug that is being reported. If you cannot reproduce the bug, post a comment as such - explaining the steps you took to reproduce the bug. If you encounter a different bug, file a new bug report for that problem if one has not been filed already.

  • Make sure you have Gramps installed so you can test bugs and problems. Create a family tree and import the example.gramps file.

It would be beneficial to also run the trunk version of Gramps so as to test bugs that are in trunk only.

  • At the moment only projects Gramps 3.4, Gramps 4.0, and Gramps trunk are supported, so any bugs not closed or resolved in older versions must be resolved one way or the other:
    • resolved in the meantime
    • does not apply anymore
    • version no longer supported (EOL versions), try with new version
    • bug/problem still present, move the bug to the correct project eg it is a feature request
    • too little information given, feedback wanted from reporter
    • several issues in one bug, close it asking users to submit a ticket per issue (or rename the bug for one issue, and ask to create new ones for the other)
    • other issues...
ALWAYS be polite when responding to a bug ticket.
  • For the supported projects, the bugs must be triaged: Duplicate bugs closed, set a better bug title so it is more clear for a developer what the bug is about, add extra information. Most important here is to try to duplicate the bug with the example.gramps file, as that is what the developer will spend a lot of time trying to do. Fixing a bug always starts with reproducing it, and many times the developer does not succeed in that. Making that possible is the aim of triage. Once a developer sees a bug in front of him, fixing it is often fast.
  • Then there is the feature request project. These must be organised somehow. It is best you look at some of those tickets and make a suggestion on how to organize it so that the feature requests remain useful. Also giving better titles is important here, closing duplicates. Don't be afraid to close something saying users must give a better worked out request (but be polite!).
  • Don't leave bugs in "new" state if they're actually no longer new. Bugs that are clearly not spam, and have enough info to start an investigation (even though they might turn out as a problem at submitter's end) should be made "acknowledged". Those that other people are able to reproduce (or reason about their validity) should be "confirmed". If the bug is blocked waiting for somebody's input, mark it as "feedback". If somebody is actively working on a bug, this is best expressed as "assigned". If you stop working on a bug, please remove it from "assigned" state.

MantisBT permissions

If you don't have MantisBT permissions (the ability to change bugs' status from Unconfirmed to New, Fixed, or Invalid), then feel free to ask on the Gramps-dev List for someone to set the status for you (eg: "Could someone set bug #1 to invalid please?) Once you do this enough, feel free to ask for MantisBT permissions.