Was ist STRESS-Test beim Softwaretest?

Belastbarkeitstest

Belastbarkeitstest ist eine Art Softwaretest, der die Stabilität und Zuverlässigkeit einer Softwareanwendung überprüft. Das Ziel von Stresstests besteht darin, die Robustheit und Fehlerbehandlungsfähigkeiten der Software unter extrem hohen Lastbedingungen zu messen und sicherzustellen, dass die Software in Krisensituationen nicht abstürzt. Es testet sogar über normale Betriebspunkte hinaus und bewertet, wie Software unter extremen Bedingungen funktioniert.

Stresstestbild

In der Softwareentwicklung wird Stresstest auch als Stresstest bezeichnet Ausdauertests. Beim Stresstest wird AUT für einen kurzen Zeitraum belastet, um seine Widerstandsfähigkeit zu ermitteln. Eine höchst prominente Verwendung Beim Stresstest geht es darum, die Grenze zu bestimmen, bei der das System oder die Software oder Hardware kaputt geht. Außerdem wird überprüft, ob das System unter extremen Bedingungen ein effektives Fehlermanagement zeigt.

Die getestete Anwendung wird belastet, wenn 5 GB Daten von der Website kopiert und in den Editor eingefügt werden. Notepad steht unter Stress und gibt die Fehlermeldung „Nicht reagiert“ aus.

Was ist STRESS-Test beim Software-Testen: Tools, Bedarf und Typen

Notwendigkeit von Stresstests

Betrachten Sie Folgendeswing Echtzeitbeispiele, in denen wir die Verwendung von Stresstests entdecken können.

  • Während der Festivalzeit kann es auf einer Online-Shopping-Website zu einem Anstieg des Datenverkehrs kommen oder wenn ein Ausverkauf angekündigt wird.
  • Wenn ein Blog in einer führenden Zeitung erwähnt wird, kommt es zu einem plötzlichen Anstieg des Traffics.

Es ist unbedingt erforderlich, Stresstests durchzuführen, um solche ungewöhnlichen Verkehrsspitzen zu bewältigen. Wenn dieser plötzliche Datenverkehr nicht berücksichtigt wird, kann dies zu Umsatz- und Reputationsverlusten führen.

Stresstests sind auch für die folgenden Personen äußerst wertvollwing Gründe dafür:

  • Um zu überprüfen, ob das System unter abnormalen Bedingungen funktioniert.
  • Anzeige einer entsprechenden Fehlermeldung, wenn das System unter Stress steht.
  • Ein Systemausfall unter extremen Bedingungen könnte zu enormen Umsatzeinbußen führen
  • Es ist besser, durch die Durchführung von Stresstests auf extreme Bedingungen vorbereitet zu sein.

Ziele des Stresstests

Das Ziel von Stresstests besteht darin, das Verhalten des Systems nach einem Ausfall zu analysieren. Damit Stresstests erfolgreich sind, sollte ein System unter extremen Bedingungen eine entsprechende Fehlermeldung anzeigen.

Zur Durchführung von Stresstests werden manchmal riesige Datensätze verwendet, die während des Stresstests verloren gehen können. Tester sollten diese sicherheitsrelevanten Daten während der Durchführung von Stresstests nicht verlieren.

Der Hauptzweck von Stresstests besteht darin, sicherzustellen, dass sich das System nach einem sogenannten Ausfall erholt Wiederherstellbarkeit.

Lasttest vs. Stresstest

Bild Lasttest vs. Stresstest

Load Testing Belastbarkeitstest
Load Testing besteht darin, das Systemverhalten unter normalen Arbeitslastbedingungen zu testen und lediglich die tatsächliche Arbeitslast zu testen oder zu simulieren Beim Stresstest wird das Systemverhalten unter extremen Bedingungen getestet und bis zum Systemausfall durchgeführt.
Lasttests beschädigen das System nicht Stresstests versuchen, das System durch Tests mit überwältigenden Daten oder Ressourcen zu zerstören.

Arten von Stresstests:

Following sind die Arten von Stresstests und werden wie folgt erklärt:

Verteilter Stresstest:

Bild Arten von Stresstests

In verteilten Client-Server-Systemen werden Tests für alle Clients vom Server aus durchgeführt. Die Rolle des Stressservers besteht darin, eine Reihe von Stresstests an alle Stress-Clients zu verteilen und den Status des Clients zu verfolgen. Nachdem der Client den Server kontaktiert hat, fügt der Server den Namen des Clients hinzu und beginnt mit dem Senden von Daten zum Testen.

In der Zwischenzeit senden Client-Rechner ein Signal oder einen Heartbeat, dass sie mit dem Server verbunden sind. Wenn der Server keine Signale vom Client-Rechner empfängt, muss er zum Debuggen weiter untersucht werden. Aus der Abbildung geht hervor, dass ein Server eine Verbindung mit den beiden Clients (Client2 und Client1) herstellen kann, aber kein Signal von Client 2 und 3 senden oder empfangen kann.

Der Nachtlauf ist die beste Option, um diese Stresstestszenarien auszuführen. Große Serverfarmen benötigen eine effizientere Methode, um zu ermitteln, bei welchen Computern Stressausfälle aufgetreten sind, die untersucht werden müssen.

Anwendungsstresstest:

Diese Tests konzentrieren sich auf die Suche nach Fehlern im Zusammenhang mit Datensperrung und -blockierung, Netzwerkproblemen und Leistungsengpässen in einer Anwendung.

Transaktionaler Stresstest:

Es führt Stresstests für eine oder mehrere Transaktionen zwischen zwei oder mehr Anwendungen durch. Es dient der Feinabstimmung und Optimierung des Systems.

Systemischer Stresstest:

Dabei handelt es sich um integrierte Stresstests, die auf mehreren Systemen getestet werden können, die auf demselben Server laufen. Es wird verwendet, um Fehler zu finden, bei denen Anwendungsdaten eine andere Anwendung blockieren.

Explorativer Stresstest:

Dies ist eine der Arten von Stresstests, mit denen das System mit ungewöhnlichen Parametern oder Bedingungen getestet wird, die in einem realen Szenario wahrscheinlich nicht auftreten. Es wird verwendet, um Fehler in unerwarteten Szenarien zu finden, z

  1. Eine große Anzahl von Benutzern hat sich gleichzeitig angemeldet
  2. Wenn auf allen Rechnern gleichzeitig ein Virenscanner gestartet wirdneogewöhnlich
  3. Wenn die Datenbank beim Zugriff über eine Website offline gegangen ist,
  4. Wenn eine große Datenmenge gleichzeitig in die Datenbank eingefügt wirdneogewöhnlich

Wie führt man Stresstests durch?

Der Stresstestprozess kann in 5 Hauptschritten durchgeführt werden:

Schritt 1) ​​Planung des Stresstests: Hier sammeln Sie die Systemdaten, analysieren das System und definieren die Stresstestziele

Schritt 2) Automatisierungsskripte erstellen: In dieser Phase erstellen Sie die Automatisierungsskripte für Stresstests und generieren die Testdaten für die Stressszenarien.

Schritt 3) Skriptausführung: In dieser Phase führen Sie die Stresstest-Automatisierungsskripte aus und speichern die Stressergebnisse.

Schritt 4) Ergebnisanalyse: In dieser Phase analysieren Sie die Ergebnisse des Stresstests und identifizieren Engpässe.

Schritt 5) Optimierung und Optimierung: In dieser Phase optimieren Sie das System, ändern Konfigurationen und optimieren den Code mit dem Ziel, den gewünschten Benchmark zu erreichen.

Abschließend führen Sie den gesamten Zyklus noch einmal durch, um festzustellen, ob die Optimierungen zu den gewünschten Ergebnissen geführt haben. Beispielsweise ist es nicht ungewöhnlich, dass drei bis vier Zyklen des Stresstestprozesses erforderlich sind, um die Leistungsziele zu erreichen

Für Stresstests empfohlene Tools

LoadRunner

LoadRunner von HP ist ein weit verbreitetes Lasttest-Tool. Die von Loadrunner erstellten Lasttestergebnisse gelten als Benchmark.

jmeter

Jmeter ist ein Open-Source-Testtool. Es ist ein reines Javac Anwendung bei Stress und Performance Testing. Jmeter soll Arten von Tests wie Last, Funktion, Belastung usw. abdecken. Für die Funktion ist JDK 5 oder höher erforderlich.

Stresstester

Dieses Tool ermöglicht eine umfassende Analyse der Webanwendungsleistung, liefert Ergebnisse im grafischen Format und ist äußerst einfach zu verwenden. Es ist kein High-Level-Scripting erforderlich und es ergibt sich eine gute Kapitalrendite.

Neo Belastung

Dies ist ein beliebtes Tool auf dem Markt zum Testen des Webs und Mobil Anwendungen. Dieses Tool kann Tausende von Benutzern simulieren, um die Anwendungsleistung unter Last zu bewerten und die Antwortzeiten zu analysieren. Es unterstützt auch Cloud-Integration – Leistungs-, Last- und Stresstests. Es ist einfach zu bedienen, kostengünstig und bietet eine gute Skalierbarkeit.

Metriken für Stresstests

Metriken helfen bei der Bewertung der Leistung eines Systems und werden im Allgemeinen am Ende eines Stresstests untersucht. Häufig verwendete Metriken sind –

Skalierbarkeit und Leistung messen

  • Seiten pro Sekunde: Misst, wie viele Seiten pro Sekunde angefordert wurden
  • Durchsatz: Basismetrik – Antwortdatengröße/Sekunde
  • Runden: Anzahl der geplanten Testszenarien im Vergleich zur Anzahl der Ausführungen eines Clients

Antwort der Anwendung

  • Trefferzeit: Durchschnittliche Zeit zum Abrufen eines Bildes oder einer Seite
  • Zeit bis zum ersten Byte: Es wird Zeit benötigt, um das erste Byte an Daten oder Informationen zurückzugeben
  • Seitenzeit: Es wird Zeit benötigt, um alle Informationen auf einer Seite abzurufen

Fehler

  • Fehlgeschlagene Verbindungen: Anzahl der vom Client abgelehnten fehlgeschlagenen Verbindungen (schwaches Signal)
  • Fehlgeschlagene Runden: Anzahl der fehlgeschlagenen Runden
  • Fehlgeschlagene Zugriffe: Anzahl der vom System durchgeführten Fehlversuche (defekte Links oder nicht gesehene Bilder)

Konklusion

Ziel des Stresstests ist es, das System unter extremen Bedingungen zu überprüfen. Es überwacht Systemressourcen wie Speicher, Prozessor, Netzwerk usw. und prüft die Fähigkeit des Systems, wieder in den Normalzustand zurückzukehren. Es prüft, ob das System im Stressfall entsprechende Fehlermeldungen anzeigt.

Beispiel für Stresstests

  1. E-Commerce-Website kündigt einen Festivalverkauf an
  2. Nachrichten-Website zum Zeitpunkt einiger Großereignisse
  3. Ergebnis-Website des Education Board
  4. Social-Networking-Sites oder Blogs, Apps usw