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


Regressionstests
in Webprojekten
Vorstellung
@litervollmilch
Auto-Nerd und -Blogger
passiondriving.de


Agile Coach @inovex GmbH
Pforzheim, Köln, München
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
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 Artikelseite auch
      wirklich eine Artikelseite 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
         Regelmäßiger Build             • Dokumentation
                                        • ...
     •   Unit Tests
     •   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:
      behat
• Funktioniert „headless“
• sehr einfacher Test-Code
• Made for PHP
• http://www.behat.org
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? Kommentare?


twitter         @litervollmilch

mail            sebastian.bauer@inovex.de

web             http://inovex.de

Weitere ähnliche Inhalte

Andere mochten auch

Regressionstests in Webprojekten
Regressionstests in WebprojektenRegressionstests in Webprojekten
Regressionstests in WebprojektenSebastian 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
Regressionstests in WebprojektenRegressionstests in Webprojekten
Regressionstests in Webprojekten
 
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
 
LMO08a.ppt
LMO08a.pptLMO08a.ppt
LMO08a.ppt
 
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
 
Les sondes de température
Les sondes de températureLes sondes de température
Les sondes de température
 
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 - IPC12SE

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
 
Bi testing media_factory_0.10
Bi testing media_factory_0.10Bi testing media_factory_0.10
Bi testing media_factory_0.10inovex GmbH
 
Build Automation for Mobile
Build Automation for MobileBuild Automation for Mobile
Build Automation for Mobileinovex GmbH
 
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
 
Continous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickelnContinous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickelnMartin Seibert
 
Continuous Integration für PHP
Continuous Integration für PHPContinuous Integration für PHP
Continuous Integration für PHPSebastian Bauer
 
Unit Tests für Totalverweigerer
Unit Tests für TotalverweigererUnit Tests für Totalverweigerer
Unit Tests für TotalverweigererPeter Hauke
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everythingcusy GmbH
 
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
 
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
 
Testen von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.js
Testen von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.jsTesten von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.js
Testen von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.jsSebastian Helzle
 
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
 
Creasoft - Software QS Review
Creasoft - Software QS ReviewCreasoft - Software QS Review
Creasoft - Software QS ReviewCreasoft AG
 
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
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerDennis Wilson
 
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
 
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
 

Ähnlich wie Regressionstests in Webprojekten - IPC12SE (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
 
Bi testing media_factory_0.10
Bi testing media_factory_0.10Bi testing media_factory_0.10
Bi testing media_factory_0.10
 
Build Automation for Mobile
Build Automation for MobileBuild Automation for Mobile
Build Automation for Mobile
 
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
 
Continous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickelnContinous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickeln
 
Continuous Integration für PHP
Continuous Integration für PHPContinuous Integration für PHP
Continuous Integration für PHP
 
Unit Tests für Totalverweigerer
Unit Tests für TotalverweigererUnit Tests für Totalverweigerer
Unit Tests für Totalverweigerer
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
 
Property Based Testing
Property Based TestingProperty Based Testing
Property Based Testing
 
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
 
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
 
Testen von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.js
Testen von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.jsTesten von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.js
Testen von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.js
 
Ant Maven
Ant MavenAnt Maven
Ant Maven
 
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
 
Creasoft - Software QS Review
Creasoft - Software QS ReviewCreasoft - Software QS Review
Creasoft - Software QS Review
 
PHP Summit 2013 - Make or Buy?
PHP Summit 2013 - Make or Buy?PHP Summit 2013 - Make or Buy?
PHP Summit 2013 - Make or Buy?
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem Softwerker
 
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
 
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
 

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 - IPC12SE

  • 1. Sebastian Bauer, inovex GmbH Regressionstests in Webprojekten
  • 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 Artikelseite auch wirklich eine Artikelseite 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 Regelmäßiger Build • Dokumentation • ... • Unit Tests • Syntax Tests • Coding Standards • Copy/Paste Detection • + Akzeptanztests • + Dokumentation • + sonstige intensivere Tests
  • 27.
  • 28. Warum nicht BDD probieren? • Behaviour Driven Development • Nicht nur eine Entwicklungsmethodik • Erwartung vs. Testfall • Ausführbare Spec. vs Ansammlung von Tests
  • 29. 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
  • 30. BDD Tool: behat • Funktioniert „headless“ • sehr einfacher Test-Code • Made for PHP • http://www.behat.org
  • 32. 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
  • 33. DAS WAR‘S! Fragen? Kommentare? twitter @litervollmilch mail sebastian.bauer@inovex.de web http://inovex.de