Was ist Spike Testing beim Softwaretesten? Lernen Sie anhand von Beispielen
Was ist Spike-Test?
Spike-Test ist eine Art Softwaretest, bei dem eine Softwareanwendung mit extremen Zu- und Abnahmen der Verkehrslast getestet wird. Der Hauptzweck von Spike-Tests besteht darin, das Verhalten der Softwareanwendung bei plötzlichem Anstieg oder Abfall der Benutzerlast zu bewerten und die Wiederherstellungszeit nach einem Anstieg der Benutzerlast zu bestimmen.
Spike Testing wird durchgeführt, um die Schwächen von Softwareanwendungen abzuschätzen.

Ziel des Spike-Tests
Das Ziel des Spike-Tests besteht darin, zu sehen, wie das System auf unerwarteten Anstieg und Abfall der Benutzerlast reagiert. In der Softwareentwicklung helfen Spike-Tests dabei, festzustellen, ob sich die Systemleistung bei einer plötzlichen hohen Auslastung verschlechtert.
Ein weiteres Ziel des Spike-Testings ist die Bestimmung der Erholungszeit. Zwischen zwei aufeinanderfolgenden Spitzen der Benutzerlast benötigt das System einige Zeit, um sich zu stabilisieren. Diese Erholungszeit sollte so gering wie möglich sein.
So führen Sie Spike-Tests durch
Hier sind die einfachen Schritte zur Durchführung von Spike-Tests:
Schritt 1) Bestimmen Sie die Tragfähigkeit
Bestimmen Sie die maximale Benutzerlastkapazität Ihrer Softwareanwendung.
Schritt 2) Bereiten Sie die Testumgebung vor
Bereiten Sie die Testumgebung vor und konfigurieren Sie sie für die Aufzeichnung von Leistungsparametern.
Schritt 3) Definieren Sie die erwartete Last
Wenden Sie die erwartete maximale Last auf Ihre Softwareanwendung an, indem Sie a verwenden Leistungstesttool Ihrer Wahl.
Schritt 4) Erhöhen Sie die Last
Erhöhen Sie die Belastung des Systems schnell für einen festgelegten Zeitraum.
Schritt 5) Stellen Sie die Last wieder auf „Normal“ ein
Reduzieren Sie die Belastung schrittweise wieder auf das ursprüngliche Niveau.
Schritt 6) Analysieren Sie die Ergebnisse
Analysieren Sie die Leistungsdiagramme und Kennzahlen wie Fehler, benötigte Zeit, virtuelle Benutzer usw.
Beispiele für Spike-Testszenarien
- Wenn ein E-Commerce-Shop Sonderangebote mit tollen Rabatten einführt, beispielsweise am Black Friday.
- Wenn eine Webanwendung ein Lieblingsfernsehprogramm live streamt.
- Wenn ein Flash-Sale auf einer Daily-Deal-Site stattfindet.
- Wenn ein bestimmter Inhalt einer Website im Internet viral geht.
- Ein neues System wird für die Produktion freigegeben und mehrere Benutzer möchten auf das System zugreifen.
- Ein Stromausfall kann dazu führen, dass alle Benutzer keinen Zugriff mehr auf ein System haben. Nachdem das Problem behoben wurde, melden sich alle Benutzer gleichzeitig wieder am System an.
Wiederherstellungsszenarien bei Spitzenlasten
Drei Hauptwiederherstellungsszenarien, die zum Schutz vor Spikes konfiguriert werden können, sind:
- Nutzen Sie Cloud-Plattformen wie AWS, Azure die Serverkapazität dynamisch entsprechend der Benutzerlast zu erhöhen
- Erlauben Sie einigen Benutzern keinen Zugriff auf die Anwendung, damit das System nicht stark belastet wird. Dadurch wird verhindert, dass Personen über der maximal ausgelegten Belastung in das System eindringen. Dadurch wird das System vor drohender Überlastung geschützt.
- Der Site-Administrator ermöglicht Benutzern den Beitritt zum System. Allerdings mit der Warnung, dass sie aufgrund der hohen Belastung möglicherweise langsam reagieren. Dies kann zu einer Beeinträchtigung der Systemleistung führen. Der Benutzer kann jedoch mit dem System arbeiten.
Vor- und Nachteile des Spike-Tests
Nachfolgend sind die Vor- und Nachteile des Spike-Tests aufgeführt:
Vorteile | Nachteile |
---|---|
Die Leistungsfähigkeit der Software muss unbedingt aufrechterhalten werden. Wenn jedoch die Auslastung eines Systems extrem ansteigt, besteht eine hohe Wahrscheinlichkeit, dass Probleme auftreten. Spike Testing hilft beim Testen eines solchen Szenarios. | Der einzige Nachteil von Spike Testing besteht darin, dass es sich um einen teuren Testprozess handelt. Daher mussten spezielle Testbedingungen eingerichtet werden. Über einen längeren Zeitraum wird sich jedoch sicherlich ein positiver ROI ergeben. |
Bei der Standardtestmethode werden die schlimmsten bis hin zur Worst-Case-Szenarien möglicherweise nicht berücksichtigt. Sie zu ignorieren bedeutet jedoch nicht, dass sie niemals auftreten werden. Daher sollte jede Software auf solche Möglichkeiten vorbereitet sein. Ein solches Worst-Case-Szenario ist die Belastung, die mithilfe von Spike-Tests beurteilt und minimiert werden kann. |
Spike-Testwerkzeuge
1) JMeter
Der Apache JMeter ist ein Java-Open-Source-Spike-Testtool. Es wurde speziell zum Laden des Funktionstestverhaltens und zum Messen der Leistung entwickelt. Mit diesem Leistungstesttool kann die Leistung von Webanwendungen oder einer Vielzahl von Diensten analysiert und gemessen werden. Heutzutage wird es häufig für Funktionstests und Datenbankservertests verwendet.
2) LoadRunner
LoadRunner ist ein Lasttest-Tool für Windows und Linux, das Spike-Tests von Web- und anderen Apps ermöglicht. Es hilft, die Leistung und das Ergebnis der Anwendung auch unter hoher Belastung zu bestimmen.
Fazit
- Softwaretest ist eine Art Softwaretest, bei dem eine Softwareanwendung mit extremen Zu- und Abnahmen der Verkehrslast getestet wird.
- Der richtige Ansatz für Spike-Tests besteht darin, die Anzahl der Benutzer unerwartet zu erhöhen und anschließend die Last sofort zu verringern.
- Die unerwartete Belastung ist das Hauptmerkmal des Deals.
- Beispiele für reale Spike-Testszenarien sind: Wenn ein E-Commerce-Shop Sonderangebote mit tollen Rabatten einführt, beispielsweise am Black Friday. Alternativ, wenn eine Webanwendung ein Lieblingsfernsehprogramm live streamt.
- JMeter ist ein solches nützliches Tool zur Durchführung von Spike-Tests.