Stabilitätstests im Softwaretest
⚡ Intelligente Zusammenfassung
Stabilitätstests prüfen, ob eine Anwendung auch unter veränderten Bedingungen zuverlässig funktioniert und nicht nur unter einer festen Last. Sie decken Abstürze, Ressourcenengpässe und Leistungseinbußen auf, die bei einem kurzen Funktionstest nicht auftreten.
Was ist ein Stabilitätstest?
Stabilitätsprüfung ist eine Art nichtfunktionaler Softwaretest, der durchgeführt wird, um die Effizienz und die Fähigkeit einer Softwareanwendung zu messen, über einen langen Zeitraum kontinuierlich zu funktionieren. Der Zweck des Stabilitätstests besteht darin, zu überprüfen, ob die Softwareanwendung zu irgendeinem Zeitpunkt abstürzt oder bei normaler Nutzung ausfällt, wenn sie ihren vollen Nutzungsumfang ausübt.
Stabilitätstests werden durchgeführt, um die Effizienz eines entwickelten Produkts über die normale Betriebskapazität hinaus zu prüfen, häufig bis zu einem Bruchpunkt. Dabei kommt der Fehlerbehandlung, der Softwarezuverlässigkeit, der Robustheit und der Skalierbarkeit eines Produkts unter hoher Belastung eine größere Bedeutung zu als der Prüfung des Systemverhaltens unter normalen Umständen.
Stabilitätstests bewerten Stabilitätsprobleme. Diese Tests dienen in erster Linie dazu, die Softwarekomponente maximal zu belasten. Es handelt sich um eine nicht-funktionale Technik.

Die Stabilitätsprüfung wird auch als Belastungs- oder Belastungsprüfung bezeichnet Ausdauertest.
Risiken, wenn das zu testende System keinem Stabilitätstest unterzogen wurde
Bei einer zu testenden Anwendung, bei der eine große Anzahl von Benutzern eingeführt wird und Anwendungen monatelang ohne Neustart ausgeführt werden müssen, ist es wahrscheinlich, dass eine Reihe von Problemen auftreten:
Dem möglichen Fehler kann begegnet werden,
- das System wird langsamer
- Das System stößt auf Funktionsprobleme
- Das System zeigt verkabeltes Verhalten
- das System stürzt komplett ab
Im Software-Engineering, Stabilitätsprüfung In der Regel wird das System mit intensiven Benutzern (virtuell) getestet und die Leistungsparameter gemessen, um zu überprüfen, ob das System die erwartete Belastung bewältigen kann.
Warum Stabilitätstests durchführen?
Diese Art von Tests hilft Benutzern zu verstehen, wie das System in realen Situationen funktioniert.
Daher können Sie mit Stabilitätstests überprüfen,
- Schenken Sie Vertrauen in die Stabilität Ihres zu testenden Systems.
- Stellen Sie sicher, dass Ihr System mit großen Programmen umgehen kann.
- Überwachen Sie die Wirksamkeit Ihres Systems.
- Testen Sie die Systemstabilität unter Stress.
Es spielt eine wichtige Rolle in der Produktentwicklung, da es verwendet wird, um die Einschränkungen eines zu testenden Softwareprodukts vor seiner Veröffentlichung oder die Bereiche mit weiteren Verbesserungen zu ermitteln, bevor das Produkt in Betrieb geht oder in Produktion geht.
Ein sehr häufiges Beispiel für eine Stabilitätstesttechnik ist
Online SHopfenping Portals: Stabilitätstests prüfen, wie sich die Website verhält, wenn –
- Hohe Datenmenge, die zu Spitzenzeiten eingegeben wird
- Anzahl der Treffer zu einem bestimmten Zeitpunkt
- Gleichzeitig Problem beim Laden der Seite
- Verhalten des Systems
- Die Reaktionsfähigkeit des Systems und vieles mehr fallen darunter Stabilitätsprüfung
Ein weiteres Beispiel
A CPU Der Test ist eine beliebte Form des Stabilitätstests Performance Testing Technik. Dieser Test prüft die Prozessorstabilität und überwacht auch seine Leistung, wenn die Arbeitslast des Prozessors steigt.
So führen Sie Stabilitätstests durch
- Um den Umfang und das Ziel des Tests zu bestimmen, müssen wir sicherstellen, dass der/die Anwendungsserver während der Ausführung des Lasttests nicht abstürzen.
- Um die geschäftlichen Probleme zu ermitteln, überprüfen Sie die Systemleistung und -auslastung aus Sicht des Endbenutzers.
- Um die verschiedenen Verantwortlichkeiten und Rollen zuzuweisen, z. B. Testplan erstellen, Testfall Design, Testfallüberprüfung, Testausführung usw.
- Um sicherzustellen, dass die Testergebnisse innerhalb der angegebenen Zeit geliefert werden
- Um sicherzustellen, richtig Load Testing Das Werkzeug- und Erfahrungsteam ist dafür anwesend.
- Um das Risiko und die Kosten zu messen, sind Tests erforderlich. Dadurch werden die Kosten jeder Ausführung in Bezug auf CPU-Auslastung und Speicher bestimmt.
- Bestimmen Sie die Defekt tracKönig und Berichterstattung und ihre richtige Karteping mit den Anforderungen.
Testfall für Stabilitätstests für die CPU-Leistung
- Zur Überprüfung der Obergrenze des Systems.
- Wie das System abstürzt oder wiederhergestellt wird.
- Die Gesamtzahl der pro Anfrage abgeschlossenen Transaktionen.
- Ob die Transaktionsreaktion stabil bleibt oder im Laufe der Zeit zunimmt.
- Wie sich das System unter hoher Last verhält.
- Seine Reaktion und sein Verhalten unter hoher Belastung.
Prüfberichte zur Stabilitätsprüfung
Während der Testausführung werden verschiedene Statistiken gesammelt und gemessen; diese Zahlen werden analysiert, um einen Bericht zu erstellen und mögliche Leistungsprobleme zu identifizieren.
Beispiele für im Test erfasste Statistiken sind:
- Reaktionszeiten bei Transaktionen: Die durchschnittliche Zeit, die für die Durchführung von Transaktionen während des Tests benötigt wird. Diese Statistik bewertet, ob die Leistung des Servers innerhalb der akzeptablen minimalen und maximalen Transaktionsleistungszeiträume liegt, die für das System definiert sind. Diese Informationen bewerten die Zeit, die für die Verarbeitung der Anfrage durch den Webserver benötigt und an den Anwendungsserver gesendet wird, der in In den meisten Fällen wird eine Anfrage an einen Datenbankserver gestellt.
- Treffer pro Sekunde: Die Anzahl der Zugriffe auf den Server durch Benutzer. Mithilfe dieser Statistiken lässt sich die Anzahl der von Benutzern generierten Lasten im Verhältnis zur Anzahl der Treffer ermitteln.
- Durchsatz: Der Durchsatz auf dem Webserver während des Tests, gemessen in Bytes. Unter Durchsatz versteht man die Datenmenge, die die Benutzer zu einem bestimmten Zeitpunkt vom Server empfangen haben. Diese Statistik hilft dabei, die Menge an Last zu bewerten, die Benutzer erzeugen.
- Transaktion pro Sekunde: Dies ist die Gesamtzahl der abgeschlossenen Transaktionen (sowohl erfolgreich als auch fehlgeschlagen), die während eines Tests durchgeführt wurden. Diese Statistik hilft, die tatsächliche Transaktionslast auf dem System zu überprüfen.
- ZENTRALPROZESSOR: Prozentuale CPU-Auslastung während eines Tests.
- Erinnerung: Speichernutzung während eines Tests.
- Scheibe: Nutzung des während eines Tests verbrauchten Speicherplatzes.
Grundlagen der Stabilitätsprüfung
Stabilitätsprüfung fällt unter Leistungstests – eine Technik, die durchgeführt wird, um einige Qualitätsmerkmale von Software wie Stabilität, Zuverlässigkeit und Verfügbarkeit zu überprüfen.
Mithilfe dieser Tests wird ermittelt, wie schnell ein System oder Subsystem unter einer bestimmten Arbeitslast arbeitet.
Es gibt viele Arten von Leistungstests, und Stabilitätstests sind einer davon.
- Belastbarkeitstest: Es handelt sich um einen Testtyp, der die Robustheit des Systems über die Systemkapazität hinaus prüft.
- Spike-Test: Es wird verwendet, um das Verhalten eines Systems zu überprüfen, indem die Auslastung eines Systems sofort erhöht wird. Das Ziel besteht darin, zu prüfen, wann das System Leistungsprobleme haben wird oder ob es den Test erfolgreich abschließt.
- Skalierbarkeitstest: Damit wird die Leistungsfähigkeit eines Systems geprüft. Wie effektiv wird sich das System bei steigenden Anforderungen, Größenänderungen und Volumenänderungen verhalten?
- Volumentest: Es handelt sich um eine nicht funktionale Testtechnik, bei der die zu testende Software einer riesigen Datenmenge ausgesetzt wird und das Verhalten eines Systems entsprechend überprüft und verifiziert wird.
- Belastungs- oder Stabilitätstests: (bereits oben besprochen)
Stabilitätstestwerkzeuge
Einige der Tools für Leistungstests sind:
- WebLOAD
- LoadRunner
- Apache JMeter
- NeoLaden Sie
- CloudTest
- Laststurm
- LoadUI
- WAPT
- LoadImpact
- Ladestation
- Httperf
- OpenSTA
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.

