How to report a bug


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

How to report a bug

  1. 1. How To Report a Bug Sandy Smith
  2. 2. Egad, a BUG! <ul><li>Centipedes aren’t bugs </li></ul><ul><li>This should teach you that your first, visceral reaction isn’t always the right one </li></ul><ul><li>You still probably don’t want centipedes around </li></ul><ul><li>So, how do you even tell if it’s a bug? </li></ul>
  3. 3. Relax <ul><li>Bugs are natural </li></ul><ul><li>Software glitches are natural </li></ul><ul><li>Most insects aren’t bugs </li></ul><ul><li>Most software problems aren’t bugs </li></ul>
  4. 4. So How Do I Tell? <ul><li>Bugs Are: </li></ul><ul><ul><li>Covered by documentation </li></ul></ul><ul><ul><li>Classified by severity (minor, major, crasher/blocker) </li></ul></ul><ul><ul><li>A failure to function or different function than what was agreed </li></ul></ul><ul><li>Bugs aren’t: </li></ul><ul><ul><li>Something that wasn’t in the requirements (feature request) </li></ul></ul><ul><ul><li>An idea how to make something function better (enhancement) </li></ul></ul><ul><ul><li>A text change (text) </li></ul></ul><ul><ul><li>A formatting preference or slight functional change (tweak) </li></ul></ul>
  5. 5. What Do I Do? <ul><li>Stop </li></ul><ul><li>Decide if it’s a bug or something else </li></ul><ul><li>Gather information </li></ul><ul><li>Report the bug, tweak, text change, enhancement, or feature request appropriately </li></ul>
  6. 6. Easy For You To Say <ul><li>Not really--technical people can be the worst bug reporters </li></ul><ul><li>Be detail-oriented </li></ul><ul><li>Imagine the program is sick (poor little program) </li></ul><ul><li>Report the symptoms like you would to the doctor </li></ul><ul><li>Hey, no needles! </li></ul>
  7. 7. What NOT To Do <ul><li>“It doesn’t work!!” </li></ul><ul><ul><li>Detailed information is key </li></ul></ul><ul><ul><li>The programmer needs to be able to reproduce the problem </li></ul></ul><ul><li>Be Accusatory </li></ul><ul><ul><li>Bugs aren’t intentional </li></ul></ul><ul><ul><li>Communication about sites is hard </li></ul></ul><ul><ul><li>There’s always a chance you might be wrong </li></ul></ul>
  8. 8. What TO Do <ul><li>Give details of your environment </li></ul><ul><li>Reconstruct how you got to the bug </li></ul><ul><li>Say what you expected to happen </li></ul><ul><li>Decide on the right category </li></ul><ul><li>Say what actually happened </li></ul><ul><li>Decide on the category </li></ul><ul><li>Report non-bugs, too </li></ul>
  9. 9. Categorize That Bug <ul><li>Minor bugs </li></ul><ul><ul><li>The software functions, but some part may be incorrect (displays wrong date) </li></ul></ul><ul><ul><li>The software can be used, but is annoying </li></ul></ul><ul><li>Major bugs </li></ul><ul><ul><li>The software attempts to function, but much is wrong or incomplete </li></ul></ul><ul><ul><li>There is no workaround </li></ul></ul><ul><li>Blocker/Crasher </li></ul><ul><ul><li>The software/page is essentially unrecognizable </li></ul></ul>
  10. 10. Detail Your Environment <ul><li>What browser are you using? </li></ul><ul><ul><li>Which version? </li></ul></ul><ul><li>Which operating system do you run? </li></ul><ul><ul><li>Which version? </li></ul></ul><ul><li>Did you use any helper software? </li></ul><ul><ul><li>What software, and which version? </li></ul></ul><ul><li>What time is it? </li></ul><ul><ul><li>Date and time can help </li></ul></ul>
  11. 11. How It All Happened <ul><li>How you got there from the home page </li></ul><ul><ul><li>Even if there are pages in-between </li></ul></ul><ul><li>Exactly what information you may have entered </li></ul><ul><ul><li>I’ve seen a problem occur when you didn’t use the word “password” as a password </li></ul></ul><ul><li>Exactly which links or forms you used </li></ul><ul><ul><li>“ I went to page X and joined” - No </li></ul></ul><ul><ul><li>“ I clicked on the link ‘Foo’ in the upper-left hand navigation, clicked in the upper right form…” - Yes </li></ul></ul>
  12. 12. What Actually Happened? <ul><li>Describe the result as accurately as possible </li></ul><ul><li>Take a note of and copy all error messages </li></ul><ul><li>Note where in the process of creating a page the error occurred </li></ul><ul><ul><li>Before loading, midway, at the end? </li></ul></ul><ul><li>Report any delays or unusually quick responses </li></ul>
  13. 13. Report Non-bugs <ul><li>Non-bugs are important, and should be reported in the same way </li></ul><ul><li>Reporting the expected behavior is even more important </li></ul><ul><li>Review the types of non-bugs </li></ul><ul><ul><li>Examples next screen </li></ul></ul><ul><li>Describe non-accusingly </li></ul><ul><ul><li>Avoid “it should”, use “change it to” </li></ul></ul>
  14. 14. Types of Non-Bugs <ul><li>Text - text change </li></ul><ul><ul><li>Change “My Cool Stuff” to “Our Cool Stuff” </li></ul></ul><ul><li>Tweak - minor functionality change </li></ul><ul><ul><li>Change date display to HH/MM/YYYY </li></ul></ul><ul><li>Enhancement - added functionality, moderate change </li></ul><ul><ul><li>Greet the user with evening/morning, depending on the time </li></ul></ul><ul><li>Feature Request - significant added functionality </li></ul><ul><ul><li>Add capability to display and sort by publisher </li></ul></ul>
  15. 15. Prepare To Report Well <ul><li>Create testing lists </li></ul><ul><ul><li>Describe each page, what actions to take, and what should result </li></ul></ul><ul><ul><li>Do this from the wireframe, let the programmer review </li></ul></ul><ul><ul><li>This catches miscommunication/bugs early! </li></ul></ul><ul><li>Use project spaces task tracker during buildout </li></ul><ul><ul><li>Helps ensure requirements misunderstandings are ironed out before testing </li></ul></ul><ul><li>Use a bugtracker during testing/QA/fixing </li></ul><ul><ul><li> (Mantis) </li></ul></ul><ul><li>Give clear priority/schedule expectations </li></ul>
  16. 16. Tips <ul><li>Beware pronouns, vague nouns </li></ul><ul><ul><li>“ When filled out the form, and when I clicked on it I got an error” (What does “it” refer to? The submit button? </li></ul></ul><ul><li>When in doubt, elaborate </li></ul><ul><li>Don’t freak if programmer responds that they can’t reproduce it or that it’s not a bug </li></ul><ul><li>Programmers don’t have magical insight </li></ul><ul><li>Read Simon Tatham’s essay “How To Report Bugs Effectively” </li></ul><ul><ul><li>http://www. chiark . greenend .org. uk /~ sgtatham /bugs.html </li></ul></ul>
  17. 17. The Result is Happy Clients <ul><li>Once bugs and unwanted insects are cleared away, caterpillars are left </li></ul><ul><li>Caterpillars turn into butterflies </li></ul><ul><li>Butterflies make everybody happy </li></ul><ul><li>You may be sick now </li></ul>