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