Nicht-funktionale Tests
Completion requirements
Was wird geprüft?
- Performance: Überprüfung der Antwortzeiten, Durchsatzraten und Ressourcenverbrauch unter verschiedenen Lastbedingungen.
- Zuverlässigkeit: Fähigkeit der Software, unter definierten Bedingungen über einen bestimmten Zeitraum korrekt zu funktionieren.
- Skalierbarkeit: Fähigkeit der Software, mit einer zunehmenden Last umzugehen, indem Ressourcen hinzugefügt werden.
- Sicherheit: Sicherstellung, dass die Software vor unautorisiertem Zugriff, Datenlecks und anderen Sicherheitsbedrohungen geschützt ist.
- Usability: Wie einfach und intuitiv die Software für Endbenutzer zu verwenden ist.
- Kompatibilität: Fähigkeit der Software, in verschiedenen Umgebungen (z.B. unterschiedlichen Betriebssystemen, Browsern, Netzwerken) effektiv zu funktionieren.
- Wartbarkeit: Leichtigkeit, mit der die Software geändert, korrigiert, gewartet oder verbessert werden kann.
Mittel und Werkzeuge
Zur Durchführung nicht-funktionaler Tests werden verschiedene Werkzeuge und Techniken verwendet, die auf die spezifischen Testanforderungen zugeschnitten sind:
Performance- und Lasttests
- Werkzeuge: JMeter, LoadRunner, Gatling.
- Techniken: Simulieren von Hochlastsituationen, Stress-Tests, um die Grenzen des Systems zu ermitteln.
Sicherheitstests
- Werkzeuge: OWASP ZAP, Burp Suite, Fortify.
- Techniken: Penetrationstests, Schwachstellenscans, Code-Reviews für Sicherheitslücken.
Usability-Tests
- Techniken: Benutzertests, Heuristische Evaluation, Nutzung von Usability-Laboren.
- Werkzeuge: Fragebögen und Feedback-Tools, A/B-Tests.
Kompatibilitätstests
- Werkzeuge: BrowserStack, CrossBrowserTesting.
- Techniken: Testen auf verschiedenen Geräten, Betriebssystemen und Browser-Versionen.
Skalierbarkeitstests
- Techniken: Schrittweise Erhöhung der Last, um die Leistungsfähigkeit zu beurteilen.
- Werkzeuge: Ähnlich wie bei Performance-Tests, angepasst für Skalierbarkeitsprüfungen.
Testdesign-Techniken
- Benchmarking: Vergleich der Performance- und Sicherheitsstandards der Software mit Industriestandards oder Konkurrenzprodukten.
- Simulierung realer Bedingungen: Einsatz von Werkzeugen und Skripten, um realistische Benutzerinteraktionen und Lastbedingungen zu simulieren.
- Automatisierte Überwachung: Verwendung von Tools zur Überwachung der Systemleistung und -stabilität über längere Zeiträume.
Best Practices
- Frühe Integration: Nicht-funktionale Anforderungen sollten von Anfang an in den Softwareentwicklungsprozess integriert werden.
- Kontinuierliches Testen: Nicht-funktionale Tests sollten regelmäßig durchgeführt werden, um Leistungsengpässe und Sicherheitslücken frühzeitig zu erkennen.
- Spezifische Ziele: Nicht-funktionale Testziele sollten klar definiert, messbar und an die Geschäftsziele angepasst sein.
- Tool-Auswahl: Auswahl der richtigen Tools und Techniken, die speziell auf die zu testenden nicht-funktionalen Aspekte zugeschnitten sind.
Last modified: Friday, 15 March 2024, 7:48 AM