slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Bugs PowerPoint Presentation
Download Presentation
Bugs

Loading in 2 Seconds...

play fullscreen
1 / 36

Bugs

9 Vues Download Presentation
Télécharger la présentation

Bugs

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Bugs

  2. How to Report Bugs Effectively • Goal • Bug life cycle • Steps for submitting a bug • Other observations • Problems with Issue Tracking Systems

  3. Goal of a bug report • You submit a bug report to get it resolved • “Enable the programmer to see the program failing in front of them” • Show them in person • Give detailed instructions on how to make it fail • Programmers can gather additional info • If they can make it fail, they will try to gather extra information until they know the cause. If they can't make it fail, they will have to ask you to gather that information for them.

  4. Bug Life Cycle http://en.wikipedia.org/wiki/Bugzilla#Design See “Steps for Submitting a bug” Developers read/add comments (see “Problems with Issue Tracking Systems”)

  5. Steps for Submitting a Bug • First step is …

  6. Steps for Submitting a Bug 1. Always search for a previous bug • Chances are already submitted the bug • Add more information to the existing one (if necessary), rather than submitting a new bug • https://bugzilla.mozilla.org/enter_bug.cgi?product=Firefox&format=guided

  7. Search for previous bugs to avoid submitting duplicates • http://sourceforge.net/tracker/?func=detail&aid=917231&group_id=588&atid=100588

  8. Steps for Submitting a Bug • Second step is …

  9. Steps for Submitting a Bug 2. Provide enough information to allow the programmer to reproduce the bug • Exact steps to reproduce the bug • Which buttons • Order • Input (attach sample input file) • Expected output • Actual output • Screenshot

  10. Steps for Submitting a Bug 2. Provide enough information to allow the programmer to reproduce the bug • Software version, OS version • Exact error message • Stack trace • Core dumps • Other information (e.g., “unexpected delays”)

  11. Often, programmer will say “works for me”

  12. Causes for “Works for Me”? • Cause #1 …

  13. Causes for “Works for Me”? • Not enough information was provided by user • Some crucial information was omitted • Submitter (not familiar with the features) thinks it is a problem, when it’s actually not • Submitter is using an older software version with the bug, which has been fixed in the most recent version

  14. Causes for “Works for Me”? • Bug is stochastic, and due to its non-deterministic behavior it cannot be reproduced by developer • Miscommunication due to unclarity of bug report • Reporter meant something • Developer understood something else, and could not reproduce bug

  15. Steps for Submitting a Bug 3. Clarify the statements, verify the information, and submit • Clear statements are essential • Be specific • "I selected Load" might mean "I clicked on Load" or "I pressed Alt-L” • Be verbose • More information is better than less

  16. Steps for Submitting a Bug 3. Clarify the statements, verify the information, and submit • Be careful of pronouns • Substitute “it” with the actual meaning. • "I started FooApp. It put up a warning window. I tried to close it and it crashed." • "I started FooApp, which put up a warning window. I tried to close the warning window, and FooApp crashed.”

  17. Steps for Submitting a Bug 3. Clarify the statements, verify the information, and submit • Read what you wrote • Read the report and make it clear • If there is a list of steps to reproduce the failure, follow them and see if you missed a step

  18. Other Observations • When you go to a doctor, do you say “Doctor, I need a prescription for …”?

  19. Other Observations • When you go to a doctor, do you say “Doctor, I need a prescription for …”? • State your symptoms and doctor will suggest the appropriate remedy • In a bug report describe the symptoms, not solutions • Enhance bug report with possible solution, but never omit the symptoms

  20. Other Observations • Distinguish facts ("I was at the computer and this happened") from speculations ("I think the problem might be this") • Leave out speculations if you want to, but don't leave out facts

  21. Other Observations • Not all bugs contain specific steps to reproduce: • Fail every week • Fail “randomly”

  22. Example of “Random Occurring Bug” https://bugzilla.mozilla.org/show_bug.cgi?id=412950

  23. Problems with Issue Tracking Systems • Cannot delete or modify comments • “Too much information” • No threading • Discussion might be hard to follow

  24. https://bugzilla.mozilla.org/show_bug.cgi?id=412950 Issues?

  25. https://bugzilla.mozilla.org/show_bug.cgi?id=412950 Issues? “Conflicting” information Hard to follow discussions

  26. Issues?

  27. Issues? Hundreds of comments!

  28. Similar bug submission process, different standards • Mozilla • Google Chrome • Java Oracle (Sun)

  29. Example of Google Chrome Bug http://code.google.com/p/chromium/issues/detail?id=70527

  30. Example of Google Chrome Bug Additional info “Quality reviews”

  31. Quality Review

  32. Quality Review

  33. Oracle (Sun) Bug Submission FAQ http://developers.sun.com/resources/bugsFAQ.html