stress testing guide
Ein umfassender Leitfaden für Stresstests für Anfänger:
Wenn Sie etwas anderes als einen Punkt betonen, hat dies schwerwiegende Folgen für Mensch, Maschine oder Programm. Es verursacht entweder ernsthafte Schäden oder bricht es vollständig.
In diesem Tutorial erfahren Sie in ähnlicher Weise, wie Sie Webanwendungen zusammen mit ihrer Wirkung einem Stresstest unterziehen.
Um dauerhafte Schäden an Ihren Apps oder Websites zu vermeiden, wenn diese gestresst, d. H. Stark belastet sind, müssen wir die Bruchstelle und damit die Lösung finden, um solche Bedingungen zu vermeiden. Stellen Sie sich vor, wie es wäre, wenn Ihre Shopping-Website während des Weihnachtsverkaufs ausfällt. Wie hoch wäre der Verlust?
Nachfolgend sind einige Beispiele für reale Fälle aufgeführt, in denen es von großer Bedeutung ist, eine App oder Website einem Stresstest zu unterziehen:
bester kostenloser Popup-Blocker für Chrom
# 1) Kommerzielle Einkaufs-Apps oder Websites müssen Stresstests durchführen, da die Belastung während Festivals, Verkäufen oder Sonderangeboten sehr hoch wird.
#zwei) Finanz-Apps oder Websites müssen einen Stresstest durchführen, da die Belastung zu Zeiten steigt, in denen eine Unternehmensaktie steigt, sich viele Menschen auf ihren Konten anmelden, um zu kaufen oder zu verkaufen. Online-Shopping-Websites leiten 'Net-Banker' zur Zahlung um usw.
#3) Web- oder E-Mail-Apps müssen einem Stresstest unterzogen werden.
# 4) Websites oder Apps für soziale Netzwerke, Blogs usw. müssen einem Stresstest unterzogen werden usw.
Was du lernen wirst:
- Was ist Stresstest und warum machen wir Stresstests?
- Strategie für Stresstests
- Stresstests für mobile Apps
- Unterschied zwischen Lasttest und Stresstest
- Beispieltestfälle
- 5 Beste Stresstestsoftware
- Fazit
- Literatur-Empfehlungen
Was ist Stresstest und warum machen wir Stresstests?
Stresstests sind definiert als der Prozess des Testens der Hardware oder Software auf ihre Stabilität unter Bedingungen hoher Last. Diese Tests werden durchgeführt, um den numerischen Punkt zu ermitteln, an dem das System ausfällt (in Bezug auf eine Anzahl von Benutzern und Serveranforderungen usw.) und die damit verbundene Fehlerbehandlung für dasselbe.
Während des Stresstests wird die zu testende Anwendung (AUT) für einen bestimmten Zeitraum mit einer schweren Last bombardiert, um die Bruchstelle zu überprüfen und festzustellen, wie gut die Fehlerbehandlung durchgeführt wird.
Beispiel: MS Word gibt möglicherweise die Fehlermeldung 'Nicht reagiert' aus, wenn Sie versuchen, eine 7-8-GB-Datei zu kopieren.
Sie haben Word mit einer riesigen Datei bombardiert, die eine so große Datei nicht verarbeiten konnte. Infolgedessen wird sie gehängt. Normalerweise beenden wir Apps aus dem Task-Manager, wenn sie nicht mehr reagieren. Der Grund dafür ist, dass die Apps gestresst sind und nicht mehr reagieren.
Im Folgenden sind einige technische Gründe für die Durchführung von Stresstests aufgeführt:
- Überprüfung des Systemverhaltens unter abnormalen oder extremen Lastbedingungen.
- Ermitteln des numerischen Werts von Benutzern, Anforderungen usw., nach denen das System möglicherweise ausfällt.
- Behandeln Sie den Fehler freundlich, indem Sie entsprechende Meldungen anzeigen.
- Um auf solche Bedingungen gut vorbereitet zu sein und Vorsichtsmaßnahmen wie Code-Reinigung, DB-Reinigung usw. zu treffen.
- Um die Datenverarbeitung zu überprüfen, bevor das System ausfällt, d. H. Um zu sehen, ob Daten gelöscht, gespeichert oder nicht usw. wurden.
- Überprüfung der Sicherheitsbedrohung unter solchen Bedingungen usw.
Strategie für Stresstests
Dies ist eine Art von nicht funktionalen Tests. Diese Tests werden normalerweise durchgeführt, sobald die funktionalen Tests einer Website oder App abgeschlossen sind. Die Testfälle, die Art des Testens und sogar die zu testenden Werkzeuge können manchmal variieren.
Im Folgenden finden Sie einige Hinweise, mit denen Sie Ihren Testprozess strategisch planen können:
- Identifizieren Sie die Szenarien, Funktionen usw., auf die am häufigsten zugegriffen wird und die möglicherweise das System beschädigen. Wie bei einer Finanz-App wird am häufigsten Geld überwiesen.
- Identifizieren Sie die Belastung, die das System an einem bestimmten Tag erfahren kann, d. H. Sowohl maximal als auch minimal.
- Erstellen Sie eine separate Versuchsplan , Szenario, Testfall und Testsuite.
- Verwenden Sie 3-4 verschiedene Computersysteme zum Testen mit verschiedenen Speichern, Prozessoren usw.
- Benutzer 3-4 verschiedene Browser für Web-Apps mit verschiedenen Versionen.
- Suchen Sie im Idealfall den Wert unterhalb des Haltepunkts, am Haltepunkt und den Wert nach dem Haltepunkt (wenn das System überhaupt nicht reagiert), erstellen Sie einen Prüfstand und Daten um diese herum.
- Versuchen Sie bei Web-Apps, Stresstests auch mit einem langsamen Netzwerk durchzuführen.
- Springen Sie nicht in ein oder zwei Runden zum Abschluss der Tests, führen Sie dieselben Tests mindestens 5 Runden lang durch und schließen Sie dann Ihre Ergebnisse ab.
- Finden Sie die ideale Antwortzeit des Webservers und die Uhrzeit ist am Haltepunkt.
- Finden Sie das Verhalten der App an der Sollbruchstelle an verschiedenen Stellen der App, z. B. beim einfachen Starten der App, Anmelden, Ausführen einer Aktion nach dem Anmelden usw.
Stresstests für mobile Apps
Stresstests für native mobile Apps unterscheiden sich geringfügig von denen für Web-Apps. In nativen Apps wird ein Stresstest für die häufig verwendeten Bildschirme durchgeführt, indem große Datenmengen hinzugefügt werden.
Im Folgenden finden Sie einige Überprüfungen, die im Rahmen dieser Tests für native mobile Apps durchgeführt werden:
- Die App stürzt nicht ab, wenn große Datenmengen angezeigt werden. Wie bei einer E-Mail-App, etwa 4-5 Lakhs empfangener E-Mail-Karten, bei Einkaufs-Apps, der gleichen Anzahl von Artikelkarten usw.
- Das Scrollen ist störungsfrei und die App bleibt beim Scrollen nach oben oder unten nicht hängen.
- Der Benutzer sollte in der Lage sein, die Details einer Karte anzuzeigen oder eine Aktion auf der Karte aus der riesigen Liste auszuführen.
- Senden von zahlreichen Updates von der App an den Server, z. B. Markieren eines Artikels als 'Favorit', Hinzufügen eines Artikels zum Warenkorb usw.
- Versuchen Sie, die App mit großen Datenmengen in ein 2G-Netzwerk zu laden. Wenn die App hängt oder abstürzt, sollte eine entsprechende Meldung angezeigt werden.
- Versuchen Sie ein End-to-End-Szenario, wenn große Datenmengen und ein langsames 2G-Netzwerk usw. vorhanden sind.
Folgendes sollte Ihre Strategie zum Testen auf mobilen Apps sein:
- Identifizieren Sie die Bildschirme mit Karten, Bildern usw., um auf diese Bildschirme mit großen Datenmengen abzuzielen.
- Identifizieren Sie auf ähnliche Weise die Funktionen, die am häufigsten verwendet werden.
- Versuchen Sie beim Erstellen des Prüfstands, Telefone der mittleren und unteren Preisklasse zu verwenden.
- Versuchen Sie, gleichzeitig auf parallelen Geräten zu testen.
- Vermeiden Sie diese Tests mit Emulatoren und Simulatoren.
- Vermeiden Sie Tests an WLAN-Verbindungen, da diese stark sind.
- Versuchen Sie, mindestens einen Stresstest vor Ort usw. durchzuführen.
Unterschied zwischen Lasttest und Stresstest
S.No. | Belastbarkeitstest | Lasttest |
---|---|---|
1 | Diese Prüfung wird durchgeführt, um die Bruchstelle des Systems herauszufinden. | Diese Tests werden durchgeführt, um die Leistung des Systems unter einer erwarteten Last zu überprüfen. |
zwei | Diese Tests werden durchgeführt, um herauszufinden, ob sich das System wie erwartet verhält, wenn die Last den normalen Grenzwert überschreitet. | Dieser Test wird durchgeführt, um die Antwortzeit des Servers auf die erwartete spezifische Last zu überprüfen. |
3 | Die Fehlerbehandlung wird auch in diesem Test überprüft. | Die Fehlerbehandlung wird nicht intensiv getestet. |
4 | Dies prüft auch auf Sicherheitsbedrohungen, Speicherlecks usw. | Eine solche Prüfung ist nicht obligatorisch. |
5 | Überprüft die Stabilität der Systeme. | Überprüft die Zuverlässigkeit des Systems. |
6 | Das Testen erfolgt mit mehr als der max. möglich keine Benutzer, Anfragen etc. | Das Testen wird mit der maximalen Anzahl von Benutzern, Anforderungen usw. durchgeführt. |
Stresstest gegen Lasttest
Beispieltestfälle
Die Testfälle, die Sie für Ihre Tests erstellen, hängen von der Anwendung und ihren Anforderungen ab. Stellen Sie vor dem Erstellen der Testfälle sicher, dass Sie die Fokusbereiche kennen, d. H. Die Funktionen, die unter der Bedingung einer abnormalen Belastung zum Brechen neigen.
Im Folgenden finden Sie einige Beispieltestfälle, die Sie in Ihre Tests einbeziehen können:
bester kostenloser mp3 Musik Downloader für Android
- Überprüfen Sie, ob eine ordnungsgemäße Fehlermeldung angezeigt wird, wenn das System den Haltepunkt erreicht, d. H. Das Maximum Nr. 1 überschreitet. von erlaubten Benutzern oder Anfragen.
- Überprüfen Sie den obigen Testfall auf verschiedene Kombinationen von RAM, Prozessor und Netzwerk usw.
- Überprüfen Sie, ob das System wie erwartet funktioniert, wenn maximal nein. von Benutzern oder Anfragen werden verarbeitet. Überprüfen Sie auch den obigen Testfall auf verschiedene Kombinationen von RAM, Prozessor und Netzwerk usw.
- Stellen Sie sicher, dass mehr als die zulässige Nr. von Benutzern oder Anfragen führen denselben Vorgang aus (z. B. den Kauf derselben Artikel von einer Einkaufswebsite oder eine Geldüberweisung usw.), und wenn das System nicht mehr reagiert, wird eine entsprechende Fehlermeldung zu den Daten angezeigt (nicht gespeichert? - abhängig von der Implementierung).
- Überprüfen Sie, ob mehr als die zulässige Nr. von Benutzern oder Anforderungen führen unterschiedliche Vorgänge aus (z. B. wenn sich ein Benutzer anmeldet, ein Benutzer die App oder den Weblink startet, ein Benutzer ein Produkt auswählt usw.) und wenn das System nicht mehr reagiert, wird eine entsprechende Fehlermeldung zu den Daten angezeigt (nicht gespeichert? - hängt von der Implementierung ab).
- Überprüfen Sie, ob die Antwortzeit für Benutzer oder Anforderungen an Haltepunkten in einem Akzeptanzwert liegt.
- Überprüfen Sie die Leistung der App oder Website, wenn das Netzwerk sehr langsam ist. Für die Zeitüberschreitung sollte eine ordnungsgemäße Fehlermeldung angezeigt werden.
- Überprüfen Sie alle oben genannten Testfälle für einen Server, auf dem mehr als eine Anwendung ausgeführt wird, um zu überprüfen, ob die andere Anwendung betroffen ist usw.
Stellen Sie vor dem Ausführen von Tests Folgendes sicher:
- Alle Funktionsfehler der zu testenden Anwendung werden behoben und überprüft.
- Das komplette End-to-End-System ist fertig und die Integration getestet.
- Es werden keine neuen Code-Check-Ins durchgeführt, die sich auf den Test auswirken.
- Andere Teams werden über Ihren Testplan informiert.
- Bei schwerwiegenden Problemen werden Sicherungssysteme erstellt.
5 Beste Stresstestsoftware
Wenn Stresstests manuell durchgeführt werden, ist dies ebenfalls eine sehr komplizierte und mühsame Aufgabe. Möglicherweise erhalten Sie auch nicht die erwarteten Ergebnisse.
Mit Automatisierungstools können Sie die erwarteten Ergebnisse erzielen, und es ist relativ einfach, mit ihnen den erforderlichen Prüfstand zu erstellen. Es kann vorkommen, dass die Tools, die Sie für Ihre normalen Funktionstests verwenden, für Stresstests nicht ausreichen.
Daher müssen Sie und Ihr Team entscheiden, ob sie ein separates Tool exklusiv für diese Tests wünschen. Für andere ist es auch von Vorteil, dass Sie die Suite nachts betreiben, damit ihre Arbeit nicht behindert wird. Mithilfe von Automatisierungstools können Sie festlegen, dass die Suite nachts ausgeführt wird, und die Ergebnisse stehen am nächsten Tag für Sie bereit.
Im Folgenden finden Sie eine Liste der am meisten empfohlenen Tools:
# 1) Load Runner:
LoadRunner ist ein von HP für Lasttests entwickeltes Tool, das jedoch auch für Stresstests verwendet werden kann.
Es verwendet VuGen, d. H. Virtual User Generator, zum Erstellen der Benutzer und Anforderungen für Last- und Stresstests. Dieses Tool verfügt über gute Analyseberichte, mit deren Hilfe die Ergebnisse in Form von Grafiken, Diagrammen usw. gezeichnet werden können.
# 2) Neoload:
Neoload ist ein kostenpflichtiges Tool, das beim Testen von Web- und mobilen Apps hilfreich ist.
Es kann mehr als 1000 Benutzer simulieren, um die Leistung des Systems zu überprüfen und die Antwortzeit des Servers zu ermitteln. Es lässt sich auch für Last- und Stresstests in die Cloud integrieren. Es bietet eine gute Skalierbarkeit und ist sehr einfach zu bedienen.
# 3) JMeter:
JMeter ist ein Open Source-Tool, das mit JDK 5 und höheren Versionen funktioniert. Der Schwerpunkt dieses Tools liegt hauptsächlich auf dem Testen von Webanwendungen. Es kann auch zum Testen von LDAP-, FTP-, JDBC-Datenbankverbindungen usw. verwendet werden.
# 4) Mühle:
Grinder ist ein Open Source- und Java-basiertes Tool, das für Last- und Stresstests verwendet wird.
Die Parametrierung kann dynamisch erfolgen, während die Tests ausgeführt werden. Es verfügt über gute Berichte und Aussagen, mit denen Sie die Ergebnisse besser analysieren können. Es verfügt über eine Konsole, die als IDE zum Erstellen und Bearbeiten der Tests und Agenten zum Erstellen der Last für Testzwecke verwendet werden kann.
# 5) WebLoad:
Webload Tool hat eine kostenlose sowie eine kostenpflichtige Edition. Diese kostenlose Edition ermöglicht die Erstellung von bis zu 50 Benutzern.
Dieses Tool unterstützt sowohl die Belastungsprüfung von Web- als auch von mobilen Apps. Es unterstützt verschiedene Protokolle wie HTTP, HTTPS, PUSH, AJAX, HTML5, SOAP usw. Es verfügt über eine IDE, eine Lastgenerierungskonsole, ein Analyse-Dashboard und Integrationen (zur Integration in Jenkins, APM-Tools usw.).
Fazit
Stresstests konzentrieren sich vollständig auf das Testen des Systems unter extremen Lastbedingungen, um seine Bruchstelle zu ermitteln und festzustellen, ob geeignete Meldungen angezeigt werden, wenn das System nicht reagiert. Es belastet den Speicher, den Prozessor usw. während des Tests und prüft, wie gut sie sich erholen.
Stresstests sind eine Art nichtfunktionaler Tests und werden normalerweise nach dem Funktionstest durchgeführt. Wenn auch Lasttests erforderlich sind, kann dieser Test als Extremfall von Lasttests durchgeführt werden. In 90% der Fälle kann dasselbe Automatisierungstool sowohl für Last- als auch für Stresstests verwendet werden.
Ich hoffe, Sie hätten einen großartigen Einblick in das Konzept des Stresstests erhalten !!
Literatur-Empfehlungen
- Lasttests mit HP LoadRunner-Tutorials
- Leistungstests vs Lasttests vs Stresstests (Unterschied)
- Load Testing Complete Guide für Anfänger
- Beste Software-Test-Tools 2021 [QA Test Automation Tools]
- Alpha-Tests und Beta-Tests (eine vollständige Anleitung)
- Leitfaden für Anfänger zum Testen der Penetration von Webanwendungen
- Testen der Auslastung, Belastung und Leistung von Webanwendungen mit WAPT
- Funktionstests gegen nichtfunktionale Tests