Was ist Ausdauertest beim Softwaretest? (mit Beispiel)
⚡ Intelligente Zusammenfassung
Bei einem Dauertest wird eine Anwendung über einen längeren Zeitraum unter normaler, erwarteter Last ausgeführt, um festzustellen, ob sich die Leistung im Laufe der Zeit verschlechtert. Dieser Test deckt Fehler auf, die bei einem einstündigen Lastlauf nicht erkennbar sind.

Was ist ein Dauertest?
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 Ausdauertests zu beachten ist
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.
Wie man Ausdauertests durchführt
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 – wie Speicherlecks, hohe Datenbankserverauslastung und Systemstillstand – treten beispielsweise auf, wenn Software über einen längeren Zeitraum läuft. Verzichtet man auf Dauertests, ist die Wahrscheinlichkeit, solche Fehler vor der Bereitstellung zu erkennen, sehr gering.
Werkzeuge für Dauertests
- WebLOAD
- LoadComplete
- Apache JMeter
- LoadRunner
- Fortschritt
- LoadUI
- OpenSTA
- Rational Performance Tester
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.
Wie dieser Test in die Familie der Leistungstests passt
Leistungsprüfung ist ein Oberbegriff. Die folgenden Varianten unterscheiden sich lediglich in der Form der aufgebrachten Last und der Dauer ihrer Einwirkung, weshalb sie so oft miteinander verwechselt werden.
| Testtyp | Lastmuster | Fragen, die es beantwortet |
|---|---|---|
| Lastprüfung | Erwartete Spitzenlast, kurze Dauer | Erreicht das System seine Zielvorgaben auch bei normalem Spitzenverkehr? |
| Belastbarkeitstest | Die Kapazität wurde bis zum Ausfall überschritten. | Wo geht es kaputt, und scheitert es auf würdevolle Weise? |
| Spike-Test | Plötzlicher extremer Anstieg, dann Rückzug | Übersteht es einen Verkehrsunfall und kann sich davon erholen? |
| Dauertest | Normale Last über viele Stunden gehalten | Verschlechtert sich die Leistung im Laufe der Zeit? |
| Soak-Test | Dauerhafte Belastung über einen längeren Zeitraum | Gibt es Speicherlecks oder Ressourcenerschöpfung? |
| Stabilitätstests | Unterschiedliche Belastung unter verschiedenen Bedingungen | Bleibt das System auch bei sich ändernden Bedingungen zuverlässig? |
| Volumentest | Normale Benutzer, sehr großes Datenvolumen | Kommt es auch mit wachsender Datenbank zurecht? |
Dauer- und Einweichtests werden häufig synonym verwendet. Im allgemeinen Sprachgebrauch bedeutet das: Beide Tests halten einer anhaltenden Last über einen längeren Zeitraum stand. Wo Teams zwischen ihnen unterscheiden, konzentriert sich der Ausdauertest darauf, ob die Antwortzeiten ansteigen, während der Dauertest den Ressourcenverbrauch wie Speicher, Dateihandles und Verbindungspools untersucht. Die Durchführung eines Tests liefert in der Regel die Ergebnisse für beide.
Wichtige Kennzahlen, die während des Tests erfasst werden sollten
Ein Performance-Test ist nur so gut wie die Daten, die Sie während der Ausführung aufzeichnen. Erfassen Sie diese sechs Werte sowohl serverseitig als auch clientseitig und vergleichen Sie sie mit den Referenzwerten, anstatt sich auf Ihr Bauchgefühl zu verlassen.
| Metrisch | Was es dir sagt | Warnschild |
|---|---|---|
| Durchschnittliche Reaktionszeit | Typische Benutzererfahrung | Jegliche Aufwärtsdrift über den Lauf |
| 95. Perzentil der Reaktionszeit | Die Erfahrungen der langsamsten Nutzer | Weit über dem Durchschnitt, was auf Unbeständigkeit hindeutet. |
| Durchsatz | Anfragen pro Sekunde verarbeitet | Fallen bei gleichbleibender Last |
| Fehlerrate | Anteil fehlgeschlagener oder abgelaufener Anfragen | Jeder Anstieg über den vereinbarten Schwellenwert hinaus |
| CPU- und Speicherauslastung | Serverressourcen-Spielraum | Eine Erinnerung, die aufsteigt und nie zurückkehrt |
| Datenbankverbindungen und Threads | Poolerschöpfung | Zählungen, die ohne Freisetzung stetig ansteigen |
Lesen Sie den Durchschnitt und das Perzentil zusammen. Ein Durchschnittswert von 800 ms mit einem 95. Perzentil von 900 ms beschreibt ein stabiles System. Derselbe Durchschnittswert mit einem 95. Perzentil von 9 Sekunden bedeutet hingegen, dass einer von zwanzig Nutzern Probleme hat und der Durchschnittswert dies verschleiert.
Achten Sie auf die Form, nicht nur auf den Wert. Bei jedem Langzeittest ist eine flache Ressourcenkurve ein positives Ergebnis und eine steigende Kurve ein Hinweis auf ein Leck, selbst wenn der absolute Wert zum Zeitpunkt des Testendes noch deutlich innerhalb des Grenzwerts liegt.
Ausdauertests: Wichtigste Erkenntnisse
- 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.

