Was ist Ausdauertest beim Softwaretest? (mit Beispiel)

Ausdauertests

Ausdauertests ist eine nicht funktionale Art des Softwaretests, bei dem eine Software über einen längeren Zeitraum hinweg unter hoher Last getestet wird, um das Verhalten der Softwareanwendung bei dauerhafter Nutzung zu bewerten. Der Hauptzweck von Dauertests besteht darin, sicherzustellen, dass die Anwendung in der Lage ist, längere Lasten ohne Verschlechterung der Reaktionszeit zu bewältigen.

Diese Art von Tests wird in der letzten Phase des Leistungslaufzyklus durchgeführt. Dauertests sind ein langwieriger Prozess und dauern manchmal sogar bis zu einem Jahr. Dies kann die Anwendung externer Lasten wie Internetverkehr oder Benutzeraktionen umfassen. Dadurch unterscheiden sich Dauertests Load Testing, das normalerweise nach ein paar Stunden endet.

Ausdauer bedeutet Kapazität, daher können Sie Ausdauertests mit anderen Worten als Kapazitätstests bezeichnen.

Ziele des Dauertests

  • Das Hauptziel von Dauertests besteht darin, nach Speicherlecks zu suchen.
  • Um herauszufinden, wie sich das System bei dauerhafter Nutzung verhält.
  • Um sicherzustellen, dass die Systemreaktionszeit nach einem längeren Zeitraum gleich oder besser als zu Beginn des Tests bleibt.
  • Um die Anzahl der Benutzer und/oder Transaktionen zu bestimmen, die ein bestimmtes System unterstützt und Leistungsziele erreicht.
  • Um die zukünftige Belastung zu bewältigen, müssen wir verstehen, wie viele zusätzliche Ressourcen (wie Prozessorkapazität, Festplattenkapazität, Speichernutzung oder Netzwerkbandbreite) erforderlich sind, um die zukünftige Nutzung zu unterstützen.
  • Dauertests werden im Allgemeinen entweder durch Überlastung des Systems oder durch Reduzierung bestimmter Systemressourcen und Bewertung der Folgen durchgeführt.
  • Dies wird durchgeführt, um sicherzustellen, dass es nach einer relativ „normalen“ Nutzungsdauer nicht zu Defekten oder Speicherlecks kommt.

Was bei Dauertests zu überwachen ist

Ausdauertests

Im Dauerlauftest werden folgende Dinge geprüft:
  • Testen Sie den Speicherverlust– Es werden Prüfungen durchgeführt, um zu überprüfen, ob in der Anwendung ein Speicherverlust vorliegt, der zum Absturz des Systems oder Betriebssystems führen kann
  • Testen Sie den Verbindungsabschluss zwischen den Schichten des Systems – Wenn die Verbindung zwischen den Schichten des Systems nicht erfolgreich geschlossen wird, kann es sein, dass einige oder alle Module des Systems blockiert werden.
  • Testen Sie, dass die Datenbankverbindung erfolgreich geschlossen wurde– Wenn die Datenbankverbindung nicht erfolgreich geschlossen wird, kann dies zu einem Systemabsturz führen
  • Reaktionszeit testen – Das System wird auf die Reaktionszeit des Systems getestet, da die Anwendung aufgrund der längeren Nutzung des Systems weniger effizient wird.

So führen Sie Ausdauertests durch

Nachfolgend finden Sie den grundlegenden Testansatz für den Ausdauertest
  • Testumgebung – Identifizieren Sie die für den Dauertest erforderliche Hardware, Software und das Betriebssystem, weisen Sie Rollen und Verantwortlichkeiten innerhalb des Teams zu usw. Die Umgebung sollte vor der Testausführung bereit sein. Sie müssen auch die gängige Produktionsgröße der Datenbank und das jährliche Wachstum abschätzen. Dies ist erforderlich, da Sie testen müssen, wie Ihre Anwendung nach einem, zwei oder fünf Jahren reagiert.
  • Erstellen des Testplans, Szenarien – Basierend auf der Art des Tests – manuell oder automatisiert oder eine Kombination aus beidem, Testfall Design, Überprüfungen und Ausführung sollten geplant werden. Tests zur Belastung des Systems, Bruchpunkttests usw. sollten ebenfalls Teil des Testplans sein. Tests zur Belastung des Systems bestimmen den Bruchpunkt in der Anwendung.
  • Testschätzung – Geben Sie eine Schätzung an, wie lange es dauern wird, bis die Testphase abgeschlossen ist. Die Analyse sollte auf der Grundlage der Anzahl der beteiligten Tester und der Anzahl der erforderlichen Testzyklen erfolgen.
  • Risikoanalyse - Analysieren Sie das Risiko und ergreifen Sie geeignete Maßnahmen zur Prävention. Priorisieren Sie Testfälle gemäß dem Risikofaktor und identifizieren Sie die unten aufgeführten Risiken und Probleme, die der Tester während des Dauertests in Phasen einteilen kann.
  • Wird die Leistung im Laufe der Zeit konstant bleiben?
  • Gibt es weitere kleinere Probleme, die noch nicht erkannt wurden?
  • Gibt es externe Störungen, die nicht behoben wurden?
  • Test Plan - Bestimmen Sie das Budget und die zu erbringenden Leistungen innerhalb des Zeitrahmens. Als Ausdauertests Übt über einen kontinuierlichen Zeitraum hinweg eine enorme, aber natürliche Lastanordnung von Transaktionen auf das System/die Anwendung aus.

Beispiel für einen Ausdauertest

Während Belastbarkeitstest bringt das getestete System an seine Grenzen, Dauertest bringt die Anwendung an ihre Grenzen Zeit. Die komplexesten Probleme – Speicherlecks, Datenbankserverauslastung und nicht reagierende Systeme – treten beispielsweise auf, wenn Software über einen längeren Zeitraum ausgeführt wird. Wenn Sie die Dauertests überspringen, ist Ihre Chance, solche Defekte vor der Bereitstellung zu erkennen, ziemlich gering.

Werkzeuge für Dauertests

Vorteile von Dauertests

  • Es hilft bei der Bestimmung, wie die Arbeitslast das System unter Last bewältigen kann.
  • Stellt genaue Daten bereit, die Kunden zur Validierung oder Verbesserung ihrer Infrastrukturanforderungen verwenden können.
  • Identifiziert Leistungsprobleme, die auftreten können, nachdem ein System über einen längeren Zeitraum auf hohem Niveau ausgeführt wurde
  • Typische Probleme werden in kleineren gezielten Leistungstests identifiziert, wodurch sichergestellt wird, dass die Anwendung auch bei großer Auslastung in sehr kurzer Zeit verfügbar bleibt.
  • Der Dauertest dient auch dazu, zu überprüfen, ob es nach längerer Ausführung zu Leistungseinbußen kommt

Nachteile von Dauertests

  • Es ist oft schwer zu definieren, wie viel Stress es wert ist, angewendet zu werden.
  • Dauertests können zu Anwendungs- und/oder Netzwerkfehlern führen, die zu erheblichen Störungen führen können Test Umgebung sind nicht isoliert.
  • Durch Überlastung des Systems kann es zu dauerhaftem Datenverlust oder Datenbeschädigung kommen.
  • Die Ressourcenauslastung bleibt nach Beseitigung der Belastung sehr hoch.
  • Einige Anwendungskomponenten reagieren nicht.
  • Nicht behandelte Ausnahmen werden vom Endbenutzer beobachtet.

Zusammenfassung

  • In Software Engineering, Ausdauertests sind eine Teilmenge der Belastungstests.
  • Dauertests sind ein langwieriger Prozess und dauern manchmal sogar bis zu einem Jahr
  • Zur Verifizierung werden Kontrollen durchgeführt
  • Testen Sie den Speicherverlust
  • Reaktionszeit testen
  • Testen Sie die Datenbankverbindung usw.