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.

