Regressionstests in Webprojekten

1.911 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.911
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
72
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

×