Bugtracking Tools codecentric GmbH Rainer Vehns, Java Enterprise in der Deutschen Rentenversicherung. 29. Oktober 2008 Seite 1
Agenda Bug Tracking Ziele und Abgrenzung Anforderungen an Bugtracking Tools Umgang mit Bugtracking Tools Tools im Überblick Beispiel-Tool JIRA (Atlassian) Seite 2
Bugtracking Tools Ziele und Abgrenzung (1) Ziele Fehler an einer Software dokumentieren und Bugfixing für alle Beteiligten nachvollziehbar machen Kommunikation zwischen Testern und Entwicklern (und auch nur zwischen Entwicklern) vereinfachen, strukturieren und nachvollziehen Bugtracking sollte folgende Fragen beantworten Welche Fehler sind aufgetreten? In welcher Version sind sie behoben worden? Wer ist für einen Fehler verantwortlich? Wer bearbeitet einen Fehler? Welche Maßnahmen wurden umgesetzt, um den Fehler zu beseitigen? In welcher Version tritt ein Fehler auf? (Umgebungsinformationen) Wer hat den Fehler eingestellt? (Rückfragen) Wie kann der Fehler nachvollzogen werden? Gab es diesen oder einen ähnlichen Fehler schon mal? (Wie ist die Qualität der Komponenten?) Verfahren ohne Tool Excel-Sheets, Word-Dokumente, E-Mail Probleme : Aktualität der Informationen, Nicht zentral für alle verfügbar, Absprachen nicht nachvollziehbar, Seite 3
Bugtracking Tools Ziele und Abgrenzung (2) Abgrenzung Bugtracking hat anderen Fokus als Trouble-Ticket-Systeme (TTS) TTS fokussiert auf Trouble-/Incident-Managment-Prozess gegenüber dem Anwender / Kunden, daraus ergeben sich insbesondere Anforderungen an Reporting, Integration mit Telefonie, Abrechnung, etc. Grenzen jedoch schwammig, auch Bugtracker werden als TTS eingesetzt Kommunikation zwischen Help Desk und Programmierer oft Mischgebiet Bugtracking Build Configuration Management Trouble-Ticketing Anwender Seite 4
Agenda Bug Tracking Ziele und Abgrenzung Anforderungen an Bugtracking Tools Umgang mit Bugtracking Tools Tools im Überblick Beispiel-Tool JIRA (Atlassian) Seite 5
Anforderungen an Bugtracking Tools (1) Sehr viele Tools vorhanden, auch mit ähnlichen Funktionsumfang daher Nachdenken über die Anforderungen an ein Bugtracking- Tool sehr wichtig Must have Einfach und schnell zu benutzen! (Usability) Unterstützung verschiedener Typen (Bug, Change, etc.) Unterstützung verschiedener Prioritäten / Schweregrade Unterstützung verschiedener Projekte / Komponenten Versionskonzept (Pflege, Zuordnung, etc.) Rechte- und Rollenkonzept (inkl. entsprechenden Ansichten) Kommentieren / Investigation Notes Volltextsuche (Systemvoraussetzungen) Nice to have Abbildung von Hierarchien Individualisierung der Felder / Angaben Mail-Notification, Mail-Reporting Filtering / Reporting Integration in IDEs (z.b. Eclipse) Anpassbar an eigenes CI Seite 6
Anforderungen an Bugtracking Tools (2) In der Usability sind die Tools oft sehr unterschiedlich, diese ist jedoch der entscheidende Erfolg für ein erfolgreiches Bugtracking Tester (oft Fachbereich) sind meistens keine Programmierer oder technisch versierter Anwender, daher ist ein möglichst einfaches Tool notwendig. Fazit: Nicht das komplexeste, umfangreichste Tool auswählen ( Wir könnten ja Feature X noch irgendwann brauchen. ), sondern erstmal an Minimalanforderungen orientieren und Prozess leben. Seite 7
Agenda Bug Tracking Ziele und Abgrenzung Anforderungen an Bugtracking Tools Umgang mit Bugtracking Tools Tools im Überblick Beispiel-Tool JIRA (Atlassian) Seite 8
Umgang mit Bugtracking Tools (1) Bestimmte Richtlinien und Rollen im Umgang mit Bugtracking-Tools sind wichtig, damit der Einsatz auch erfolgreich wird Eine Person kann mehrere Rollen einnehmen Prozess muss zwischen den Beteiligten abgestimmt sein (und vom Tool unterstützt werden) Tester stellt Tickets ein retestet Tickets Programmierer stellt Tickets ein retestet Tickets erledigt Tickets weist Tickets wieder zu lehnt Tickets ggf. ab Koordinator stellt Tickets ein retestet Tickets weist Tickets Bearbeitern zu weist Ticktest Versionen zu Kontrolliert und fördert Bugtracking Kontrolliert Abarbeitung der Tickets Seite 9
Umgang mit Bugtracking Tools (2) Einfacher Beispiel-Prozess Es fehlen z.b. Regelungen bei Ablehnung, bestimmten Prioritäten, Wiederöffnen, etc. 1. Ticket erstellt, zugewiesen an Koordinator Koordinator 2. Ticket an Bearbeiter zugewiesen Ticketersteller 3. Ticket erledigt, zurück an Ersteller Programmierer 4. Retest und Schließen des Tickets Bugtracking-Tools unterstützen verschiedenste Prozesse / Workflows Seite 10
Umgang mit Bugtracking Tools (3) Alle Beteiligten müssen wissen, welche Versionen auf welchem System (Test, Integration, Produktion) zur Verfügung stehen Wichtig für die Zuordnung von Tickets zu Personen klingt einfacher, als es ist. Fehler sind nicht fatal, jeder gefundene Fehler steigert die Qualität Bugtracking richtig einzuführen ist sonst schwierig Alle stellen Tickets ein Jeder der einen Fehler findet, sollte diesen auch einstellen Auch Changes, Feature Requests oder andere Aufgaben können über Bugtracking-Tools erfasst werden Issue-Tracker Moderne Issue-Tracker erlauben Versionsplanung und unterstützen daher das Releasemanagement Seite 11
Umgang mit Bugtracking Tools (4) IDE-Integration zur Vereinfachung für den Programmierer und der Sicherung von Kontext -Informationen Kontext-Informationen beinhalten Informationen über Dateien, die zur Bearbeitung des Issues bearbeitet / angefasst worden sind Z.B. Mylyn für Eclipse Integration mit Source Repositories SVN / CVS Direkte Zuordnung der geänderten Sourcen im Rahmen eines Tickets Seite 12
Agenda Bug Tracking Ziele und Abgrenzung Anforderungen an Bugtracking Tools Umgang mit Bugtracking Tools Tools im Überblick Beispiel-Tool JIRA (Atlassian) Seite 13
Tools im Überblick (1) Es gibt sehr viele Open Source- und kommerzielle Bugtracking- Tools Umfangreiche Liste mit Tools : http://www.issue-tracking-software.de Web-basierte Tools sind heute Standard, Fat Clients jedoch für einige Produkte verfügbar (oft historisch bedingt) Web-basierte Tools meistens basierend auf Java oder PHP Seite 14
Tools im Überblick (2) Open Source Bugzilla Mantis JitterBug Scarab http://www.bugzilla.org/ weit verbreitet, vor allem auch bei Open Source- Projekten, bekannt durch Mozilla http://www.mantisbt.org/ http://samba.org/jitterbug/ entstanden im Samba -Projekt http://scarab.tigris.org/ Java-basierender Tracker Seite 15
Tools im Überblick (3) Kommerzielle Tools Atlassian JIRA Rational ClearQuest Serena Team Track http://www.atlassian.com/software/jira/ Kommerzielle Lösung, spezielle Lizenzen für Open Source-Projekte und dadurch weit verbreitet http://www.ibm.com/software/awdtools/clearquest IBM-Solution, Integration mit anderen IBM-Tools http://www.serena.com/geo/de/products/teamtrack /index.html zusätzlich Incident-Management, Agile Project Management, Seite 16
Agenda Bug Tracking Ziele und Abgrenzung Anforderungen an Bugtracking Tools Umgang mit Bugtracking Tools Tools im Überblick Beispiel-Tool JIRA (Atlassian) Seite 17
codecentric GmbH Grünewalder Str. 29-31 42657 Solingen phone +49-212-2494315 fax +49-212-2494109 email info@codecentric.de Seite 18