Sebastian BauerLOTUM GmbHRegressionstestsin Webprojekten
Vorstellung o   Sebastian Bauer o   Leidenschaftlicher     SCRUM Master o   Auto-Nerd o   LOTUM GmbH o   Bad Nauheim     b...
REGR...	  WHAT?
REGR...	  WHAT?
• Wiederholung bereits durchgeführter Tests• Neue Fehler aufdecken (Software Regression)• Bugfixes verifizieren• Änderunge...
• Progressive Regressionstests • Spezifikation verändert • Code geändert    ➡   Neue Testfälle• Korrigierende Regressionst...
Was bedeutet das genau? • Akzeptanztests • Unit Tests • Tests für zu ändernde Komponenten • Tests für Bugfixes • Test bei ...
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...
Smoke	  Tests
Smoke TestsPrü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 • Automatis...
Build nach jedem Commit!                           Automatischer	  Build                           •	  Unit	  Tests       ...
Niemand wartet gerne!                        Automatischer	  Build                        •	  Unit	  Tests                ...
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 •...
BDD Beispiel: Artikel in Warenkorb • Gegeben dem Fall, ein Kunde möchte einen Film  kaufen • und sein Warenkorb ist leer •...
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 Poten...
DAS	  WAR‘S!       Fragen? http://joind.in/3870  Rocke	  mit	  uns	  das	  Web!   www.lotum.de/jobs
Regressionstests in Webprojekten
Nächste SlideShare
Wird geladen in …5
×

Regressionstests in Webprojekten

1.970 Aufrufe

Veröffentlicht am

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.970
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
69
Aktionen
Geteilt
0
Downloads
24
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Regressionstests in Webprojekten

  1. 1. Sebastian BauerLOTUM GmbHRegressionstestsin Webprojekten
  2. 2. Vorstellung o Sebastian Bauer o Leidenschaftlicher SCRUM Master o Auto-Nerd o LOTUM GmbH o Bad Nauheim bei Frankfurt/Main
  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 Tests Prüfe, ob das Ergebnis von foobar(„foo“) gleich „bar“ ist.
  12. 12. Akzeptanztests
  13. 13. Akzeptanztests Prü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 Produktseite auch wirklich eine Produktseite 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
  24. 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
  25. 25. Continuous  Delivery
  26. 26. Kontinuierliche  Deploys
  27. 27. Feature  Toggles
  28. 28. Warum nicht BDD probieren? • Behaviour Driven Development • Nicht nur eine Entwicklungsmethodik • Erwartung vs. Testfall • Ausführbare Spec. vs Ansammlung von Tests
  29. 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. 30. BDD Tool: Cucumber• Funktioniert „headless“• sehr einfacher Test-Code• Ruby-basiert• http://www.cukes.info
  31. 31. FAZIT?
  32. 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. 33. DAS  WAR‘S! Fragen? http://joind.in/3870 Rocke  mit  uns  das  Web! www.lotum.de/jobs

×