Intro to Bug Trackers (Activity)

From Foss2Serve
(Difference between revisions)
Jump to: navigation, search
m (Added category)
(Update link to GNOME issues)
 
(29 intermediate revisions by 10 users not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
{| border="1"
 
|-
 
|'''Title''' ||Bug Trackers
 
|-
 
|'''Overview''' || Learners will gain an understanding of the features of bug trackers and how they are used to identify work items to be completed in a FOSS project.
 
|-
 
|'''Prerequisite Knowledge''' || None
 
|-
 
|'''Learning Objectives''' || Ability to: 1) Describe the role that a bug tracker plays in a FOSS project, 2) Describe the different types of issues stored in a bug tracker and their priorities, and 3) Identify and track the status of a particular bug in a project.
 
|}
 
  
 +
{{Learning Activity Overview
 +
|title=
 +
Intro to Issue Trackers
 +
|overview=
 +
Learners will gain an understanding of the features of issue trackers and how they are used to identify work items to be completed in a FOSS project.
 +
|prerequisites=
 +
None.
 +
|objectives=
 +
# Describe the role that a issue tracker plays in a FOSS project.
 +
# Describe the different types of issues stored in a issue tracker and their priorities.
 +
# Identify and track the status of a particular issue in a project.
 +
|process skills=
 +
}}
 +
 +
 +
=== Background ===
  
=== Background: ===
+
Issue tracking systems are a tool for change management and organization used by FOSS projects. Issue trackers are used to hold bug reports, new feature requests, patches, and some tasks. Issue trackers are also called request trackers, bug trackers, and ticket systems. Please read the two readings below for a more complete treatment of issue trackers and their use in FOSS projects.
Bug tracking systems are a form of change management and organization used by FOSS projects. Bug trackers do far more than simply keep track of bugs. They also are used to hold new feature requests, patches, and some tasks. Bug trackers are also called request trackers, issue trackers, request trackers and ticket systems. Please read the two readings below for a more complete treatment of bug trackers and their use in FOSS projects.
+
  
 
* [http://producingoss.com/en/bug-tracker.html Karl Fogel's chapter on bug trackers]
 
* [http://producingoss.com/en/bug-tracker.html Karl Fogel's chapter on bug trackers]
* [http://en.wikipedia.org/wiki/Bug_tracking_system Wikipedia's page on Bug Tracking Systems]
+
* [http://en.wikipedia.org/wiki/Bug_tracking_system Bug Tracking System (Wikipedia)]
  
=== Directions: ===
+
=== Directions ===
We will begin by looking at a typical Bugzilla instance for a project. We will be using GNOME's Bugzilla instance, but specifically looking at the bugs for the Accessibility Team.
+
  
== Part 1 - Bug Reports ==
+
# Open a browser and go to GNOME's issue tracker on GitLab: https://gitlab.gnome.org/groups/GNOME/-/issues.
# Open a browser and go to the [https://bugzilla.gnome.org/buglist.cgi?type0-7-0=notequals;field0-3-0=product;keywords=accessibility;type0-1-0=notequals;type0-5-0=notequals;keywords_type=allwords;value0-5-0=accerciser;value0-4-0=at-poke;field0-1-0=product;field0-0-0=product;type0-4-0=notequals;field0-6-0=product;value0-3-0=gnome-mag;field0-7-0=product;query_format=advanced;value0-2-0=Dasher;value0-6-0=gnome-speech;value0-1-0=Gok;type0-3-0=notequals;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;bug_status=NEEDINFO;field0-2-0=product;field0-5-0=product;field0-4-0=product;type0-6-0=notequals;type0-0-0=notequals;value0-0-0=Orca;type0-2-0=notequals GNOME Accessibility Bugs]
+
# GItLab allows groups with multiple projects to view all their issues in an aggregated view. This is what you are viewing now. List some of the projects that these issues belong to (hint - each issue has an issue number prefixed by its project name.)
# Define what each of the column names below indicate. Include the range of possible values for 2-7 below. Feel free to explore beyond the page to find more information.
+
# What other information is available about each issue in this view?
## ID
+
# Issues can be assigned labels which are also visible from this view. These are the colorful labeled ovals. List a few of the labels that you see. Feel free to browse through pages.
## Sev
+
# Browse through a couple of issues. What additional information is provided on individual issues?
## Pri
+
# Click on "labels" in the left menu. Notice that labels are grouped by number and color. For example, gold (olive?) labels start with "1." and represent the type of the issue, which can be used to quickly search for issues of a certain type and to know what type an issue is at a glance. What other groups are there, and how do you think they are used?
## OS
+
# Click on "board" in the left menu. Boards are used to organize issues. This board provides a high-level roadmap of the projects in GNOME. How are cards associated with columns?
## Product
+
# Milestones do three things: 1. they aggregate a set of issues and 2. they associate a deadline with those issues, and 3. they provide a progress bar to visualize the status of a milestone. Milestones can be used to collect issues for an upcoming release, organize a time-boxed development effort (as in a Scrum Sprint), or they can be used to collect issues that compose a larger feature to be implemented. Click on "milestones" in the left menu. Browse through two or three of them. How does GNOME appear to be using milestones?
## Status
+
# Click on "Merge Requests" in the left menu. These look a lot like issues. Browse through a few. What do they have that issues do not? Often merge-requests contain links back to the issue that they are related to. What is the syntax for linking a Merge-Request to an issue?
## Resolution
+
## Summary
+
# Describe how you discovered the definitions and how did you find the information from above (hint: the advanced search shows the options or the Reports link has a link)?  
+
# Identify the order in which the bugs are initially displayed?
+
# What is the meaning of the shading of some bug reports?
+
# What is the meaning of the colors used when describing a bug (red, gray, black)?
+
# Select a bug that you think that you might be able to fix and look at it more closely (click on the bug number).  
+
## Identify when the bug was submitted.
+
## Identify if there has been recent discussion about the bug?
+
## Is the bug current?
+
## Is the bug assigned? To whom?
+
## Describe what you would need to do to fix the bug.
+
# Repeat the previous step with a different kind of bug.
+
  
== Part 2 - Collective Reports ==
+
= Notes for Instructors =
# Click on the “Reports” link on the top of the page.
+
# Click on the "Summary of Bug Activity for the last week".
+
# How many bug reports were opened in the last week? How many were closed?
+
# What was the general trend last week? Were more bugs opened than closed or vice versa?
+
# Who were the top three bug closers? Why is this important to know?
+
# Who were the top three bug reporters? Are these the same as the top three bug closes? What is the overlap in these two lists?
+
# Who are the top three contributors of patches?
+
# Who are the top three reviewers of patches? What is the overlap between these lists and the bug closers and bug reporters? What is the overlap between patch contributors and patch reviewers?
+
# Click on the “Generate Graphical Reports” link.
+
# Plot a line graph of the severity of bugs by component for Orca:
+
## Select "Severity" for the vertical axis
+
## Select "Component" for the horizontal axis
+
## Select "Bar Graph" for type of graph
+
## Leave the "Multiple Images" as <none>
+
## Scroll down and select Orca from the Product menu. 
+
## Click "Generate Report".
+
# What class were the majority of the bugs for braille?
+
# What other reports can you generate?
+
  
 
+
The remaining sections of this document are intended for the instructor.  They are not part of the learning activity that would be given to students.
===Deliverables: ===
+
Wiki posting describing the results of your exploration below.  
+
  
 
===Assessment: ===
 
===Assessment: ===
How will the activity be graded?
 
 
How will learning will be measured?
 
  
Include sample assessment questions/rubrics.
+
* How will the activity be graded?
 +
* How will learning will be measured?
 +
* Include sample assessment questions/rubrics.
  
 
{| border="1" class="wikitable"
 
{| border="1" class="wikitable"
Line 97: Line 67:
 
|}
 
|}
  
=== Comments: ===
+
=== Comments ===
What should the instructor know before using this activity?
+
  
What are some likely difficulties that an instructor may encounter using this activity?
+
* What should the instructor know before using this activity?
 +
* What are some likely difficulties that an instructor may encounter using this activity?
  
 +
{{Learning Activity Info
 +
|acm unit=
 +
|acm topic=
 +
|difficulty=
 +
Easy
 +
|time=
 +
60 minutes
 +
|environment=
 +
Access to Internet/Web and web browser.
 +
|author=
 +
Heidi Ellis
 +
Stoney Jackson
 +
|source=
 +
|license=
 +
{{License CC BY SA}}
 +
}}
  
=== Additional Information: ===
+
=== Suggestions for Open Source Community: ===
{| border="1"
+
|-
+
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]
+
|-
+
|'''ACM Topic''' || What specific topics are addressed? The Computing Curriucula 2013 provides a list of topics - https://www.acm.org/education/CS2013-final-report.pdf
+
|-
+
|'''Level of Difficulty''' || Is this activity easy, medium or challenging?
+
|-
+
|'''Estimated Time to Completion''' ||  60 Minutes
+
|-
+
|'''Materials/Environment''' || Access to Internet/Web and web browser.
+
|-
+
|'''Author''' || Who wrote this activity?
+
|-
+
|'''Source''' || Is there another activity on which this activity is based?  If so, please provide a link to the original resource.
+
|-
+
|'''License''' || Licensed CC BY-SA
+
|}
+
  
=== Suggestions for Open Source Community: ===
 
 
Suggestions for an open source community member who is working in conjunction with the instructor.
 
Suggestions for an open source community member who is working in conjunction with the instructor.
  
--------------------
 
This work is licensed under a
 
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]
 
 
[[File:CC_license.png]]
 
 
[[Category: Learning_Activity]]
 
 
[[Category:Communication_and_Tools]]
 
  
[[Category: CS Principles]]
+
[[Category:Learning Activity]]
[[Category: CS2]]
+
[[Category:Communication and Tools]]
 +
[[Category:Bugzilla]]
 +
[[Category:CS Principles]]
 +
[[Category:CS2]]
 +
[[Category: Good Draft]]

Latest revision as of 19:47, 22 May 2019


Title

Intro to Issue Trackers

Overview

Learners will gain an understanding of the features of issue trackers and how they are used to identify work items to be completed in a FOSS project.

Prerequisites

None.

Learning
Objectives
After successfully completing this activity, the learner should be able to:
  1. Describe the role that a issue tracker plays in a FOSS project.
  2. Describe the different types of issues stored in a issue tracker and their priorities.
  3. Identify and track the status of a particular issue in a project.
Process Skills
Practiced


Background

Issue tracking systems are a tool for change management and organization used by FOSS projects. Issue trackers are used to hold bug reports, new feature requests, patches, and some tasks. Issue trackers are also called request trackers, bug trackers, and ticket systems. Please read the two readings below for a more complete treatment of issue trackers and their use in FOSS projects.

Directions

  1. Open a browser and go to GNOME's issue tracker on GitLab: https://gitlab.gnome.org/groups/GNOME/-/issues.
  2. GItLab allows groups with multiple projects to view all their issues in an aggregated view. This is what you are viewing now. List some of the projects that these issues belong to (hint - each issue has an issue number prefixed by its project name.)
  3. What other information is available about each issue in this view?
  4. Issues can be assigned labels which are also visible from this view. These are the colorful labeled ovals. List a few of the labels that you see. Feel free to browse through pages.
  5. Browse through a couple of issues. What additional information is provided on individual issues?
  6. Click on "labels" in the left menu. Notice that labels are grouped by number and color. For example, gold (olive?) labels start with "1." and represent the type of the issue, which can be used to quickly search for issues of a certain type and to know what type an issue is at a glance. What other groups are there, and how do you think they are used?
  7. Click on "board" in the left menu. Boards are used to organize issues. This board provides a high-level roadmap of the projects in GNOME. How are cards associated with columns?
  8. Milestones do three things: 1. they aggregate a set of issues and 2. they associate a deadline with those issues, and 3. they provide a progress bar to visualize the status of a milestone. Milestones can be used to collect issues for an upcoming release, organize a time-boxed development effort (as in a Scrum Sprint), or they can be used to collect issues that compose a larger feature to be implemented. Click on "milestones" in the left menu. Browse through two or three of them. How does GNOME appear to be using milestones?
  9. Click on "Merge Requests" in the left menu. These look a lot like issues. Browse through a few. What do they have that issues do not? Often merge-requests contain links back to the issue that they are related to. What is the syntax for linking a Merge-Request to an issue?

Notes for Instructors

The remaining sections of this document are intended for the instructor. They are not part of the learning activity that would be given to students.

Assessment:

  • How will the activity be graded?
  • How will learning will be measured?
  • Include sample assessment questions/rubrics.
Criteria Level 1 (fail) Level 2 (pass) Level 3 (good) Level 4 (exceptional)
The purpose of the project
Why the project is open source

Comments

  • What should the instructor know before using this activity?
  • What are some likely difficulties that an instructor may encounter using this activity?
ACM BoK
Area & Unit(s)
ACM BoK
Topic(s)
Difficulty

Easy

Estimated Time
to Complete

60 minutes

Environment /
Materials

Access to Internet/Web and web browser.

Author(s)

Heidi Ellis Stoney Jackson

Source
License

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

CC license.png


Suggestions for Open Source Community:

Suggestions for an open source community member who is working in conjunction with the instructor.

Personal tools
Namespaces
Variants
Actions
Events
Learning Resources
HFOSS Projects
Evaluation
Navigation
Toolbox