Sebastian Bauer, inovex GmbHRegressionstestsin Webprojekten
Vorstellung@litervollmilchAuto-Nerd und -Bloggerpassiondriving.deAgile Coach @inovex GmbHPforzheim, Köln, München
REGR... WHAT?
REGR... WHAT?
•   Wiederholung bereits durchgeführter Tests•   Neue Fehler aufdecken (Software Regression)•   Bugfixes verifizieren•   Änd...
•   Progressive Regressionstests    •   Spezifikation verändert    •   Code geändert        ‣   Neue Testfälle•   Korrigier...
Was bedeutet das genau?• Akzeptanztests• Unit Tests• Tests für zu ändernde Komponenten• Tests für Bugfixes• Test bei Änderu...
Regressionstests = Continuous         Integration?
Arten von Regressionstests
Unit Tests
Unit TestsPrüfe, ob das Ergebnis vonfoobar(„foo“) gleich „bar“ ist.
AkzeptanztestsAkzeptanztests
AkzeptanztestsPrüfe, ob der Klick auf den Button „In den    Einkaufswagen“ den Artikel in den            Einkaufswagen legt.
Smoke Tests
Smoke TestsPrü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• Automatisiert...
Build nach jedem Commit!                  Automatischer Build                  • Unit Tests                  • Syntax Test...
Niemand wartet gerne!                                        Automatischer Build                                        • ...
Continuous Delivery
Kontinuierliche Deploys
Feature Toggles
Warum nicht BDD probieren?• Behaviour Driven Development• Nicht nur eine Entwicklungsmethodik• Erwartung vs. Testfall• Aus...
BDD Beispiel: Artikel in          Warenkorb•   Gegeben dem Fall, ein Kunde möchte einen    Film kaufen•   und sein Warenko...
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...
DAS WAR‘S!          Fragen? Kommentare?twitter         @litervollmilchmail            sebastian.bauer@inovex.deweb        ...
Regressionstests in Webprojekten - IPC12SE
Nächste SlideShare
Wird geladen in …5
×

Regressionstests in Webprojekten - IPC12SE

1.103 Aufrufe

Veröffentlicht am

Gerade im Web sind kurze Releasezyklen oft unabdingbar. Meist werden noch viele manuelle Tests gemacht, die ein bremsender Faktor für häufige Releases sind. Was gehört dazu, um bei Veränderungen des Projekts automatisiert zu prüfen, ob noch alles funktioniert? Wie kann man darauf aufbauen und was kommt danach?

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.103
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
14
Aktionen
Geteilt
0
Downloads
4
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Regressionstests in Webprojekten - IPC12SE

  1. 1. Sebastian Bauer, inovex GmbHRegressionstestsin Webprojekten
  2. 2. Vorstellung@litervollmilchAuto-Nerd und -Bloggerpassiondriving.deAgile Coach @inovex GmbHPforzheim, Köln, München
  3. 3. REGR... WHAT?
  4. 4. REGR... WHAT?
  5. 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. 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. 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
  8. 8. Regressionstests = Continuous Integration?
  9. 9. Arten von Regressionstests
  10. 10. Unit Tests
  11. 11. Unit TestsPrüfe, ob das Ergebnis vonfoobar(„foo“) gleich „bar“ ist.
  12. 12. AkzeptanztestsAkzeptanztests
  13. 13. AkzeptanztestsPrüfe, ob der Klick auf den Button „In den Einkaufswagen“ den Artikel in den Einkaufswagen legt.
  14. 14. Smoke Tests
  15. 15. Smoke TestsPrüfe, ob der Aufruf einer Artikelseite auch wirklich eine Artikelseite zeigt.
  16. 16. Warum das ganze Theater?
  17. 17. Der Schlüssel zum Erfolg
  18. 18. Automatisierung!
  19. 19. Continuous Integration
  20. 20. Bamboo Jenkins (Hudson) CruiseControl
  21. 21. Erfolgreiches CI als Prozess• Direktes Feedback -> schnelle Builds• Tägliche Checkins• Commits in den Trunk• Automatisierter Build• Deploy-Automation
  22. 22. Build nach jedem Commit! Automatischer Build • Unit Tests • Syntax Tests • Smoke Tests • Coding Standards • Copy/Paste Detection • Dokumentation • ...
  23. 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
  24. 24. Continuous Delivery
  25. 25. Kontinuierliche Deploys
  26. 26. Feature Toggles
  27. 27. Warum nicht BDD probieren?• Behaviour Driven Development• Nicht nur eine Entwicklungsmethodik• Erwartung vs. Testfall• Ausführbare Spec. vs Ansammlung von Tests
  28. 28. 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
  29. 29. BDD Tool: behat• Funktioniert „headless“• sehr einfacher Test-Code• Made for PHP• http://www.behat.org
  30. 30. Fazit?
  31. 31. 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
  32. 32. DAS WAR‘S! Fragen? Kommentare?twitter @litervollmilchmail sebastian.bauer@inovex.deweb http://inovex.de

×