Einweichen testen
Soak Testing ist eine Art von nicht funktionsfähigem Test, mit dem die Leistung einer Softwareanwendung über einen längeren Zeitraum unter einem großen Lastvolumen gemessen wird. Ziel der Soak-Tests ist es, sicherzustellen, dass die Softwareanwendung ein hohes Nutzungsvolumen aufweist, und zu überprüfen, was außerhalb ihrer Designerwartungen passieren würde.
Das folgende Bild zeigt einen Testzyklus, der zeigt, in welchem Stadium der Tränktest ( Typ des Leistungstests ) für eine Anwendung durchgeführt wird.
Bei dieser Art von Tests wird im Wesentlichen die Speichernutzung durch eine Anwendung in einem System überwacht. Es wird auf Systemebene getestet, um festzustellen, ob das System einem sehr hohen Nutzungsvolumen standhält, und um festzustellen, was außerhalb seiner Entwurfserwartungen passieren würde.
In diesem Tutorial lernen Sie:
- Warum Einweichen testen?
- Wann sollte ein Tränktest durchgeführt werden?
- Teststrategie einweichen
- Eigenschaften der Einweichprüfung
- BEISPIELE für Einweichprüfungen
- Häufige Probleme beim Einweichen
Warum Einweichen testen?
Ein System kann sich normal verhalten, wenn es 2 Stunden lang verwendet wird. Wenn dasselbe System jedoch 10 Stunden oder länger ununterbrochen verwendet wird, kann es ausfallen oder sich abnormal / zufällig / abstürzen. Um einen solchen Fehler vorherzusagen, wird ein Tränktest durchgeführt.
Wann sollte ein Tränktest durchgeführt werden?
Das Einweichen sollte in den folgenden Szenarien durchgeführt werden: -
- Bevor das Build auf dem Client bereitgestellt wird, dh bevor eine Anwendung auf einer bestimmten Plattform veröffentlicht wird, muss es eine erfolgreiche Reihe von Auslastungstests bei hohem oder gleichwertigem Datenverkehr durchlaufen. Danach wird ein Tränktest durchgeführt . Es hilft uns zu bestimmen, wie eine bestimmte Anwendung über einen längeren Zeitraum ausgeführt werden soll. Wenn während des Zeitraums, z. B. während des Einweichens, Probleme wie Speicherlecks / Speicherbeschädigungen festgestellt werden, sollte dies sofort gemeldet werden.
- Die beste Zeit für einen Tränktest ist über die Wochenenden, da eine Anwendung über einen Tag oder eine Nacht in einem laufenden Zustand sein muss. Es hängt völlig von den Einschränkungen der Testsituation ab. Einweichprüfungen sind eine der wichtigsten Compliance-Anforderungen, die von jedem Unternehmen sehr genau befolgt werden müssen.
Teststrategie einweichen
Long Session Soak Testing ist eine Strategie, bei der ein System längere Zeit unter Last steht.
Ein einfaches Beispiel ist, dass 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. Der System- / Datenbankserver kann stark belastet werden, was zum Abwürgen / Absturz des System- / Datenbankservers führen kann.
Beim Einweichen von langen Sitzungen werden mehrtägige Aktivitäten (z. B. 30 Tage) in einem begrenzten Zeitrahmen (z. B. 2 Tage) durchgeführt. Die Anzahl der Transaktionen in diesem eingeschränkten Zeitrahmen sollte den Transaktionen von mehreren Tagen entsprechen oder diese übertreffen. Der Schwerpunkt 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 Menge des verwendeten Speichers zu überprüfen. Wir müssen die Speichernutzung zu Beginn und am Ende eines Tränktests aufzeichnen. Bei Bedarf ist auch die Speichernutzung von Einrichtungen wie Java Virtual Machines wichtig und muss überwacht werden.
Im Folgenden finden Sie einige weitere Überprüfungen, die von jedem Benutzer / Tester durchgeführt werden müssen, bevor er mit dem Einweichen von Tests beginnt:
a) Überwachen Sie den Ressourcenverbrauch der Datenbank.
b) Überwachen Sie den Serverressourcenverbrauch (ohne CPU-Auslastung).
c) Der Soak-Test sollte mit realistischer Benutzer-Parallelität ausgeführt werden.
Eigenschaften der Einweichprüfung
Eine Standard-Einweichprüfmethode sollte die folgenden Eigenschaften aufweisen: -
- Die Dauer der meisten Einweichprüfungen wird häufig durch die verfügbare Zeit bestimmt.
- Jede Anwendung muss ohne Unterbrechung ausgeführt werden, wenn sie einen längeren Zeitraum benötigt.
- Es sollte alle von den Stakeholdern vereinbarten Szenarien abdecken.
- Meistens hat jedes System eine regelmäßige Wartungsfensterzeit, und die Zeit zwischen diesen Fensterperioden ist ein Schlüsseltreiber für die Bestimmung des Umfangs eines Einweich-Tests.
BEISPIELE für Einweichprüfungen
- Im Fall einer Bankdomäne, in der eine große Datenmenge von Händlern vorhanden ist, wird der Tester das System 70 bis 150 Stunden lang kontinuierlich unter Last setzen, um zu überprüfen, wie sich die Anwendung während dieser Ladezeit verhält.
- Angenommen, es gibt 33.000 Anmeldungen, die über das System gesendet werden müssen. Dies entspricht siebeneinhalb Aktivitätstagen. In diesem Fall kann bis Freitagabend gegen 18 Uhr ein 60-70-stündiger Einweich-Test gestartet werden, der bis Montagmorgen um 6 Uhr abgeschlossen sein kann. Nur mit einem solchen Test kann eine Leistungsverschlechterung unter den kontrollierten Bedingungen beobachtet werden.
- Bei Videospielen müssen mobile Anwendungen usw. das Spiel oder die Anwendung über einen längeren Zeitraum in verschiedenen Betriebsmodi laufen lassen, z. B. im Leerlauf, auf dem Titelbildschirm angehalten usw., um herauszufinden, ob Eine Anwendung kann die kontinuierlich erwartete Last bewältigen.
Häufige Probleme beim Einweichen
- Speicherzuweisung (Speicherlecks, die schließlich zu einer Speicherkrise oder Rundungsfehlern führen würden, die sich nur im Laufe der Zeit manifestieren).
- Datenbankressourcennutzung (Fehler beim Schließen von Datenbankcursorn unter bestimmten Bedingungen, die schließlich zum Stillstand des gesamten Systems führen würden).
- Dies kann auch zu Leistungseinbußen führen, dh um sicherzustellen, dass die Reaktionszeit nach einer langen Zeit anhaltender Aktivität so gut ist wie zu Beginn des Tests.
- Unter bestimmten Umständen können Verbindungen zwischen Ebenen eines mehrstufigen Systems nicht geschlossen werden, wodurch einige oder alle Module des Systems blockiert werden können.
- Die allmähliche Verschlechterung der Reaktionszeit einiger Funktionen als interne Datenstrukturen wird während eines langen Tests weniger effizient.
Zusammenfassung
- In der Softwareentwicklung werden Soak-Tests durchgeführt, um festzustellen, ob die zu testende Anwendung die kontinuierliche Belastung aushalten kann.
- Es ist eine Art Leistungstest.
- Es hilft dem System zu bestimmen, ob es einem sehr hohen Nutzungsvolumen standhält
- Bei dieser Art von Tests wird im Wesentlichen die Speichernutzung durch eine Anwendung in einem System überwacht
- Zu den Überprüfungen, die von einem Benutzer / Tester durchgeführt werden müssen, bevor sie mit dem Einweichen beginnen, gehören:
- Überwachen Sie den Ressourcenverbrauch der Datenbank.
- Überwachen Sie den Serverressourcenverbrauch (ohne CPU-Auslastung).
- Der Soak-Test sollte mit realistischer Benutzer-Parallelität ausgeführt werden.
Dieser Artikel wurde von Pallavi De verfasst