SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
Sebastian Bauer
LOTUM GmbH

Regressionstests
in Webprojekten
Vorstellung

 o   Sebastian Bauer
 o   Leidenschaftlicher
     SCRUM Master
 o   Auto-Nerd
 o   LOTUM GmbH
 o   Bad Nauheim
     bei Frankfurt/Main
REGR...	
  WHAT?
REGR...	
  WHAT?
• Wiederholung bereits durchgeführter Tests
• Neue Fehler aufdecken (Software Regression)
• Bugfixes verifizieren
• Änderungen validieren
• Werden bei jeder Änderung ausgeführt
• Risikominimierung




                          REGR...	
  WHAT?
• Progressive Regressionstests
 • Spezifikation verändert
 • Code geändert
    ➡   Neue Testfälle
• Korrigierende Regressionstests
 • Spezifikation unverändert
 • Änderungen gegen bestehende Testfälle testen



                             REGR...	
  WHAT?
Was bedeutet das genau?

 • Akzeptanztests
 • Unit Tests
 • Tests für zu ändernde Komponenten
 • Tests für Bugfixes
 • Test bei Änderungen ausführen
 • Tests immer aktuell halten
Regressionstests = Continuous Integration?
Arten	
  von	
  Regressionstests
Unit	
  Tests
Unit Tests



    Prüfe, ob das Ergebnis von
     foobar(„foo“) gleich „bar“ ist.
Akzeptanztests
Akzeptanztests
 Prüfe, ob der Klick auf den Button „In den
      Einkaufswagen“ den Artikel in den
             Einkaufswagen legt.
Smoke	
  Tests
Smoke Tests
Prüfe, ob der Aufruf einer Produktseite auch wirklich
               eine Produktseite zeigt.
Warum	
  das	
  ganze	
  Theater?
Der	
  Schlüssel	
  zum	
  Erfolg
Automatisierung
Continuous	
  Integration
Bamboo


                         Jenkins	
  (Hudson)




         CruiseControl
Erfolgreiches CI als Prozess


 • Direktes Feedback -> schnelle Builds
 • Tägliche Checkins
 • Commits in den Trunk
 • Automatisierter Build
 • Deploy-Automation
Build nach jedem Commit!



                           Automatischer	
  Build

                           •	
  Unit	
  Tests
                           •	
  Syntax	
  Tests
                           •	
  Smoke	
  Tests
                           •	
  Coding	
  Standards
                           •	
  Copy/Paste	
  Detection
                           •	
  Dokumentation
                           •	
  ...
Niemand wartet gerne!

                        Automatischer	
  Build

                        •	
  Unit	
  Tests
                        •	
  Syntax	
  Tests
                        •	
  Smoke	
  Tests
                        •	
  Coding	
  Standards
                        •	
  Copy/Paste	
  Detection
Niemand wartet gerne!

                                              Automatischer	
  Build

                                              •	
  Unit	
  Tests
                                              •	
  Syntax	
  Tests
                Regelmäßiger	
  Build         •	
  Smoke	
  Tests
                                              •	
  Coding	
  Standards
          •	
  Unit	
  Tests                  •	
  Copy/Paste	
  Detection
          •	
  Syntax	
  Tests
          •	
  Coding	
  Standards
          •	
  Copy/Paste	
  Detection
          •	
  +	
  Akzeptanztests
          •	
  +	
  Dokumentation
          •	
  +	
  sonstige	
  Intensivere
          	
  	
  	
  	
  	
  	
  	
  Tests
Continuous	
  Delivery
Kontinuierliche	
  Deploys
Feature	
  Toggles
Warum nicht BDD probieren?



 • Behaviour Driven Development
 • Nicht nur eine Entwicklungsmethodik
 • Erwartung vs. Testfall
 • Ausführbare Spec. vs Ansammlung von Tests
BDD Beispiel: Artikel in Warenkorb

 • Gegeben dem Fall, ein Kunde möchte einen Film
  kaufen
 • und sein Warenkorb ist leer
 • und es sind noch 2 Filme auf Lager:
 • Wenn er den Artikel in den Warenkorb legt
 • dann soll der Artikel im Warenkorb auftauchen
 • und der Zähler für die Produkte im Warenkorb auf „1“
  gehen
BDD Tool: Cucumber



• Funktioniert „headless“
• sehr einfacher Test-Code
• Ruby-basiert
• http://www.cukes.info
FAZIT?
Fazit

 • Regressionstests wichtig
 • Regressionstest nur mit Automation!
 • CI unterstützt Regressionstests
 • CI bietet Potential für noch viel mehr
 • Continuous Delivery kann/sollte CI Ziel sein
 • BDD kann alles wunderbar unterstützen
DAS	
  WAR‘S!
       Fragen?

 http://joind.in/3870


  Rocke	
  mit	
  uns	
  das	
  Web!
   www.lotum.de/jobs

Weitere ähnliche Inhalte

Andere mochten auch

Regressionstests in Webprojekten - IPC12SE
Regressionstests in Webprojekten - IPC12SERegressionstests in Webprojekten - IPC12SE
Regressionstests in Webprojekten - IPC12SESebastian Bauer
 
Journee de La Femme Digitale. Retombées médias #JFD
Journee de La Femme Digitale. Retombées médias #JFD Journee de La Femme Digitale. Retombées médias #JFD
Journee de La Femme Digitale. Retombées médias #JFD the bureau, digital agency
 
Aspekte der ISO 26262 beim Einsatz von SW-Werkzeugen in verteilter Entwicklung
Aspekte der ISO 26262 beim Einsatz von SW-Werkzeugen in verteilter Entwicklung Aspekte der ISO 26262 beim Einsatz von SW-Werkzeugen in verteilter Entwicklung
Aspekte der ISO 26262 beim Einsatz von SW-Werkzeugen in verteilter Entwicklung Intland Software GmbH
 
German (language detection)
German (language detection)German (language detection)
German (language detection)Ed Snow
 
Hipertensión arterial sistémica
Hipertensión arterial sistémicaHipertensión arterial sistémica
Hipertensión arterial sistémicaAbisai Arellano
 
Intrusion Detection System V1.2
Intrusion Detection System V1.2Intrusion Detection System V1.2
Intrusion Detection System V1.2Roger CARHUATOCTO
 
Diagnostico de caries
Diagnostico de cariesDiagnostico de caries
Diagnostico de cariesBastian Vera
 
IDS (Intrusion Detection System)
IDS (Intrusion Detection System)IDS (Intrusion Detection System)
IDS (Intrusion Detection System)krush kr
 
Instruction Manual E-Trac Metal Detector French Language website 4901 0068-2
Instruction Manual E-Trac Metal Detector French Language  website 4901 0068-2Instruction Manual E-Trac Metal Detector French Language  website 4901 0068-2
Instruction Manual E-Trac Metal Detector French Language website 4901 0068-2Serious Detecting
 
Ids ips detection
Ids  ips detectionIds  ips detection
Ids ips detectionTensor
 
Séminaire invité - LIRMM - 23 janvier 2015
Séminaire invité - LIRMM - 23 janvier 2015Séminaire invité - LIRMM - 23 janvier 2015
Séminaire invité - LIRMM - 23 janvier 2015Adrien Guille
 
2 aaz fonctionnement d'un nids
2 aaz   fonctionnement d'un nids2 aaz   fonctionnement d'un nids
2 aaz fonctionnement d'un nidskaser info2aaz
 
Nouvelles approches analytiques pour la détection des fraudes
Nouvelles approches analytiques pour la détection des fraudesNouvelles approches analytiques pour la détection des fraudes
Nouvelles approches analytiques pour la détection des fraudesPôle Qualiméditerranée
 
Quick Start Guide Minelab GPX-4000 Metal Detector French Language 4901 0060 ...
Quick Start Guide Minelab GPX-4000 Metal Detector  French Language 4901 0060 ...Quick Start Guide Minelab GPX-4000 Metal Detector  French Language 4901 0060 ...
Quick Start Guide Minelab GPX-4000 Metal Detector French Language 4901 0060 ...Serious Detecting
 

Andere mochten auch (20)

Regressionstests in Webprojekten - IPC12SE
Regressionstests in Webprojekten - IPC12SERegressionstests in Webprojekten - IPC12SE
Regressionstests in Webprojekten - IPC12SE
 
Journee de La Femme Digitale. Retombées médias #JFD
Journee de La Femme Digitale. Retombées médias #JFD Journee de La Femme Digitale. Retombées médias #JFD
Journee de La Femme Digitale. Retombées médias #JFD
 
Aspekte der ISO 26262 beim Einsatz von SW-Werkzeugen in verteilter Entwicklung
Aspekte der ISO 26262 beim Einsatz von SW-Werkzeugen in verteilter Entwicklung Aspekte der ISO 26262 beim Einsatz von SW-Werkzeugen in verteilter Entwicklung
Aspekte der ISO 26262 beim Einsatz von SW-Werkzeugen in verteilter Entwicklung
 
German (language detection)
German (language detection)German (language detection)
German (language detection)
 
Plagio
PlagioPlagio
Plagio
 
Hipertensión arterial sistémica
Hipertensión arterial sistémicaHipertensión arterial sistémica
Hipertensión arterial sistémica
 
Intrusion Detection System V1.2
Intrusion Detection System V1.2Intrusion Detection System V1.2
Intrusion Detection System V1.2
 
Diagnostico de caries
Diagnostico de cariesDiagnostico de caries
Diagnostico de caries
 
IDS (Intrusion Detection System)
IDS (Intrusion Detection System)IDS (Intrusion Detection System)
IDS (Intrusion Detection System)
 
Instruction Manual E-Trac Metal Detector French Language website 4901 0068-2
Instruction Manual E-Trac Metal Detector French Language  website 4901 0068-2Instruction Manual E-Trac Metal Detector French Language  website 4901 0068-2
Instruction Manual E-Trac Metal Detector French Language website 4901 0068-2
 
Ids ips detection
Ids  ips detectionIds  ips detection
Ids ips detection
 
Introduction à la Conception et Evaluation des IHM
Introduction à la Conception et Evaluation des IHMIntroduction à la Conception et Evaluation des IHM
Introduction à la Conception et Evaluation des IHM
 
Les sondes de température
Les sondes de températureLes sondes de température
Les sondes de température
 
Séminaire invité - LIRMM - 23 janvier 2015
Séminaire invité - LIRMM - 23 janvier 2015Séminaire invité - LIRMM - 23 janvier 2015
Séminaire invité - LIRMM - 23 janvier 2015
 
2 aaz fonctionnement d'un nids
2 aaz   fonctionnement d'un nids2 aaz   fonctionnement d'un nids
2 aaz fonctionnement d'un nids
 
LMO08a.ppt
LMO08a.pptLMO08a.ppt
LMO08a.ppt
 
La détection des spam
La détection des spamLa détection des spam
La détection des spam
 
Détection
Détection Détection
Détection
 
Nouvelles approches analytiques pour la détection des fraudes
Nouvelles approches analytiques pour la détection des fraudesNouvelles approches analytiques pour la détection des fraudes
Nouvelles approches analytiques pour la détection des fraudes
 
Quick Start Guide Minelab GPX-4000 Metal Detector French Language 4901 0060 ...
Quick Start Guide Minelab GPX-4000 Metal Detector  French Language 4901 0060 ...Quick Start Guide Minelab GPX-4000 Metal Detector  French Language 4901 0060 ...
Quick Start Guide Minelab GPX-4000 Metal Detector French Language 4901 0060 ...
 

Ähnlich wie Regressionstests in Webprojekten

Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)Florian Wolters
 
TDD mit ABAP Units
TDD mit ABAP UnitsTDD mit ABAP Units
TDD mit ABAP UnitsCadaxo GmbH
 
Continuous Integration für PHP
Continuous Integration für PHPContinuous Integration für PHP
Continuous Integration für PHPSebastian Bauer
 
Build Automation for Mobile
Build Automation for MobileBuild Automation for Mobile
Build Automation for Mobileinovex GmbH
 
PHP Summit 2013 - Make or Buy?
PHP Summit 2013 - Make or Buy?PHP Summit 2013 - Make or Buy?
PHP Summit 2013 - Make or Buy?Sebastian Heuer
 
Continous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickelnContinous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickelnMartin Seibert
 
Unit Tests für Totalverweigerer
Unit Tests für TotalverweigererUnit Tests für Totalverweigerer
Unit Tests für TotalverweigererPeter Hauke
 
Einführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software EntwicklungEinführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software EntwicklungChristian Baranowski
 
CI und Android - Wie geht das? MTC2010
CI und Android - Wie geht das? MTC2010CI und Android - Wie geht das? MTC2010
CI und Android - Wie geht das? MTC2010Markus Kopf
 
Bi testing media_factory_0.10
Bi testing media_factory_0.10Bi testing media_factory_0.10
Bi testing media_factory_0.10inovex GmbH
 
Integration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-PipelineIntegration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-PipelineOPEN KNOWLEDGE GmbH
 
BED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als EntwicklerBED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als EntwicklerPatrick Baumgartner
 
2005 - NRW Conf: Design, Entwicklung und Tests
2005 - NRW Conf: Design, Entwicklung und Tests2005 - NRW Conf: Design, Entwicklung und Tests
2005 - NRW Conf: Design, Entwicklung und TestsDaniel Fisher
 
Einführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungEinführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungChristian Baranowski
 
Automatisierung von Security Test im Build-Prozess
Automatisierung von Security Test im Build-ProzessAutomatisierung von Security Test im Build-Prozess
Automatisierung von Security Test im Build-Prozessx-celerate
 
How to speed up Spring Integration Tests
How to speed up Spring Integration TestsHow to speed up Spring Integration Tests
How to speed up Spring Integration TestsQAware GmbH
 
Acceptance Testing - Automatisierte Web App Tests mit CasperJS
Acceptance Testing - Automatisierte Web App Tests mit CasperJSAcceptance Testing - Automatisierte Web App Tests mit CasperJS
Acceptance Testing - Automatisierte Web App Tests mit CasperJSBjörn Wilmsmann
 
iOS Testautomation bei mobile.de
iOS Testautomation bei mobile.deiOS Testautomation bei mobile.de
iOS Testautomation bei mobile.deHolger Hammel
 

Ähnlich wie Regressionstests in Webprojekten (20)

Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)
 
TDD mit ABAP Units
TDD mit ABAP UnitsTDD mit ABAP Units
TDD mit ABAP Units
 
Continuous Integration für PHP
Continuous Integration für PHPContinuous Integration für PHP
Continuous Integration für PHP
 
Build Automation for Mobile
Build Automation for MobileBuild Automation for Mobile
Build Automation for Mobile
 
PHP Summit 2013 - Make or Buy?
PHP Summit 2013 - Make or Buy?PHP Summit 2013 - Make or Buy?
PHP Summit 2013 - Make or Buy?
 
Continous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickelnContinous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickeln
 
Unit Tests für Totalverweigerer
Unit Tests für TotalverweigererUnit Tests für Totalverweigerer
Unit Tests für Totalverweigerer
 
Einführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software EntwicklungEinführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software Entwicklung
 
CI und Android - Wie geht das? MTC2010
CI und Android - Wie geht das? MTC2010CI und Android - Wie geht das? MTC2010
CI und Android - Wie geht das? MTC2010
 
Bi testing media_factory_0.10
Bi testing media_factory_0.10Bi testing media_factory_0.10
Bi testing media_factory_0.10
 
Property Based Testing
Property Based TestingProperty Based Testing
Property Based Testing
 
Ant Maven
Ant MavenAnt Maven
Ant Maven
 
Integration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-PipelineIntegration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-Pipeline
 
BED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als EntwicklerBED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als Entwickler
 
2005 - NRW Conf: Design, Entwicklung und Tests
2005 - NRW Conf: Design, Entwicklung und Tests2005 - NRW Conf: Design, Entwicklung und Tests
2005 - NRW Conf: Design, Entwicklung und Tests
 
Einführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungEinführung in die Software-Qualitätssicherung
Einführung in die Software-Qualitätssicherung
 
Automatisierung von Security Test im Build-Prozess
Automatisierung von Security Test im Build-ProzessAutomatisierung von Security Test im Build-Prozess
Automatisierung von Security Test im Build-Prozess
 
How to speed up Spring Integration Tests
How to speed up Spring Integration TestsHow to speed up Spring Integration Tests
How to speed up Spring Integration Tests
 
Acceptance Testing - Automatisierte Web App Tests mit CasperJS
Acceptance Testing - Automatisierte Web App Tests mit CasperJSAcceptance Testing - Automatisierte Web App Tests mit CasperJS
Acceptance Testing - Automatisierte Web App Tests mit CasperJS
 
iOS Testautomation bei mobile.de
iOS Testautomation bei mobile.deiOS Testautomation bei mobile.de
iOS Testautomation bei mobile.de
 

Mehr von Sebastian Bauer

The Unshippable Product Increment | JAX 2018
The Unshippable Product Increment | JAX 2018The Unshippable Product Increment | JAX 2018
The Unshippable Product Increment | JAX 2018Sebastian Bauer
 
Was macht ein Scrum Master den ganzen Tag? JAX 2018
Was macht ein Scrum Master den ganzen Tag? JAX 2018Was macht ein Scrum Master den ganzen Tag? JAX 2018
Was macht ein Scrum Master den ganzen Tag? JAX 2018Sebastian Bauer
 
Mein Scrum ist kaputt | IPC17 SE & Webinale 2017
Mein Scrum ist kaputt | IPC17 SE & Webinale 2017Mein Scrum ist kaputt | IPC17 SE & Webinale 2017
Mein Scrum ist kaputt | IPC17 SE & Webinale 2017Sebastian Bauer
 
Verlernte Agilität - JAX 2012
Verlernte Agilität - JAX 2012Verlernte Agilität - JAX 2012
Verlernte Agilität - JAX 2012Sebastian Bauer
 
Verlernte Agilität - JAX 2012
Verlernte Agilität - JAX 2012Verlernte Agilität - JAX 2012
Verlernte Agilität - JAX 2012Sebastian Bauer
 
Verlernte Agilität - Schleichende Fehler in agilen Prozessen
Verlernte Agilität - Schleichende Fehler in agilen ProzessenVerlernte Agilität - Schleichende Fehler in agilen Prozessen
Verlernte Agilität - Schleichende Fehler in agilen ProzessenSebastian Bauer
 
Ignite Scrum - Ein Sprint in 5 Minuten
Ignite Scrum - Ein Sprint in 5 MinutenIgnite Scrum - Ein Sprint in 5 Minuten
Ignite Scrum - Ein Sprint in 5 MinutenSebastian Bauer
 
Web Workers - Das Arbeitstier Browser
Web Workers - Das Arbeitstier BrowserWeb Workers - Das Arbeitstier Browser
Web Workers - Das Arbeitstier BrowserSebastian Bauer
 
Entwicklung Innovativer und Komplexer AIR Anwendungen
Entwicklung Innovativer und Komplexer AIR AnwendungenEntwicklung Innovativer und Komplexer AIR Anwendungen
Entwicklung Innovativer und Komplexer AIR AnwendungenSebastian Bauer
 

Mehr von Sebastian Bauer (10)

The Unshippable Product Increment | JAX 2018
The Unshippable Product Increment | JAX 2018The Unshippable Product Increment | JAX 2018
The Unshippable Product Increment | JAX 2018
 
Was macht ein Scrum Master den ganzen Tag? JAX 2018
Was macht ein Scrum Master den ganzen Tag? JAX 2018Was macht ein Scrum Master den ganzen Tag? JAX 2018
Was macht ein Scrum Master den ganzen Tag? JAX 2018
 
Mein Scrum ist kaputt | IPC17 SE & Webinale 2017
Mein Scrum ist kaputt | IPC17 SE & Webinale 2017Mein Scrum ist kaputt | IPC17 SE & Webinale 2017
Mein Scrum ist kaputt | IPC17 SE & Webinale 2017
 
Verlernte Agilität - JAX 2012
Verlernte Agilität - JAX 2012Verlernte Agilität - JAX 2012
Verlernte Agilität - JAX 2012
 
Verlernte Agilität - JAX 2012
Verlernte Agilität - JAX 2012Verlernte Agilität - JAX 2012
Verlernte Agilität - JAX 2012
 
Verlernte Agilität - Schleichende Fehler in agilen Prozessen
Verlernte Agilität - Schleichende Fehler in agilen ProzessenVerlernte Agilität - Schleichende Fehler in agilen Prozessen
Verlernte Agilität - Schleichende Fehler in agilen Prozessen
 
Verlernte Agilität
Verlernte AgilitätVerlernte Agilität
Verlernte Agilität
 
Ignite Scrum - Ein Sprint in 5 Minuten
Ignite Scrum - Ein Sprint in 5 MinutenIgnite Scrum - Ein Sprint in 5 Minuten
Ignite Scrum - Ein Sprint in 5 Minuten
 
Web Workers - Das Arbeitstier Browser
Web Workers - Das Arbeitstier BrowserWeb Workers - Das Arbeitstier Browser
Web Workers - Das Arbeitstier Browser
 
Entwicklung Innovativer und Komplexer AIR Anwendungen
Entwicklung Innovativer und Komplexer AIR AnwendungenEntwicklung Innovativer und Komplexer AIR Anwendungen
Entwicklung Innovativer und Komplexer AIR Anwendungen
 

Regressionstests in Webprojekten

  • 2. Vorstellung o Sebastian Bauer o Leidenschaftlicher SCRUM Master o Auto-Nerd o LOTUM GmbH o Bad Nauheim bei Frankfurt/Main
  • 5. • Wiederholung bereits durchgeführter Tests • Neue Fehler aufdecken (Software Regression) • Bugfixes verifizieren • Änderungen validieren • Werden bei jeder Änderung ausgeführt • Risikominimierung REGR...  WHAT?
  • 6. • Progressive Regressionstests • Spezifikation verändert • Code geändert ➡ Neue Testfälle • Korrigierende Regressionstests • Spezifikation unverändert • Änderungen gegen bestehende Testfälle testen REGR...  WHAT?
  • 7. Was bedeutet das genau? • Akzeptanztests • Unit Tests • Tests für zu ändernde Komponenten • Tests für Bugfixes • Test bei Änderungen ausführen • Tests immer aktuell halten
  • 11. Unit Tests Prüfe, ob das Ergebnis von foobar(„foo“) gleich „bar“ ist.
  • 13. Akzeptanztests Prüfe, ob der Klick auf den Button „In den Einkaufswagen“ den Artikel in den Einkaufswagen legt.
  • 15. Smoke Tests Prüfe, ob der Aufruf einer Produktseite auch wirklich eine Produktseite zeigt.
  • 16. Warum  das  ganze  Theater?
  • 20. Bamboo Jenkins  (Hudson) CruiseControl
  • 21. Erfolgreiches CI als Prozess • Direktes Feedback -> schnelle Builds • Tägliche Checkins • Commits in den Trunk • Automatisierter Build • Deploy-Automation
  • 22. Build nach jedem Commit! Automatischer  Build •  Unit  Tests •  Syntax  Tests •  Smoke  Tests •  Coding  Standards •  Copy/Paste  Detection •  Dokumentation •  ...
  • 23. Niemand wartet gerne! Automatischer  Build •  Unit  Tests •  Syntax  Tests •  Smoke  Tests •  Coding  Standards •  Copy/Paste  Detection
  • 24. Niemand wartet gerne! Automatischer  Build •  Unit  Tests •  Syntax  Tests Regelmäßiger  Build •  Smoke  Tests •  Coding  Standards •  Unit  Tests •  Copy/Paste  Detection •  Syntax  Tests •  Coding  Standards •  Copy/Paste  Detection •  +  Akzeptanztests •  +  Dokumentation •  +  sonstige  Intensivere              Tests
  • 28.
  • 29. Warum nicht BDD probieren? • Behaviour Driven Development • Nicht nur eine Entwicklungsmethodik • Erwartung vs. Testfall • Ausführbare Spec. vs Ansammlung von Tests
  • 30. BDD Beispiel: Artikel in Warenkorb • Gegeben dem Fall, ein Kunde möchte einen Film kaufen • und sein Warenkorb ist leer • und es sind noch 2 Filme auf Lager: • Wenn er den Artikel in den Warenkorb legt • dann soll der Artikel im Warenkorb auftauchen • und der Zähler für die Produkte im Warenkorb auf „1“ gehen
  • 31. BDD Tool: Cucumber • Funktioniert „headless“ • sehr einfacher Test-Code • Ruby-basiert • http://www.cukes.info
  • 33. Fazit • Regressionstests wichtig • Regressionstest nur mit Automation! • CI unterstützt Regressionstests • CI bietet Potential für noch viel mehr • Continuous Delivery kann/sollte CI Ziel sein • BDD kann alles wunderbar unterstützen
  • 34. DAS  WAR‘S! Fragen? http://joind.in/3870 Rocke  mit  uns  das  Web! www.lotum.de/jobs