SlideShare ist ein Scribd-Unternehmen logo
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
Regressionstests in Webprojekten - IPC12SE
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

PDF
Der Agile Qualitätsbaukasten - PHP Unconference 2014
PPT
Whitebox testing-phpughh
PDF
Testen mit, durch und in Scrum
PPTX
TDD für Testmuffel
PDF
Whitepaper QF-Test: GUI Testautomatisierung macht Spaß
PDF
Das Agile Team
PDF
Robustes Testen mit Selenium
PPTX
Creasoft - Windows powershell
Der Agile Qualitätsbaukasten - PHP Unconference 2014
Whitebox testing-phpughh
Testen mit, durch und in Scrum
TDD für Testmuffel
Whitepaper QF-Test: GUI Testautomatisierung macht Spaß
Das Agile Team
Robustes Testen mit Selenium
Creasoft - Windows powershell

Andere mochten auch (20)

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

Ähnlich wie Regressionstests in Webprojekten - IPC12SE (20)

PDF
Continuous Integration für PHP
PDF
Bi testing media_factory_0.10
PPTX
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
PDF
Einführung Vorgehensmodelle und Agile Software Entwicklung
PDF
Softwarequalitätssicherung mit Continuous Integration Tools
PPTX
Codeception VisualCeption
PDF
Software Entwicklung im Team
PPTX
Agiles Testen - Überblick
KEY
Test-driven Development mit TYPO3
PDF
Jax 2011-qs
PDF
KEY
iOS-Entwicklung - der agile Weg
PDF
Automatisiertes webauftritt testen
PDF
Qualitätssicherung in Webprojekten
PDF
Softwaretests: Werkzeuge zur Automatisierung
PDF
BED-Con - Tools für den täglichen Kampf als Entwickler
PDF
23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten.
PPTX
Funktionstests in SAP
PDF
Testing untestable code - DCHH
PPT
Kontinuierliche Integration
Continuous Integration für PHP
Bi testing media_factory_0.10
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Einführung Vorgehensmodelle und Agile Software Entwicklung
Softwarequalitätssicherung mit Continuous Integration Tools
Codeception VisualCeption
Software Entwicklung im Team
Agiles Testen - Überblick
Test-driven Development mit TYPO3
Jax 2011-qs
iOS-Entwicklung - der agile Weg
Automatisiertes webauftritt testen
Qualitätssicherung in Webprojekten
Softwaretests: Werkzeuge zur Automatisierung
BED-Con - Tools für den täglichen Kampf als Entwickler
23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten.
Funktionstests in SAP
Testing untestable code - DCHH
Kontinuierliche Integration
Anzeige

Mehr von Sebastian Bauer (10)

PDF
The Unshippable Product Increment | JAX 2018
PDF
Was macht ein Scrum Master den ganzen Tag? JAX 2018
PDF
Mein Scrum ist kaputt | IPC17 SE & Webinale 2017
PDF
Verlernte Agilität - JAX 2012
PDF
Verlernte Agilität - JAX 2012
PDF
Verlernte Agilität - Schleichende Fehler in agilen Prozessen
KEY
Verlernte Agilität
PDF
Ignite Scrum - Ein Sprint in 5 Minuten
PDF
Web Workers - Das Arbeitstier Browser
PPT
Entwicklung Innovativer und Komplexer AIR Anwendungen
The Unshippable Product Increment | JAX 2018
Was macht ein Scrum Master den ganzen Tag? JAX 2018
Mein Scrum ist kaputt | IPC17 SE & Webinale 2017
Verlernte Agilität - JAX 2012
Verlernte Agilität - JAX 2012
Verlernte Agilität - Schleichende Fehler in agilen Prozessen
Verlernte Agilität
Ignite Scrum - Ein Sprint in 5 Minuten
Web Workers - Das Arbeitstier Browser
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
  • 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