soak testing tutorial what is soak testing
In diesem umfassenden Leitfaden zu Einweichprüfungen wird erläutert, was Einweichprüfungen sind, warum wir sie benötigen, ihre Anwendung, Vorteile, Best Practices und Nachteile:
Beim Testen einer Softwareanwendung müssen verschiedene Arten von Tests durchgeführt werden. Funktionale und nicht funktionale Tests sind die beiden großen Kategorien, in die wir die Testtypen einteilen können.
Funktionstests beziehen sich, wie der Name schon sagt, auf das Testen der Funktionalität der Anwendung. Nichtfunktionale Tests umfassen dagegen alle anderen Tests (Benutzerfreundlichkeit, Leistung usw.) außer Funktionstests.
Was du lernen wirst:
Soak Testing - Eine vollständige Anleitung
Dieses Tutorial führt Sie in die Konzepte des Soak-Tests ein, bei dem es sich um eine Art Leistungstest handelt.
Wie im obigen Bild zu sehen ist, können wir sagen, dass das Einweichen eine Art von nicht funktionalem Testen ist.
Was ist Tränktest?
Bei dieser Art von Leistungstests wird geprüft, ob eine zu testende Anwendung (Application Under Test, AUT) für einen festgelegten Zeitraum einer kontinuierlichen Belastung standhält. Dies ist eine nicht funktionierende Art der Prüfung. Es wird auch als bezeichnet ‘Ausdauertests’ oder ‘Langlebigkeitstests’ .
Wenn Sie den wörtlichen Namen verwenden, hat das Wort 'Einweichen' an sich die Bedeutung dessen, was diese Tests beabsichtigen. Daher geht es bei diesen Tests darum, eine Anwendung für einen bestimmten Zeitraum einer hohen Belastung auszusetzen.
Man mag sich fragen, was der Unterschied sein könnte, wenn eine Anwendung eine Stunde oder vielleicht 20 Stunden lang belastet wird. Aber ja, es hat Bedeutung.
Dies kann mit einem realen Szenario besser erklärt werden. Wenn ein Seil einige Zeit lang von zwei Personen an beiden Enden gezogen wird, kann es dem Druck nur widerstehen. Wenn es jedoch tagelang fortgesetzt wird, kann das Seil brechen, indem es dem Druck von beiden Enden nachgibt.
(Bild Quelle ))
So ist es auch mit der Software. Wenn wir eine Anwendung einer hohen Belastung aussetzen (einige hundert oder tausend Benutzer), funktioniert sie möglicherweise eine Stunde lang einwandfrei. Wenn dieselbe Anwendung jedoch 20 Stunden lang der Last ausgesetzt wird, kann sie insgesamt zusammenbrechen.
(Bild Quelle ))
Kontinuierlich starker Datenverkehr über einen langen Zeitraum kann zu unterschiedlichen Problemen in der Anwendung führen. Daher besteht die Notwendigkeit von Einweichprüfungen.
Bei diesen Tests besteht das Grundkonzept darin, die Anwendung mit erwarteten Benutzern zu laden, jedoch über einen längeren Zeitraum. Dies hilft bei der Identifizierung der verschiedenen zugrunde liegenden Probleme, die sonst unentdeckt bleiben würden, bis das tatsächliche Szenario in der Live-Anwendung auftritt.
Notwendigkeit zum Einweichen testen
Um die Notwendigkeit zu verstehen, müssen wir uns auch der möglichen Probleme bewusst sein, die eine Anwendung haben kann, wenn sie über einen längeren Zeitraum auf eine hohe Last stößt.
Lassen Sie uns die verschiedenen Gründe durchgehen, die das Einweichen von Tests erforderlich machen.
# 1) Es ist hauptsächlich erforderlich, Probleme wie falsche Speicherverwaltung, Probleme mit der Datenbankverbindung, Verkürzung der Antwortzeit der Anwendung usw. zu identifizieren.
Jedes dieser Probleme wurde im Folgenden erläutert:
- Eine falsche Speicherverwaltung kann zu Problemen führen, z. B. wenn ein Speicher zur Verwendung zugewiesen, aber nie freigegeben wird oder wenn Ressourcen mehr Speicher als erforderlich verwenden. Wenn solche Szenarien über einen langen Zeitraum andauern, kann dies dazu führen, dass dem System der Arbeitsspeicher ausgeht und eine Anwendung nicht mehr reagiert.
- Probleme mit der Datenbankverbindung - Fehler beim Schließen einer Datenbankverbindung können auf lange Sicht dazu führen, dass die Anwendung insgesamt abstürzt.
- Verschlechterung der Antwortzeit von Anwendungen - Manchmal kann eine Anwendung aus irgendeinem Grund weniger effizient sein und ihre Antwortzeit kann sich verlängern. Dies kann im Laufe der Zeit dazu führen, dass die Anwendung nicht mehr reagiert.
Um das Auftreten solcher Situationen zu vermeiden, würden wir es vorziehen, unsere Anwendung zu testen. Es hilft bei der Identifizierung solcher zugrunde liegenden Probleme, die andernfalls möglicherweise unentdeckt bleiben.
#zwei) Der Soak-Test hilft festzustellen, ob unsere Anwendung bereit ist, die Last für einen längeren Zeitraum aufzunehmen.
#3) Es ermöglicht dem Team, Korrekturmaßnahmen zu ergreifen, die darauf basieren, wie das System auf die Soak-Tests reagiert.
Wann soll mit dem Tränktest begonnen werden?
(Bild Quelle ))
Im Idealfall sollten diese Tests wie alle anderen Leistungstests während der Produktentwicklung zusammen mit Funktionstests durchgeführt werden. Dies wird jedoch selten gemacht. Der Grund liegt auf der Hand, d. H. Die Verwaltung der Projektkosten.
Daher liegt der Schwerpunkt hauptsächlich auf Funktionstests, und alle Formen von Leistungstests werden in der Regel in den Hintergrund gedrängt und kurz vor dem Veröffentlichungsdatum der Anwendung aufgenommen.
Im Allgemeinen werden Soak-Tests unmittelbar vor der Freigabe der Anwendung für den Client durchgeführt. Dies hat jedoch einen großen Nachteil, der sich auf die Behebung des Problems bezieht.
Wenn zu einem späteren Zeitpunkt ein Leistungsproblem festgestellt wird, kann es schwierig sein, es zu beheben, da dies zu einer wesentlichen Codeänderung führen kann, die angesichts des engen Liefertermins der Anwendung möglicherweise nicht möglich ist.
Daher ist es immer ratsam, diese Tests rechtzeitig durchzuführen, damit die identifizierten Probleme behoben werden können.
Teststrategie einweichen
Was ist die beste App zum Spionieren
(Bild Quelle ))
So wie eine Teststrategie zum Testen einer Anwendung vorbereitet wird, wird im Voraus eine Strategie zum Durchführen von Soak-Tests vorbereitet, und dies ist dringend erforderlich.
Werfen wir einen Blick darauf, was in die Vorbereitung der Tränkteststrategie einfließt.
Vor dem Start des Tränktests muss das Team die Last bestimmen, für die die Anwendung getränkt werden muss. Die Dauer, für die es getestet werden muss, muss ebenfalls vorbestimmt sein. In der Regel wird dies vom Entwicklungsteam bereitgestellt.
Das Testteam sollte entscheiden, welche Szenarien für den Einweich-Test geplant sind. Dies würde wiederum von der Verpflichtung des Kunden und den Anforderungen der zu testenden Anwendung abhängen.
Da sich die Soak-Tests hauptsächlich auf die Identifizierung von Speicher- und Ressourcenleckproblemen konzentrieren, ist es wichtig, den Speicher- und Datenbankverbrauch im Voraus anhand der verfügbaren zu kennen.
Die Umgebungsdetails wie das Betriebssystem, das Gerät usw., an denen Soak-Tests durchgeführt werden sollen, sollten ebenfalls festgelegt werden.
Last but not least sollten auch die damit verbundenen Risiken berücksichtigt werden. Für solche Situationen sollte immer ein Sicherungsplan erstellt werden. Wenn beispielsweise die Datenbank beim Testen abstürzt, welche anderen Alternativen stehen an ihrer Stelle zur Verfügung und so weiter.
Szenarien für Einweichprüfungen
Wenn eine E-Commerce-Website einen Online-Verkauf ihrer Produkte ankündigt, wird die Website natürlich während des Verkaufszeitraums geladen, der 3-5 Tage dauern kann. In einer solchen Situation sollte die Website auf Soak getestet werden, um unerwartete Abstürze zu vermeiden.
Während des Abschlusses eines Geschäftsjahres muss eine Bank-Website möglicherweise über einen ununterbrochenen Zeitraum einer sehr hohen Belastung ausgesetzt sein. In einer solchen Situation muss die Website auf Soak getestet worden sein, um einen unerwarteten Absturz der Webanwendung zu vermeiden.
Wenn eine Anwendung so ausgelegt ist, dass sie eine vorbestimmte Last für einen kontinuierlichen vorbestimmten Zeitraum handhabt, muss die Anwendung auf eine Last getestet werden, die mindestens das Zweifache ihrer bekannten Belastbarkeit beträgt.
Beispielsweise, Wenn bekannt ist, dass eine Website über einen ununterbrochenen Zeitraum von 15 Stunden eine Last von 500 Benutzern verarbeitet, sollte die Anwendung auch 15 Stunden lang für 1000 Benutzer Soak-getestet werden. Dies würde uns helfen zu wissen, ob die Anwendung abnormal reagiert, wenn sie zur doppelten Ladekapazität gezwungen wird.
Empfohlene Vorgehensweise
(Bild Quelle ))
- Das Einweichen sollte immer durchgeführt werden, indem das Leerlauflastlimit der Anwendung sowohl hinsichtlich der Benutzer als auch der Zeitdauer bekannt ist. Dies muss bekannt sein, da das Ziel darin besteht, die Anwendung mit den erwarteten Benutzern zu laden, jedoch für eine lange Dauer.
- Es ist ratsam, nachts Soak-Tests durchzuführen, oder wenn Tests mit noch längerer Dauer durchgeführt werden sollen, ist es ratsam, dies an Wochenenden durchzuführen. Der Grund liegt auf der Hand, d. H. Während der Arbeitszeit werden Ressourcen gebunden, während nachts oder außerhalb der Arbeitszeit die Testserver möglicherweise für lange Zeiträume zur Verfügung stehen. Daher ist die arbeitsfreie Zeit der ideale Zeitpunkt für solche Tests.
- Die Risiken, die mit dem Soak-Test einer Anwendung verbunden sind, sollten immer analysiert werden, und ein Schadensbegrenzungsplan sollte für jeden Vorfall bereit sein.
Testbeschränkungen einweichen
(Bild Quelle ))
- Die zum Testen einer Anwendung erforderliche lange Dauer ist eine große Einschränkung im Allgemeinen aufgrund der Nichtverfügbarkeit der Zeit. Daher können Einweichprüfungen aufgrund von Zeitmangel manchmal vermieden werden.
- Die Testumgebung muss sorgfältig ausgewählt werden, damit andere Arten von Tests, die in der Anwendung durchgeführt werden, nicht beeinträchtigt werden. Dies kann vorkommen, da das Testen der Anwendung auf hohe Last über einen längeren Zeitraum zu Problemen führen kann.
- Die Zeit für die Soak-Tests muss sorgfältig festgelegt werden und sollte hauptsächlich außerhalb der Arbeitszeit liegen (z. B. am Wochenende oder in der Nacht nach Arbeitsschluss).
- Im Allgemeinen sind Automatisierungstools für Soak-Tests erforderlich, da die Tests für lange Zeiträume mit einer großen Anzahl von Benutzern ausgeführt werden müssen.
Nachteile der Einweichprüfung
- Die Projektlaufzeiten können durch Einweichen-Tests beeinträchtigt werden, da die dafür erforderliche Zeit im Allgemeinen hoch ist.
- Ressourcen werden für die Testdauer gebunden, da aufgrund der großen Anzahl von Benutzern, die auf die Anwendung zugreifen, eine hohe Speicherauslastung besteht.
Fazit
In diesem Tutorial haben wir gelernt, was Soak-Tests sind und was es erforderlich macht, diese Tests durchzuführen.
Mit diesem Verständnis dessen, was Soak Testing ist und welche Probleme es bei der Identifizierung hilft, können wir die Notwendigkeit, dasselbe durchzuführen, sehr gut verstehen. Besonders in Zeiten, in denen die ganze Welt immer miteinander verbunden ist, wird dieses Testen zu einem Muss.
Wir haben gesehen, wann wir mit dem Einweichen des Tests beginnen sollten, zusammen mit dem Ansatz, der befolgt werden sollte. Hier wurden auch Szenarien, Best Practices und die damit verbundenen Einschränkungen erörtert.
Wir hoffen, dass dieses Tutorial Ihnen geholfen hat, zu verstehen, was Soak-Tests sind, und dass Sie Ihr Wissen darüber erweitert haben müssen.
Literatur-Empfehlungen
- Lasttests mit HP LoadRunner-Tutorials
- Tutorial für zerstörende Tests und zerstörungsfreie Tests
- Testen von Primer eBook Download
- Korrelation - Lasttest mit LoadRunner
- Funktionstests gegen nichtfunktionale Tests
- Unterschied zwischen Desktop-, Client Server-Tests und Web-Tests
- Lasttests mit LoadUI - Ein kostenloses und Open Source-Lasttest-Tool
- SOA-Test-Tutorial: Testmethode für ein SOA-Architekturmodell