Bug Selection

From Foss2Serve
(Difference between revisions)
Jump to: navigation, search
(Created page with "__NOTOC__ {| border="1" |- |'''Title''' || Bug Selection |- |'''Overview''' || One way to make a contribution to an open source project is to select a bug, fix the bug, and s...")
 
(Comments)
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
{| border="1"
 
|-
 
|'''Title''' || Bug Selection
 
|-
 
|'''Overview''' || One way to make a contribution to an open source project is to select a bug, fix the bug, and submit the solution back to the community. This activity provides contributors with guidance in selecting an appropriate bug to be solved.
 
|-
 
|'''Prerequisite Knowledge''' || Students should be familiar with how bug trackers work -- see [[http://foss2serve.org/index.php/Bug_Tracker_Activity| Bug Tracker Activity]].
 
|-
 
|'''Learning Objectives''' || Student will be able to review a list of bugs and identify five relevant bugs that they have the skills to solve.
 
|}
 
  
=== Background: ===
+
{{Learning Activity Overview
 +
|title=
 +
Bug Selection
 +
|overview=
 +
One way to contribute to an open source project is to select a bug, fix it, and submit the solution back to the community. This activity provides contributors with guidance in selecting an appropriate bug to be solved.
 +
|prerequisites=
 +
Students should be familiar with how bug trackers work -- see [[Intro to Bug Trackers (Activity)]].
 +
|objectives=
 +
# Review a list of bugs and identify five relevant bugs that they have the skills to solve.
 +
|process skills=
 +
}}
 +
 
 +
=== Background ===
  
 +
=== Directions ===
  
=== Directions: ===
 
 
# In order to identify an appropriate bug to be solved, you must first identify the criteria you should use to select an appropriate bug. Spend some time thinking about the following questions before you start searching the bug tracker:   
 
# In order to identify an appropriate bug to be solved, you must first identify the criteria you should use to select an appropriate bug. Spend some time thinking about the following questions before you start searching the bug tracker:   
 
#* What platform is the application run on?
 
#* What platform is the application run on?
Line 32: Line 34:
 
# Peruse the bug tracker and identify a set of five possible bugs. You may need to ask the community to ensure that the bugs are still relevant.
 
# Peruse the bug tracker and identify a set of five possible bugs. You may need to ask the community to ensure that the bugs are still relevant.
  
=== Deliverables: ===
+
=== Deliverables ===
 +
 
 
A list of bugs including bug number, brief description (in your own words, not copied from the bug report), and a feasibility assessment of how likely you will be able to solve the bug. The feasibility should include an explanation of why you think that you have the skills to solve the bug. The list should be organized in order from easiest to solve to most difficult. One possible format for the deliverable might be:
 
A list of bugs including bug number, brief description (in your own words, not copied from the bug report), and a feasibility assessment of how likely you will be able to solve the bug. The feasibility should include an explanation of why you think that you have the skills to solve the bug. The list should be organized in order from easiest to solve to most difficult. One possible format for the deliverable might be:
  
{| border="1"
+
{| class="wikitable"
 
|-  
 
|-  
 
|'''Bug Number''' ||'''Short Description'''||'''Bug Status'''||'''URL for Bug'''||'''Analysis'''
 
|'''Bug Number''' ||'''Short Description'''||'''Bug Status'''||'''URL for Bug'''||'''Analysis'''
Line 43: Line 46:
 
'''Alternative submission''' Could also ask for estimate of resources, time, and/or lines of code needed to solve the bug and/or set of test cases to test solution.  
 
'''Alternative submission''' Could also ask for estimate of resources, time, and/or lines of code needed to solve the bug and/or set of test cases to test solution.  
  
=== Comments: ===
+
=== Comments ===
 +
 
 
If you're working with a specific open source project:
 
If you're working with a specific open source project:
 
* ask the project (via IRC or mailing list) if there are a particular set of bugs that your students should focus on. Providing a subset of bugs for students to investigate will reduce time students spend searching for bugs.  
 
* ask the project (via IRC or mailing list) if there are a particular set of bugs that your students should focus on. Providing a subset of bugs for students to investigate will reduce time students spend searching for bugs.  
  
=== Additional Information: ===
+
{{Learning Activity Info
{| border="1"
+
|acm unit=
|-
+
Software Development Fundamentals (SDF) // Software Engineering (SE)
|'''Knowledge Area/Knowledge Unit''' || Software Development Fundamentals//Software Verification and Validation
+
|acm topic=
|-
+
Development Methods, Verification and Validation (Defect tracking)
|'''Topic''' || Defect tracking
+
|difficulty=
|-
+
Medium (requires some understanding of the intended functionality of the software, ability to use bug tracking software, and critical thinking skills)  
|'''Level of Difficulty''' || Medium (requires some understanding of the intended functionality of the software, ability to use bug tracking software, and critical thinking skills)  
+
|time=
|-
+
60-90 minutes
|'''Estimated Time to Completion''' || 60-90 minutes
+
|environment=
|-
+
Student needs access to the project's bug tracker, internet access.  
|'''Materials/Environment''' || Student needs access to the project's bug tracker, internet access.  
+
|author=
|-
+
Heidi Ellis, based on Gina Likins  
|'''Author''' || Heidi Ellis, based on Gina Likins  
+
|source=
|-
+
[[Bug Gardening]]
|'''Source''' ||  [http://foss2serve.org/index.php/Bug_Gardening Bug Gardening Activity]  
+
|license=
|-
+
{{License CC BY SA}}
|'''License''' || This work is licensed under a [http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]
+
}}
|}
+
  
=== Suggestions for the Open Source Project: ===
+
=== Suggestions for the Open Source Project ===
  
 
Your community should have specific expectations around [support] that are published [somewhere].  For example, if your code will only work on Fedora versions newer than 19,  then specify that.  
 
Your community should have specific expectations around [support] that are published [somewhere].  For example, if your code will only work on Fedora versions newer than 19,  then specify that.  
Line 73: Line 76:
 
If there are a set of bugs that it would be more helpful to have someone verify, then marking those in some way would help the instructor.
 
If there are a set of bugs that it would be more helpful to have someone verify, then marking those in some way would help 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:Learning Activity]]
[[Category: Quality_and_Testing]]
+
[[Category:Quality and Testing]]
 +
[[Category:Verify a Bug (Pathway)]]

Latest revision as of 17:53, 8 March 2017


Title

Bug Selection

Overview

One way to contribute to an open source project is to select a bug, fix it, and submit the solution back to the community. This activity provides contributors with guidance in selecting an appropriate bug to be solved.

Prerequisites

Students should be familiar with how bug trackers work -- see Intro to Bug Trackers (Activity).

Learning Objectives After successfully completing this activity, the learner should be able to:
  1. Review a list of bugs and identify five relevant bugs that they have the skills to solve.
Process Skills Practiced


Background

Directions

  1. In order to identify an appropriate bug to be solved, you must first identify the criteria you should use to select an appropriate bug. Spend some time thinking about the following questions before you start searching the bug tracker:
    • What platform is the application run on?
    • What parts of the application are you familiar with?
    • What programming language is used?
    • What database is used?
    • What other technologies are used?
    • How complex is the code base?
    • Where is the documentation?
    • What kinds of things are you able to contribute?
      • Test cases?
      • Design?
      • Documentation?
      • Code?
      • Installation instructions?
  2. Once you have some understanding of the types bugs that you are comfortable addressing, find the bug tracker for the project.
  3. Peruse the bug tracker and identify a set of five possible bugs. You may need to ask the community to ensure that the bugs are still relevant.

Deliverables

A list of bugs including bug number, brief description (in your own words, not copied from the bug report), and a feasibility assessment of how likely you will be able to solve the bug. The feasibility should include an explanation of why you think that you have the skills to solve the bug. The list should be organized in order from easiest to solve to most difficult. One possible format for the deliverable might be:

Bug Number Short Description Bug Status URL for Bug Analysis

Alternative submission Could also ask for estimate of resources, time, and/or lines of code needed to solve the bug and/or set of test cases to test solution.

Comments

If you're working with a specific open source project:

  • ask the project (via IRC or mailing list) if there are a particular set of bugs that your students should focus on. Providing a subset of bugs for students to investigate will reduce time students spend searching for bugs.
ACM Body of Knowledge
Area & Unit(s)

Software Development Fundamentals (SDF) // Software Engineering (SE)

ACM Topic(s)

Development Methods, Verification and Validation (Defect tracking)

Level of Difficulty

Medium (requires some understanding of the intended functionality of the software, ability to use bug tracking software, and critical thinking skills)

Estimated Completion Time

60-90 minutes

Environment / Materials

Student needs access to the project's bug tracker, internet access.

Author(s)

Heidi Ellis, based on Gina Likins

Source

Bug Gardening

License

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

CC license.png


Suggestions for the Open Source Project

Your community should have specific expectations around [support] that are published [somewhere]. For example, if your code will only work on Fedora versions newer than 19, then specify that.

If there are a set of bugs that it would be more helpful to have someone verify, then marking those in some way would help the instructor.

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