Bug Selection
m |
|||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
− | {| | + | {{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 === | === Background === | ||
− | |||
=== Directions === | === Directions === | ||
Line 51: | Line 51: | ||
* 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. | ||
− | + | {{Learning Activity Info | |
− | + | |acm unit= | |
− | + | Software Development Fundamentals//Software Verification and Validation | |
− | + | |acm 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) |
− | + | |time= | |
− | | | + | 60-90 minutes |
− | + | |environment= | |
− | | | + | Student needs access to the project's bug tracker, internet access. |
− | + | |author= | |
− | | | + | Heidi Ellis, based on Gina Likins |
− | + | |source= | |
− | | | + | [[Bug Gardening Activity]] |
− | + | |license= | |
− | |} | + | {{License CC BY SA}} |
+ | }} | ||
=== Suggestions for the Open Source Project === | === Suggestions for the Open Source Project === | ||
Line 75: | 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. | ||
− | + | ||
[[Category:Learning Activity]] | [[Category:Learning Activity]] | ||
[[Category:Quality and Testing]] | [[Category:Quality and Testing]] | ||
[[Category:Verify a Bug (Pathway)]] | [[Category:Verify a Bug (Pathway)]] |
Revision as of 14:19, 6 February 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:
|
Process Skills Practiced |
Background
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:
- 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?
- Once you have some understanding of the types bugs that you are comfortable addressing, find the bug tracker for the project.
- 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 BoK Area & Unit(s) |
Software Development Fundamentals//Software Verification and Validation |
---|---|
ACM BoK Topic(s) |
Defect tracking |
Difficulty |
Medium (requires some understanding of the intended functionality of the software, ability to use bug tracking software, and critical thinking skills) |
Estimated Time to Complete |
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 | |
License |
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License |
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.