Stresstest
Ein Stresstest ist ein Verfahren zur Bestimmung der Fähigkeit eines Computers, Netzwerks, Programms oder Geräts, unter ungünstigen Bedingungen ein bestimmtes Maß an Effektivität aufrechtzuerhalten.
Das Verfahren kann quantitative Tests umfassen, die in einem Labor durchgeführt werden, zum Beispiel die Messung der Häufigkeit von Fehlern oder Systemabstürzen. Der Begriff bezieht sich aber auch auf die qualitative Bewertung von Faktoren wie Verfügbarkeit oder Widerstand gegen Denial-of-Service-Angriffe (DoS-Angriffe). Stresstests werden oft in Verbindung mit dem allgemeineren Prozess der Leistungsprüfung durchgeführt.
Bei der Durchführung eines Stresstests wird absichtlich eine ungünstige Umgebung geschaffen und aufrechterhalten. Dazu können folgende Maßnahmen gehören:
- Gleichzeitiges Ausführen mehrerer ressourcenintensiver Anwendungen auf einem einzigen Computer.
- Versuch, sich in einen Computer zu hacken und ihn als Zombie zu benutzen, um Spam zu verbreiten.
- Überflutung eines Servers mit nutzlosen E-Mail-Nachrichten
- Zahlreiche, gleichzeitige Versuche, auf eine einzige Website zuzugreifen
- Der Versuch, ein System mit Viren, Trojanern, Spyware oder anderer Malware zu infizieren.
Der negative Zustand wird allmählich und methodisch verschlechtert, bis das Leistungsniveau unter ein bestimmtes Minimum fällt oder das System ganz ausfällt. Um möglichst aussagekräftige Ergebnisse zu erzielen, werden die einzelnen Stressoren nacheinander variiert, während die anderen konstant bleiben. Auf diese Weise ist es möglich, spezifische Schwachstellen und Verwundbarkeiten zu erkennen. Beispielsweise kann ein Computer zwar über ausreichend Speicher, aber nicht über ausreichende Sicherheit verfügen. Ein solches System ist zwar in der Lage, zahlreiche Anwendungen problemlos gleichzeitig auszuführen, kann aber leicht abstürzen, wenn es von einem Hacker angegriffen wird, der es abschalten will.
Stresstests können zeitaufwendig sein. Nichtsdestotrotz ist es hilfreich zu analysieren, wie ein System unter immer intensiveren Angriffen oder Stressfaktoren zusammenbricht. Stresstests können ein Mittel sein, eine ordnungsgemäße Verschlechterung zu messen, das heißt die Fähigkeit eines Systems, eine eingeschränkte Funktionalität aufrechtzuerhalten, selbst wenn ein großer Teil des Systems kompromittiert wurde.
Sobald der Testprozess einen Ausfall verursacht hat, besteht die letzte Komponente von Stresstests darin, festzustellen, wie gut oder wie schnell sich ein System nach einem unerwünschten Ereignis erholen kann.