SlideShare ist ein Scribd-Unternehmen logo
A day in the life of a bug
Sinnvoll zu Open Source Projekten
beitragen
Vortragsreihe Der erste Schritt zu Open Source
Roland Ewald
23. 5. 2013 c 2013 UNIVERSITÄT ROSTOCK | LEHRSTUHL FÜR MODELLIERUNG & SIMULATION (PROF. UHRMACHER) 1
Viele Wege führen nach Rom
1. Software nutzen
2. Dokumentation verbessern
(Blogs, Foren, Chats, Stackoverflow, usw.)
3. Lokalisierung (Übsersetzung)
4. Milestones und RCs testen
5. Bugs reporten und fixen
6. Neue Features programmieren von: OnFoot4now (Didi) / flickr.com
23. 5. 2013 c 2013 UNIVERSITÄT ROSTOCK | LEHRSTUHL FÜR MODELLIERUNG & SIMULATION (PROF. UHRMACHER) 2
Warum so wichtig?
Feedback für:
• Entwickler
• Andere Nutzer
(Bsp: Jenkins)
von: xkcd
23. 5. 2013 c 2013 UNIVERSITÄT ROSTOCK | LEHRSTUHL FÜR MODELLIERUNG & SIMULATION (PROF. UHRMACHER) 3
Leichter gesagt als getan
Falsche Arten von Bug Report:
• Smug Report: natürlich weißt Du schon genau woran es liegt
• Drug Report: was hast Du denn genommen?
• Shrug Report: OK, irgendwas hat irgendwie nicht funktioniert?
(von: stackoverflow (Nutzer Aaronaught), verfügbar via stackprinter.com)
23. 5. 2013 c 2013 UNIVERSITÄT ROSTOCK | LEHRSTUHL FÜR MODELLIERUNG & SIMULATION (PROF. UHRMACHER) 4
Leichter gesagt als getan
Falsche Arten von Bug Report:
• Smug Report: natürlich weißt Du schon genau woran es liegt
• Drug Report: was hast Du denn genommen?
• Shrug Report: OK, irgendwas hat irgendwie nicht funktioniert?
(von: stackoverflow (Nutzer Aaronaught), verfügbar via stackprinter.com)
Aber: Jeder Report ist besser als gar keiner...
23. 5. 2013 c 2013 UNIVERSITÄT ROSTOCK | LEHRSTUHL FÜR MODELLIERUNG & SIMULATION (PROF. UHRMACHER) 4
Leichter gesagt als getan
Falsche Arten von Bug Report:
• Smug Report: natürlich weißt Du schon genau woran es liegt
• Drug Report: was hast Du denn genommen?
• Shrug Report: OK, irgendwas hat irgendwie nicht funktioniert?
(von: stackoverflow (Nutzer Aaronaught), verfügbar via stackprinter.com)
Aber: Jeder Report ist besser als gar keiner...
Aber: „SELECT“ ISN’T BROKEN (http://pragmatictips.com/26)
23. 5. 2013 c 2013 UNIVERSITÄT ROSTOCK | LEHRSTUHL FÜR MODELLIERUNG & SIMULATION (PROF. UHRMACHER) 4
Was sollte ein Bug-Report enthalten?
(Generell: Checkliste des jeweiligen Projekts beachten!)
• Genaue Version der Software
• Komplette Fehlermeldung (Log)
• Kurze Beschreibung der Ausführungsumgebung
• Kurze Anleitung zur Reproduktion (evtl. Testcode)
• Eventuell ein Patch (ggf. später)
23. 5. 2013 c 2013 UNIVERSITÄT ROSTOCK | LEHRSTUHL FÜR MODELLIERUNG & SIMULATION (PROF. UHRMACHER) 5
Klingt kompliziert?
Ist ganz einfach mit verteilten Versionskontrollsystemen...
und ’Social Coding’ Plattformen wie github oder bitbucket!
1. Bug in den Issue Tracker eingeben
2. Kopie erstellen: fork (kann privat sein)
3. Problem beheben: changeset(s) erzeugen (=patch)
4. Patch ans ’Original’-Projekt zurückschicken: pull request
5. Besitzer: Code Review (evtl. mehrere Iterationen)
6. Besitzer: merge (oder auch nicht ;-)
(Mehr Doku: https://confluence.atlassian.com/display/BITBUCKET/Working+with+pull+requests)
23. 5. 2013 c 2013 UNIVERSITÄT ROSTOCK | LEHRSTUHL FÜR MODELLIERUNG & SIMULATION (PROF. UHRMACHER) 6
Demo — http://bitbucket.org
23. 5. 2013 c 2013 UNIVERSITÄT ROSTOCK | LEHRSTUHL FÜR MODELLIERUNG & SIMULATION (PROF. UHRMACHER) 7
Weitermachen!
von: cardkarma / flickr
• http://jamesii.org :-)
bzw. roland.ewald@uni-rostock.de
• http://producingoss.com
• http://openhatch.org
• http://whatcanidoformozilla.org
• http://github.com/explore
• http://sourceforge.net
• http://code.google.com
• http://bitbucket.org
• http://goo.gl/lCB0E
(itworld.com, 7 open source projects to cut your teeth on)
23. 5. 2013 c 2013 UNIVERSITÄT ROSTOCK | LEHRSTUHL FÜR MODELLIERUNG & SIMULATION (PROF. UHRMACHER) 8
Danke für die Aufmerksamkeit.
Fragen?
Dieses Werk ist unter einer Creative Commons Lizenz vom Typ Namensnennung 3.0 Deutschland zugänglich. Um eine Kopie dieser Lizenz
einzusehen, konsultieren Sie http://creativecommons.org/licenses/by/3.0/de/ oder wenden Sie sich brieflich an
Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
23. 5. 2013 c 2013 UNIVERSITÄT ROSTOCK | LEHRSTUHL FÜR MODELLIERUNG & SIMULATION (PROF. UHRMACHER) 9

Weitere ähnliche Inhalte

Ähnlich wie A Day in the Life of a Bug --- sinnvoll zu Open Source Projekten beitragen

Statische Analyse von Java-Code in der Praxis
Statische Analyse von Java-Code in der PraxisStatische Analyse von Java-Code in der Praxis
Statische Analyse von Java-Code in der Praxis
Roland Ewald
 
Kurzpräsentation JAMES II
Kurzpräsentation JAMES IIKurzpräsentation JAMES II
Kurzpräsentation JAMES II
Roland Ewald
 
Chaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps TeamsChaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps Teams
Ramon Anger
 
Augmented Reality Workshop
Augmented Reality WorkshopAugmented Reality Workshop
Augmented Reality Workshop
argency
 
Templates, Code & Tools
Templates, Code & ToolsTemplates, Code & Tools
Templates, Code & Tools
Ulrich Krause
 
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher SoftwareEinsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher SoftwareAndreas Schreiber
 
Tools zur Diagnose von Weblogic Performanceengpässen und Fehlerzuständen
Tools zur Diagnose von Weblogic Performanceengpässen und FehlerzuständenTools zur Diagnose von Weblogic Performanceengpässen und Fehlerzuständen
Tools zur Diagnose von Weblogic Performanceengpässen und Fehlerzuständen
OPITZ CONSULTING Deutschland
 
Testing XAML-based Windows Store Apps mit VS 2013
Testing XAML-based Windows Store Apps mit VS 2013Testing XAML-based Windows Store Apps mit VS 2013
Testing XAML-based Windows Store Apps mit VS 2013
Nico Orschel
 
Docker for Python Development
Docker for Python DevelopmentDocker for Python Development
Docker for Python Development
Martin Christen
 
C / C++ Api for Beginners
C / C++ Api for BeginnersC / C++ Api for Beginners
C / C++ Api for Beginners
Ulrich Krause
 
Domain-Specific Languages (DSLs) entwickeln und anwenden
Domain-Specific Languages (DSLs) entwickeln und anwendenDomain-Specific Languages (DSLs) entwickeln und anwenden
Domain-Specific Languages (DSLs) entwickeln und anwenden
Roland Ewald
 
Iks Sonderdruck Eclipse Magazin Mai 2010: Automatisierte SWTBot-Tests
Iks Sonderdruck Eclipse Magazin Mai 2010: Automatisierte SWTBot-TestsIks Sonderdruck Eclipse Magazin Mai 2010: Automatisierte SWTBot-Tests
Iks Sonderdruck Eclipse Magazin Mai 2010: Automatisierte SWTBot-Tests
IKS Gesellschaft für Informations- und Kommunikationssysteme mbH
 
C API for Lotus Notes & Domino
C API for Lotus Notes & DominoC API for Lotus Notes & Domino
C API for Lotus Notes & Domino
Ulrich Krause
 
TDD für Testmuffel
TDD für TestmuffelTDD für Testmuffel
TDD für Testmuffel
Hendrik Lösch
 
Top 10 Internet Trends 2005
Top 10 Internet Trends 2005Top 10 Internet Trends 2005
Top 10 Internet Trends 2005
Jürg Stuker
 
elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09
elemente websolutions
 
Der Status Quo des Chaos Engineerings
Der Status Quo des Chaos EngineeringsDer Status Quo des Chaos Engineerings
Der Status Quo des Chaos Engineerings
QAware GmbH
 
DWX 2014 - Testmanagement mit Visual Studio 2013
DWX 2014 - Testmanagement mit Visual Studio 2013DWX 2014 - Testmanagement mit Visual Studio 2013
DWX 2014 - Testmanagement mit Visual Studio 2013
Nico Orschel
 
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
Marc Müller
 
Software-Tests in PHP-Anwendungen
Software-Tests in PHP-AnwendungenSoftware-Tests in PHP-Anwendungen
Software-Tests in PHP-Anwendungen
Gjero Krsteski
 

Ähnlich wie A Day in the Life of a Bug --- sinnvoll zu Open Source Projekten beitragen (20)

Statische Analyse von Java-Code in der Praxis
Statische Analyse von Java-Code in der PraxisStatische Analyse von Java-Code in der Praxis
Statische Analyse von Java-Code in der Praxis
 
Kurzpräsentation JAMES II
Kurzpräsentation JAMES IIKurzpräsentation JAMES II
Kurzpräsentation JAMES II
 
Chaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps TeamsChaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps Teams
 
Augmented Reality Workshop
Augmented Reality WorkshopAugmented Reality Workshop
Augmented Reality Workshop
 
Templates, Code & Tools
Templates, Code & ToolsTemplates, Code & Tools
Templates, Code & Tools
 
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher SoftwareEinsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
 
Tools zur Diagnose von Weblogic Performanceengpässen und Fehlerzuständen
Tools zur Diagnose von Weblogic Performanceengpässen und FehlerzuständenTools zur Diagnose von Weblogic Performanceengpässen und Fehlerzuständen
Tools zur Diagnose von Weblogic Performanceengpässen und Fehlerzuständen
 
Testing XAML-based Windows Store Apps mit VS 2013
Testing XAML-based Windows Store Apps mit VS 2013Testing XAML-based Windows Store Apps mit VS 2013
Testing XAML-based Windows Store Apps mit VS 2013
 
Docker for Python Development
Docker for Python DevelopmentDocker for Python Development
Docker for Python Development
 
C / C++ Api for Beginners
C / C++ Api for BeginnersC / C++ Api for Beginners
C / C++ Api for Beginners
 
Domain-Specific Languages (DSLs) entwickeln und anwenden
Domain-Specific Languages (DSLs) entwickeln und anwendenDomain-Specific Languages (DSLs) entwickeln und anwenden
Domain-Specific Languages (DSLs) entwickeln und anwenden
 
Iks Sonderdruck Eclipse Magazin Mai 2010: Automatisierte SWTBot-Tests
Iks Sonderdruck Eclipse Magazin Mai 2010: Automatisierte SWTBot-TestsIks Sonderdruck Eclipse Magazin Mai 2010: Automatisierte SWTBot-Tests
Iks Sonderdruck Eclipse Magazin Mai 2010: Automatisierte SWTBot-Tests
 
C API for Lotus Notes & Domino
C API for Lotus Notes & DominoC API for Lotus Notes & Domino
C API for Lotus Notes & Domino
 
TDD für Testmuffel
TDD für TestmuffelTDD für Testmuffel
TDD für Testmuffel
 
Top 10 Internet Trends 2005
Top 10 Internet Trends 2005Top 10 Internet Trends 2005
Top 10 Internet Trends 2005
 
elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09
 
Der Status Quo des Chaos Engineerings
Der Status Quo des Chaos EngineeringsDer Status Quo des Chaos Engineerings
Der Status Quo des Chaos Engineerings
 
DWX 2014 - Testmanagement mit Visual Studio 2013
DWX 2014 - Testmanagement mit Visual Studio 2013DWX 2014 - Testmanagement mit Visual Studio 2013
DWX 2014 - Testmanagement mit Visual Studio 2013
 
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
 
Software-Tests in PHP-Anwendungen
Software-Tests in PHP-AnwendungenSoftware-Tests in PHP-Anwendungen
Software-Tests in PHP-Anwendungen
 

A Day in the Life of a Bug --- sinnvoll zu Open Source Projekten beitragen

  • 1. A day in the life of a bug Sinnvoll zu Open Source Projekten beitragen Vortragsreihe Der erste Schritt zu Open Source Roland Ewald 23. 5. 2013 c 2013 UNIVERSITÄT ROSTOCK | LEHRSTUHL FÜR MODELLIERUNG & SIMULATION (PROF. UHRMACHER) 1
  • 2. Viele Wege führen nach Rom 1. Software nutzen 2. Dokumentation verbessern (Blogs, Foren, Chats, Stackoverflow, usw.) 3. Lokalisierung (Übsersetzung) 4. Milestones und RCs testen 5. Bugs reporten und fixen 6. Neue Features programmieren von: OnFoot4now (Didi) / flickr.com 23. 5. 2013 c 2013 UNIVERSITÄT ROSTOCK | LEHRSTUHL FÜR MODELLIERUNG & SIMULATION (PROF. UHRMACHER) 2
  • 3. Warum so wichtig? Feedback für: • Entwickler • Andere Nutzer (Bsp: Jenkins) von: xkcd 23. 5. 2013 c 2013 UNIVERSITÄT ROSTOCK | LEHRSTUHL FÜR MODELLIERUNG & SIMULATION (PROF. UHRMACHER) 3
  • 4. Leichter gesagt als getan Falsche Arten von Bug Report: • Smug Report: natürlich weißt Du schon genau woran es liegt • Drug Report: was hast Du denn genommen? • Shrug Report: OK, irgendwas hat irgendwie nicht funktioniert? (von: stackoverflow (Nutzer Aaronaught), verfügbar via stackprinter.com) 23. 5. 2013 c 2013 UNIVERSITÄT ROSTOCK | LEHRSTUHL FÜR MODELLIERUNG & SIMULATION (PROF. UHRMACHER) 4
  • 5. Leichter gesagt als getan Falsche Arten von Bug Report: • Smug Report: natürlich weißt Du schon genau woran es liegt • Drug Report: was hast Du denn genommen? • Shrug Report: OK, irgendwas hat irgendwie nicht funktioniert? (von: stackoverflow (Nutzer Aaronaught), verfügbar via stackprinter.com) Aber: Jeder Report ist besser als gar keiner... 23. 5. 2013 c 2013 UNIVERSITÄT ROSTOCK | LEHRSTUHL FÜR MODELLIERUNG & SIMULATION (PROF. UHRMACHER) 4
  • 6. Leichter gesagt als getan Falsche Arten von Bug Report: • Smug Report: natürlich weißt Du schon genau woran es liegt • Drug Report: was hast Du denn genommen? • Shrug Report: OK, irgendwas hat irgendwie nicht funktioniert? (von: stackoverflow (Nutzer Aaronaught), verfügbar via stackprinter.com) Aber: Jeder Report ist besser als gar keiner... Aber: „SELECT“ ISN’T BROKEN (http://pragmatictips.com/26) 23. 5. 2013 c 2013 UNIVERSITÄT ROSTOCK | LEHRSTUHL FÜR MODELLIERUNG & SIMULATION (PROF. UHRMACHER) 4
  • 7. Was sollte ein Bug-Report enthalten? (Generell: Checkliste des jeweiligen Projekts beachten!) • Genaue Version der Software • Komplette Fehlermeldung (Log) • Kurze Beschreibung der Ausführungsumgebung • Kurze Anleitung zur Reproduktion (evtl. Testcode) • Eventuell ein Patch (ggf. später) 23. 5. 2013 c 2013 UNIVERSITÄT ROSTOCK | LEHRSTUHL FÜR MODELLIERUNG & SIMULATION (PROF. UHRMACHER) 5
  • 8. Klingt kompliziert? Ist ganz einfach mit verteilten Versionskontrollsystemen... und ’Social Coding’ Plattformen wie github oder bitbucket! 1. Bug in den Issue Tracker eingeben 2. Kopie erstellen: fork (kann privat sein) 3. Problem beheben: changeset(s) erzeugen (=patch) 4. Patch ans ’Original’-Projekt zurückschicken: pull request 5. Besitzer: Code Review (evtl. mehrere Iterationen) 6. Besitzer: merge (oder auch nicht ;-) (Mehr Doku: https://confluence.atlassian.com/display/BITBUCKET/Working+with+pull+requests) 23. 5. 2013 c 2013 UNIVERSITÄT ROSTOCK | LEHRSTUHL FÜR MODELLIERUNG & SIMULATION (PROF. UHRMACHER) 6
  • 9. Demo — http://bitbucket.org 23. 5. 2013 c 2013 UNIVERSITÄT ROSTOCK | LEHRSTUHL FÜR MODELLIERUNG & SIMULATION (PROF. UHRMACHER) 7
  • 10. Weitermachen! von: cardkarma / flickr • http://jamesii.org :-) bzw. roland.ewald@uni-rostock.de • http://producingoss.com • http://openhatch.org • http://whatcanidoformozilla.org • http://github.com/explore • http://sourceforge.net • http://code.google.com • http://bitbucket.org • http://goo.gl/lCB0E (itworld.com, 7 open source projects to cut your teeth on) 23. 5. 2013 c 2013 UNIVERSITÄT ROSTOCK | LEHRSTUHL FÜR MODELLIERUNG & SIMULATION (PROF. UHRMACHER) 8
  • 11. Danke für die Aufmerksamkeit. Fragen? Dieses Werk ist unter einer Creative Commons Lizenz vom Typ Namensnennung 3.0 Deutschland zugänglich. Um eine Kopie dieser Lizenz einzusehen, konsultieren Sie http://creativecommons.org/licenses/by/3.0/de/ oder wenden Sie sich brieflich an Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. 23. 5. 2013 c 2013 UNIVERSITÄT ROSTOCK | LEHRSTUHL FÜR MODELLIERUNG & SIMULATION (PROF. UHRMACHER) 9