Was ist ein Einweichtest? Definition, Bedeutung, Beispiele

Einweichtest

Einweichtest ist eine Art nichtfunktionaler Test, der verwendet wird, um die Leistung einer Softwareanwendung unter großer Last über einen längeren Zeitraum zu messen. Das Ziel des Soak-Tests besteht darin, sicherzustellen, dass die Softwareanwendung einem hohen Nutzungsvolumen standhält, und zu überprüfen, was außerhalb ihrer Designerwartungen passieren würde.

Das Bild unten zeigt einen Testzyklus, der zeigt, in welcher Phase der Einweichtest durchgeführt wird (Art des Leistungstests) wird für eine Anwendung ausgeführt.

Einweichtest

Bei dieser Art von Tests wird grundsätzlich die Speichernutzung durch eine Anwendung in einem System überwacht. Es wird auf Systemebene getestet, um herauszufinden, ob das System einem sehr hohen Nutzungsvolumen standhält und um zu sehen, was außerhalb seiner Designerwartungen passieren würde.

Warum Soak-Tests durchführen?

Ein System verhält sich möglicherweise normal, wenn es 2 Stunden lang verwendet wird. Wenn dasselbe System jedoch 10 Stunden oder länger kontinuierlich verwendet wird, kann es zu Ausfällen oder abnormalem/zufälligem Verhalten kommen bzw. abstürzen. Um solche Ausfälle vorherzusagen, wird ein Soak-Test durchgeführt.

Wann sollte ein Einweichtest durchgeführt werden?

Einweichtests sollten in den folgenden Szenarien durchgeführt werden: –

  1. Bevor die Software auf dem Client bereitgestellt wird, d. h. bevor eine Anwendung auf einer bestimmten Plattform veröffentlicht wird, muss sie eine Reihe erfolgreicher Belastungstests bei hohem oder gleichwertigem Datenverkehr durchlaufen. Danach Es wird ein Einweichtest durchgeführt. Es hilft uns zu bestimmen, wie eine bestimmte Anwendung über einen längeren Zeitraum ausgeführt werden soll. Wenn Probleme wie Speicherlecks/Speicherbeschädigung während des Soak-Zeitraums festgestellt werden, sollte dies sofort gemeldet werden.
  2. Der beste Zeitpunkt für einen Einweichtest ist an den Wochenenden, da eine Anwendung über einen Tag oder eine Nacht lang laufen muss. Es hängt völlig von den Einschränkungen der Testsituation ab. Einweichtests gehören zu den wichtigsten Compliance-Anforderungen und müssen von jedem Unternehmen strikt eingehalten werden.

Soak-Teststrategie

Long Session Soak Testing ist eine Strategie, bei der ein System über einen längeren Zeitraum unter Last steht.

Ein einfaches Beispiel ist, wenn der Benutzer viele Stunden lang in einem System angemeldet bleibt und eine Reihe von Geschäftstransaktionen ausführt. Auf diese Weise werden viele Daten erstellt. Das System/der Datenbankserver kann stark belastet werden, was zu einem Stillstand/Absturz des Systems/Datenbankservers führen kann.

Beim Long Session Soak Testing werden Aktivitäten über mehrere Tage (z. B. 30 Tage) in einem begrenzten Zeitrahmen (z. B. 2 Tage) durchgeführt. Die Anzahl der Transaktionen in diesem begrenzten Zeitrahmen sollte dem Transaktionswert von mehreren Tagen entsprechen oder diesen übersteigen. Der Fokus sollte auf der Anzahl der verarbeiteten Transaktionen liegen. Der wichtigste Teil des Soak-Tests besteht darin, den verfügbaren Speicher in der CPU und die Speichermenge zu überprüfen, die verwendet wird. Wir müssen die Speichernutzung zu Beginn und am Ende eines Einweichtests aufzeichnen. Bei Bedarf kann dann die Speichernutzung von Einrichtungen wie z Java Virtuelle Maschinen sind ebenfalls wichtig und müssen überwacht werden.

Im Folgenden finden Sie einige weitere Prüfungen, die jeder Benutzer/Tester durchführen muss, bevor er mit dem Einweichtest beginnt:

a) Überwachen Sie den Ressourcenverbrauch der Datenbank.

b) Überwachen Sie den Ressourcenverbrauch des Servers (z. B. CPU-Auslastung).

c) Der Soak-Test sollte mit realistischer Benutzer-Parallelität laufen.

Merkmale des Einweichtests

Eine standardmäßige Einweichtestmethode sollte die folgenden Merkmale aufweisen: –

  • Die Dauer der meisten Einweichtests wird oft durch die verfügbare Zeit bestimmt.
  • Jede Anwendung muss ohne Unterbrechung laufen, wenn sie einen längeren Zeitraum erfordert.
  • Es sollte alle von den Stakeholdern vereinbarten Szenarien abdecken.
  • Fast jedes System verfügt über einen regelmäßigen Wartungsfensterzeitraum und die Zeit zwischen diesen Fensterperioden ist ein wichtiger Faktor für die Bestimmung des Umfangs eines Soak-Tests.

BEISPIELE für Einweichtests

  • Im Falle einer Banking-Domain, bei der große Datenmengen von Händlern vorliegen, setzt der Tester das System 70 bis 150 Stunden lang kontinuierlich unter Last, um zu überprüfen, wie sich die Anwendung während dieser Ladezeit verhält.
  • Angenommen, es gibt 33,000 Anmeldungen, die durch das System geleitet werden müssen, das entspricht siebeneinhalb Tagen Aktivität. In diesem Fall kann ein 60- bis 70-stündiger Soak-Test bis Freitagabend gegen 6 Uhr gestartet werden, der abgeschlossen werden kann durch Monday Morgen um 6 Uhr. Nur mit einem solchen Test ist es möglich, unter den kontrollierten Bedingungen einen Leistungsabfall zu beobachten.
  • Im Fall von Videospielen Mobil Anwendungen usw. beinhalten das Belassen des Spiels oder der Anwendung über einen längeren Zeitraum in einem laufenden Zustand, in verschiedenen Betriebsmodi – wie etwa im Leerlauf, beim Titelbildschirm angehalten usw. – um herauszufinden, ob eine Anwendung die dauerhaft erwartete Belastung bewältigen kann.

Häufige Probleme, die beim Einweichtest beobachtet werden

  1. Speicherzuweisung (Speicherlecks, die schließlich zu einer Speicherkrise oder Rundungsfehlern führen würden, die sich erst im Laufe der Zeit manifestieren).
  2. Auslastung der Datenbankressourcen (Fehler beim Schließen der Datenbankcursor unter bestimmten Bedingungen, was schließlich zum Stillstand des gesamten Systems führen würde).
  3. Dies kann auch zu Leistungseinbußen führen, d. h. dazu, dass die Reaktionszeit nach einem längeren Zeitraum anhaltender Aktivität genauso gut ist wie zu Beginn des Tests.
  4. Unter bestimmten Umständen können Verbindungen zwischen Ebenen eines mehrschichtigen Systems nicht geschlossen werden, wodurch einige oder alle Module des Systems zum Stillstand kommen könnten.
  5. Die allmähliche Verschlechterung der Reaktionszeit einiger Funktionen, da interne Datenstrukturen während eines langen Tests weniger effizient werden.

Zusammenfassung

  • In Software Engineering, Einweichtests werden durchgeführt, um festzustellen, ob die zu testende Anwendung der Dauerbelastung standhalten kann.
  • Es handelt sich um eine Art Leistungstest.
  • Dadurch kann das System feststellen, ob es einem sehr hohen Nutzungsvolumen standhält
  • Bei dieser Art von Tests wird grundsätzlich die Speichernutzung durch eine Anwendung in einem System überwacht
  • Zu den Prüfungen, die von jedem Benutzer/Tester durchgeführt werden müssen, bevor er mit dem Einweichtest beginnt, gehören:
  • Überwachen Sie den Ressourcenverbrauch der Datenbank.
  • Überwachen Sie den Ressourcenverbrauch des Servers (z. B. CPU-Auslastung).
  • Der Soak-Test sollte mit realistischer Benutzergleichzeitigkeit ausgeführt werden.