View on GitHub

COMP 491/492

Dickinson College Computer Science Senior Seminar

Bug Gardening Activity

Introduction

In the User Install and Developer Install Activities you became familiar with your project from the user, developer and documentation contributor perspectives. In this activity you will become more familiar with the project as a software tester and developer by investigating bugs.

Assignment

In this activity you will:

Track and document what you do using your sub-team’s Slack live-log. Work on the activities will be assessed via the Project Checkpoints as described in the Course Syllabus. When your sub-team believes it has satisfied the Completion Criteria, schedule an appointment with the course faculty for review.

Getting Started:

For this activity there will be a number of deliverables that will be collectively produced by the project team / sub-teams and posted to the team Wiki page (See the Completion Criteria below) So before going further, ensure that a link for a new Wiki page for the Bug Activities has been added to your team’s Wiki page. The project sub-teams will each be adding to this new Wiki page throughout this activity. It is the full team’s responsibility to keep this new Wiki page well organized and nicely formatted.

Bug Information:

Every H/FOSS project worth its salt will have a bug/issue tracker. In addition to that many projects also have resources (documents/communication channels/etc) that describe the processes and expectations for reporting/triaging/fixing bugs or provide ways to discuss bugs.

Find and read all of the bug-related resources that your project provides. Under a heading of “Bug Resources” on your team’s Bug Activities Wiki page create, collectively as a team, an annotated list of the useful bug-related resources that you found. Be sure to include the bug/issue tracker itself, information about how developers claim bugs on which they plan to work, and how bug fixes are contributed back to the project. This list should be a one-stop shop for all of the information you need about dealing with bugs in your project. Entries in the list should be of the form:

Finally, before continuing read Simon Tatham’s article on How to Report Bugs Effectively.

Bug Gardening:

Bug gardening is a name often given to the task of maintaining the bug/issue tracker in a project. This will include things such as assigning tags and/or priorities to tickets, confirming the existence of reported bugs, requesting additional information on submitted tickets, adding useful information to existing tickets, eliminating duplicate tickets, connecting potentially related tickets, closing completed or out of date tickets, etc. In this part of the activity you will try to help your project by doing some bug gardening.

Each sub-team should investigate the existence of at least 3 suspect bugs in the bug/issue tracker for your project. The bugs investigated by each sub-team should be different from those of the other sub-groups. A suspect bug is one that has not been closed but that may not actually exist in the current development version of the product. Suspect bugs can arise in a variety of ways. Someone may simply have forgotten to close the ticket, Someone may have re-discovered and fixed this bug while working on another ticket or the relevant features may have been eliminated from the product. To identify suspect tickets, you might look at old tickets, tickets with version numbers that do not match the current version, and older tickets marked as low priority. Any information that you were able to identify earlier about how the project handles/processes bugs may also help in finding suspect bugs (e.g. if the project uses an in-progress tag for tickets undergoing active work, a ticket tagged in-progress but that hasn’t been updated in a long time might be suspect). The best suspect bugs to investigate will the those with a detailed list of steps for replicating the bug. If you have trouble identifying suspect bugs, you might explain (briefly) to the community what you are doing. They may then have suggestions for how to identify suspect bugs in the project or suggestions for other related things you might do to help maintain the issue tracker. If the community has other suggestions, please discuss them with the course faculty to possibly arrange alternative completion criterion as appropriate.

All of the suspect bugs investigated by the full project team should collected together and documented under the heading “Suspect Bugs” on your team’s Bug Activities Wiki page. This section of the Wiki page should include a table with one row for each suspect bug. The information in this table should be brief, full details will be contained in your Slack live-logs. The table below shows the required columns, gives a short explanation of each column and a few sample rows:

Bug ID Sub-Team Description Why Suspect Exists Actions  
The identifier for the bug as a link into the issue tracker Initials of sub-team members A short description of the bug A short explanation of why the bug suspect Yes if able to confirm existence of the bug in the latest dev version, No if able to confirm it does not exist. Uncertain, if neither yes or no. Along with brief comments. Description of any action taken on the bug. Include links to any artifacts that document your actions.  
1234 GB/XY Deposit field allows negative amounts. Ticket dated 2008, latest version released 2016. No. Followed steps in ticket to reproduce and negative amount was rejected. Commented on the ticket suggesting it be closed.
X5432b GB/XY UI unresponsive when sorting data. Ticket posted for version 1.3, latest product version is 2.7. Yes. Confirmed unresponsiveness when sorting the very large test data set. Commented on the ticket indicating problem was seen in Version 2.7 using the large test data set, but was not noticeable with the small test data set.
AB392c JM/PQ Program crashes on dates before 1970. Ticket posted for version 1.3, latest product version is 2.7. Uncertain. Unable to replicate bug because steps for replication were incomplete/unclear with regard to version 2.7. Commented on the ticket explaining source of confusion and asking for clarification.

If a sub-team happens to identify a new bug that does not already appear in the issue tracker they may open a new ticket for the bug in lieu of one of the suspect bug reports. The corresponding row in the table above should link to and describe their new issue ticket.

Completion Criteria

The completion criteria that each sub-team must demonstrate for this activity are:

Each team member must be able to:


Acknowledgements: This assignment builds from and adapts ideas and content from the following activities created by others: