Bug tracking tools
Outline Why need Bug Tracking tool? Life-cycle of a “bug report” Bug report attributes Bug tracking events Main tools Guidelines Public bug trackers Software Engineering SS 07 2
Why need Bug Tracking tool? Collaborative software engineering Software result of co-operation of many people typically at different locations Communication is crucial Many means available face-to-face meetings, e-mail, phone video-conferencing, instant messaging, Wiki Bugs are inevitable Software written by humans It’s only human to errr Means: first row – old fashioned style second row – “internet generation” style Software Engineering SS 07 3
Why need bug tracking tool? Need to communicate about bugs discovery / symptom / reproduction / reason / removal Communication means inappropriate e-mail: all parties involved? difficult to follow evolution. phone, IM: all parties involved? might get forgotten. Wiki: needs notification. We need a specialized tool able to track history and evolution of bugs Software Engineering SS 07 4
Life-cycle of a “bug report” I think I know what’s wrong. Que??? Updates Notifies Reports Open Unassigned Open Assigned Closed Notifies Self-assigns Fixes This is just a possible scenario. For instance: - reported bug can already be assigned to someone, - updates can be added before report being assigned, - not only self-assignment is allowed - after being closed in can be re-opened again Notifies Oops, that’s in my code… Software Engineering SS 07 5
Bug report attributes Date: report, updates, close Status: open, closed, deleted, assigned Short summary Detailed description Severity and priority Platform and version number Category: GUI, installation, certain module Reproduction: description or test-case From Sourceforge, Gaim project (a popular instant messenger) Software Engineering SS 07 6
Bug report attributes Date: report, updates, close Status: open, closed, deleted, assigned Short summary Detailed description Severity and priority Platform and version number Category: GUI, installation, certain module Reproduction: description or test-case (e.g. attaching core dump) The description on the right is displayed when clicking on the summary of the entry on the previous slide. In rectangle: what additional info appears compared to previous slide Software Engineering SS 07 7
Bug tracking events Open, update and close report Search among reports Upper figure shows an update dialog. Software Engineering SS 07 8
Main tools How to choose? free vs. commercial featurism vs. ease of use technical requirements A comprehensive list of tools www.software-pointers.com/en-defecttracking-tools.html Most popular tools Bugzilla, Mantis, GNATS, Flyspray By technical requirement I mean e.g. whether the installation of DB / PHP etc. needed or not. Software Engineering SS 07 9
Bug report writing guidelines One issue per report Make sure it is not reported yet How to write useful bug report Summary: short but quickly and uniquely identifies bug Be specific: product, version, component, platform, OS include list of third party software used Reproducible: provide least amount of steps Software Engineering SS 07 10
Public bug trackers bugzilla.mozilla.org netbeans.org/community/issues.html bugs.eclipse.org bugs.debian.org If time permits, can show and browse through one or Gaim at Sourceforge: http://sourceforge.net/tracker/?atid=100235&group_id=235&func=browse Software Engineering SS 07 11