Performance Testing
Leistungsprüfung zur Bewertung der Geschwindigkeit und Stabilität von Anwendungen.
Klassifikation
- KomplexitätMittel
- AuswirkungTechnisch
- EntscheidungstypDesign
- OrganisationsreifeFortgeschritten
Technischer Kontext
Prinzipien & Ziele
Use Cases & Szenarien
Kompromisse
- Falsche Schlussfolgerungen aufgrund unzureichender Tests.
- Überlastung der Testumgebungen.
- Kosten für die Infrastruktur können steigen.
- Regelmäßige Tests in der Entwicklungsphase durchführen.
- Automatisierung von wiederkehrenden Tests.
- Regelmäßige Überprüfung und Aktualisierung der Teststrategien.
I/O & Ressourcen
- Testbedingungen festlegen
- Testbenutzer erstellen
- Performance-Testwerkzeuge auswählen
- Testberichte
- Leistungsmetriken
- Empfehlungen zur Optimierung
Beschreibung
Performance Testing dient dazu, die Leistung, Reaktionszeit und Stabilität von Softwareapplikationen unter Last zu bewerten. Es hilft, Engpässe und Schwächen im System zu identifizieren und sicherzustellen, dass die Anwendung den Anforderungen gerecht wird.
✔Vorteile
- Erhöhte Systemstabilität.
- Optimierte Benutzererfahrung.
- Reduzierte Kosten durch Vorbeugung.
✖Limitationen
- Nicht alle Lastbedingungen können simuliert werden.
- Einschränkungen bei der Testumgebung.
- Mangel an realistischen Nutzerdaten.
Trade-offs
Metriken
- Antwortzeit
Die Zeit, die eine Anwendung benötigt, um auf Benutzeranfragen zu antworten.
- Durchsatz
Die Anzahl der Transaktionen, die in einem bestimmten Zeitraum verarbeitet werden können.
- Systemnutzungsgrad
Der Prozentsatz der Systemressourcen, die während eines Tests verwendet werden.
Beispiele & Implementierungen
Lasttest für E-Commerce-Website
Ein E-Commerce-Unternehmen führte einen Lasttest durch, um sicherzustellen, dass ihre Website während der Verkaufsaktionen hohen Traffic bewältigen kann.
Stress-Test für eine Mobile Banking App
Eine Bank führte einen Stress-Test ihrer mobilen Anwendung durch, um Leistungsschwächen anzeigen zu können, bevor ein neues Update kam.
Leistungsmonitoring für Streaming Dienst
Ein Streaming-Dienst implementierte Monitoring-Lösungen, um die Leistung in Echtzeit während der Übertragung zu überwachen.
Implementierungsschritte
Definieren Sie die Testziele.
Erstellen von Testplänen.
Durchführen der Tests und Auswerten der Ergebnisse.
⚠️ Technische Schulden & Engpässe
Tech Debt
- Veraltete Testmethoden
- Fehlende Automatisierung
- Infrastrukturprobleme in der Testumgebung
Bekannte Engpässe
Beispiele für Missbrauch
- Unzureichende Testressourcen verwenden.
- Falsche Nutzung von Testszenarien.
- Datenbanken nicht in die Tests einbeziehen.
Typische Fallen
- Unterschätzen der Testkomplexität.
- Verwirrung zwischen Belastung und Stresstests.
- Konzentration nur auf technische Ergebnisse, nicht auf Benutzererfahrungen.
Erforderliche Fähigkeiten
Drivers (Architectural Drivers)
Constraints
- • Testumgebungen müssen realistischer dargestellt werden.
- • Echtzeitdaten sind notwendig für das Monitoring.
- • Ressourcenverfügbarkeit während Testzeiten.