4. Marktvorteile durch Testautomatisierung
„In software testing, test automation is the use of software separate from the software
being tested to control the execution of tests and the comparison of actual outcomes
with predicted outcomes.“
en.wikipedia.org
5. Vertrauen
• Reproduzierbarere Ergebnisse
• Höhere Regressionssicherheit
• Weniger unerkannte Fehler im
Produktivbetrieb
• Höhere Rate an
Weiterempfehlungen
Zeitvorteile
• Schnellere Testdurchführung
• Schnelleres Feedback
• Schnellere Entwicklungszyklen
• Reduzierte Time-To-Market
Direkte
monetäre Vorteile
• Reduzierte Mannstunden
• Bessere Skalierbarkeit der
Ressourcen
• Kapazitäten für Innovation
• Hohe Kundenzufriedenheit
• Stabilerer Umsatz
• Reduzierte 3rd lvl Aufwände
1
2
3
7. Arten von Softwaretests – Die Testpyramide
Manual Tests
Unit Tests
Integration Tests
E2E Tests
8. Arten von Softwaretests – Die Testpyramide
Manual Tests
Unit Tests
Integration Tests
Anzahl der Tests
Anzahl der Szenarien
Isolation der Tests
Zeitaufwand
E2E Tests
9. Arten von Softwaretests – Die Testpyramide
Manual Tests
Unit Tests
Integration Tests
High-level
(domänenspezifisch)
Low-level
(technisch)
Anzahl der Tests
Anzahl der Szenarien
Isolation der Tests
Zeitaufwand
E2E Tests
11. Wie funktionieren Unit-Tests? – Die heimische Probe
• Sind nah am Code
• Testen konkrete Methoden
• Testen sehr kleine isolierte Testfälle
• Gibt es in hoher Anzahl
• Sehr geringe Laufzeit
12. Wie funktionieren Integrationstests? – Die Orchesterprobe
• Betrachten ganze Softwarekomponenten
• Überprüfen das Zusammenspiel der Software
• Testen komplexe Testfälle
• Benutzen die Schnittstellen der Software
• Übertragen echte Daten (im besten Fall)
• Gibt es in geringerer Anzahl als Unit Tests
• Höhere Laufzeit als Unit Tests
14. Wie funktionieren E2E Tests? – Die Generalprobe
• Betrachten ganze Softwaresysteme
• Testen Software von „Ende zu Ende“
• Überprüfung aus der Sicht des Benutzers
• Testen Critical-Paths
• Haben hohe Durchlaufzeiten
18. Continuous deployment – Marktvorteile
• Änderungen sind binnen Minuten in Produktion
• Anpassung an den Markt binnen Minuten
• Schnelles Feedback bzgl. Änderungen des Kundenverhaltens
• User experience Feedback
• Call-To-Action Resultate
• Avg. session duration
• Conversion rates
• Stark reduzierter Turnaround für
neue Funktionalitäten
20. CI – Continuous integration
• Bekanntgeworden durch „Extreme Programming“
• Kurze Entwicklungszyklen
• Erstellen von Artefakten nach jeder Änderung
• Automatisches testen der Artefakte
• Zielsetzung
• Schnelles Feedback bzgl. Änderungen
• Reduzierung von Mergekonflikten
Branch
Change
MergeBuild
Test
21. CD – Continuous delivery
• Ziel: Stets ausliefern können
• Erweiterung von CI
• Installation auf einem Testsystem
• Durchführen von Akzeptanztests
Branch
Change
Merge
BuildTest
Deploy to
staging
Acceptance
tests
32. OMD Monitoring Integration
• Einspeisung von Messdaten in Monitoring
• Performance Metriken und Graphen
• Automatisiere, regelmäßige Tests
• Screenshots im Fehlerfall
• Mail / Chat Benachrichtigungen
33. CI Pipeline Integration
• Skalierbare Testfarm über z.B. OpenShift
• Ausführbar durch den Benutzer
• Ausführung über z.B. Webhooks
• Bereitstellung der Testumgebung
• Ausführung der E2E-Tests
• Mail / Chat Benachrichtungungen
• Live view possible