stability testing software testing
Stabilitätstests sind Teil von Leistungstests. In diesem Tutorial werden die Ziele, die Bedeutung und die Notwendigkeit von Stabilitätstests anhand von Beispielen erläutert:
Stabilitätsprüfungen sind nicht funktionale Prüfungen. Hier testet das Team nicht die Merkmale und Grundfunktionen der Website. testet jedoch die Funktionen des Softwareprodukts wie 'Robustheit', 'Fehlerbehandlung', 'Zuverlässigkeit' und Produktstabilität '.
Betrachten wir eine Person, die ein neues Produkt vom Markt kauft ( Zum Beispiel, ein Handy). Der Käufer erwartet von dem Produkt eine lange, gleichmäßige Leistung ohne Fehler. In ähnlicher Weise erwarten Benutzer der Website und der mobilen App, dass die entsprechende Website oder die entsprechenden mobilen Apps eine hohe Zuverlässigkeit und Stabilität aufweisen.
Nehmen wir nun den Fall von Benutzern, die versuchen, Waren über E-Commerce-Portale zu kaufen. Wenn eine große Anzahl von Benutzern gleichzeitig dasselbe Portal verwendet, ist die Wahrscheinlichkeit eines Leistungsabfalls für die Website hoch. Die Benutzer können auch eine langsame Antwortzeit oder sogar einen Speicherverlust während der Sitzung feststellen.
Diese Probleme stellen sowohl für Entwickler als auch für Stakeholder eine Bedrohung dar. Es liegt in der Verantwortung des Testteams, diese Probleme zu finden und dem Entwicklungsteam Bericht zu erstatten, bevor sie die Endbenutzer erreichen. Diese Art von Tests wird unter Leistungstests fallen. Stabilitätstests sind Teil von Leistungstests.
Was du lernen wirst:
Übersicht über Stabilitätstests
Wie bereits erwähnt, wird Stabilitätsprüfung auch als „nicht funktionale“ Prüfung definiert. Hier überprüfen die Testteams die Robustheit, Fehlerbehandlung, Zuverlässigkeit und Produktstabilität.
Diese Prüfung wird auch als 'Ausdauertest' oder 'Einweichprüfung' bezeichnet. Es wird auch als „Extremlastbelastungstest“ bezeichnet.
Bei dieser Art von Tests überprüfen Tester, wie das Online-Portal reagiert, wenn viele aktive Benutzer die Website gleichzeitig nutzen. Tester müssen auch die Systemreaktion in einer solchen Umgebung überprüfen.
In vielen Fällen müssen Websites über Wochen (sogar Monate) ununterbrochen ausgeführt werden, ohne dass die Möglichkeit besteht, den Server neu zu starten. Aktive Benutzer für solche Websites (Benutzer, die die Website derzeit nutzen) können enorm sein und jeder Benutzer erwartet eine nahtlose Leistung.
Die Aufgabe der Tester besteht darin, den Entwicklern Vertrauen zu geben und den Endbenutzern sicherzustellen, dass sie ein System wie eingerückt verwenden können, ohne dass es zu Fehlern oder Speicherverlusten kommt, selbst bei hohem Datenverkehr. Zu diesem Zweck wird die Anwendung maximal belastet (bis zum Haltepunkt der Anwendung) und das Verhalten des Systems unter solchen Bedingungen überprüft.
Dieser Test wird normalerweise vor der Veröffentlichung der Software durchgeführt. Tester müssen sicherstellen, dass die Anwendung die erwartete Belastung der Website bewältigen kann. Manchmal kann das System aufgrund einer hohen Last abstürzen oder langsam werden oder sogar unerwartetes Verhalten zeigen.
Die Stabilität der Software hängt in hohem Maße von der nahtlosen Leistung des Systems unter den oben genannten Stressbedingungen ab. Daher spielen Stabilitätstests eine sehr wichtige Rolle.
Ziele der Stabilitätsprüfung
Die Ziele sind nachstehend aufgeführt:
- Um die Haltbarkeit des Systems zu finden.
- Finden Sie die Stabilität der Anwendung und erhöhen Sie dadurch das Vertrauen des Entwicklers.
- Finden Sie den Defekt im System in einer stressigen Umgebung.
- Gesamtbewertung und Wirksamkeit des Produkts.
- Um sicherzustellen, dass das System ein großes Programm verarbeiten kann.
- So testen Sie die Antwortzeit einer Anwendung.
- So überprüfen Sie die Datenbankkonnektivität
Fakten zur Stabilitätsprüfung
Einige nützliche Fakten sind unten aufgeführt:
- Stabilitätstests erfordern eine geeignete Testumgebung.
- Um bessere Ergebnisse zu erzielen, benötigen Stabilitätstests einen gut geplanten und strukturierten Ansatz.
- Es ist ein zeitaufwändiger Prozess. Die für den Testprozess benötigte Zeit kann je nach Kundenanforderung, Produkttyp und Unternehmensrichtlinien variieren.
- Die Isolierung des Systems ist bei dieser Testform wichtig. Während der Stabilitätsprüfung der Anwendung besteht die Möglichkeit, dass Daten dauerhaft verloren gehen oder beschädigt werden.
- Ausdauertests können zum Ausfall von Anwendungskomponenten führen, sodass Endbenutzer möglicherweise nicht behandelte Ausnahmen beobachten.
Unterschied zwischen Stabilität und Zuverlässigkeit im Softwaresystem
Es gibt einen wesentlichen Unterschied zwischen Zuverlässigkeit und Stabilität in einer Softwareanwendung. Dies kann anhand eines Beispiels erklärt werden.
Beispiel:
Stellen Sie sich vor, ein Benutzer hat eine neue App auf seinem Mobiltelefon installiert und gestartet. Wenn die installierte Anwendung alle 3 Minuten abstürzt, wird dies den Benutzer sicherlich stören. Wenn der Benutzer die Daten jedoch nach dem Neustart der App verlustfrei wiederherstellen kann, verliert die Anwendung nicht an Zuverlässigkeit. Eine solche Anwendung kann als zuverlässig angesehen werden, kann jedoch nicht als stabil angesehen werden.
schnelle Sortierung Pseudocode c ++
Nehmen Sie andererseits das Szenario, in dem die Anwendungsdaten nicht richtig gespeichert werden. Hier funktioniert die Anwendung gut und stürzt nicht ab (wie alle 3 Minuten). Eine solche Anwendung kann als zuverlässig angesehen werden oder nicht, kann jedoch als „stabil“ angesehen werden.
Zuverlässigkeit und Stabilität sind wie zwei Seiten einer Medaille. Denken Sie also daran, dass sowohl Zuverlässigkeit als auch Stabilität aus geschäftlicher Sicht für ein Produkt wichtig sind.
Beispiele für Stabilitätstests:
Es ist ein gängiger Ansatz, dass ein Benutzer beim Kauf eines neuen Mobiltelefons wissentlich oder unwissentlich einen Stabilitätstest durchführt. Der Benutzer speichert viele Bilder, Fotos, Videos, Dokumente usw. im Gerätespeicher und prüft, ob zu viele gespeicherte Daten die Leistung des Geräts beeinträchtigt haben oder nicht. Dies ist ein besonderes Beispiel für Stabilitätstests.
Aufgrund der immensen gespeicherten Daten kann es vorkommen, dass unser Gerät manchmal auflegt. Anschließend muss der Benutzer einige Daten löschen oder temporäre Dateien löschen, damit das Gerät die Leistung wiedererlangt. Nach diesem Test hat der Benutzer eine klare Vorstellung von der Kapazität des Systems.
Ein weiteres Beispiel in Echtzeit sind Online-Kaufportale. Während einer 'Verkaufs- / Festivalsaison' kaufen viele Leute Waren über diese Art von Webportalen. Die Leistung einer Website muss den Erwartungen der Benutzer entsprechen.
Daher müssen die Tester die Site testen, indem sie den erwarteten „Ansturm“ berücksichtigen, der in diesen Tagen an diesen Sites wahrscheinlich ist.
Stabilitätsprüfung einer Internetverbindung
Hier wird anhand des Testfalls überprüft, wie stabil unsere Internetverbindung ist. Beim Herstellen einer Verbindung über das Internet und beim Anfordern von Webseiten müssen Benutzer aufgrund von Paketverlust eine inkonsistente Latenz beim Anzeigen von Webseiten erleiden.
Manchmal tritt ein Paketverlust auf, wenn das Ziel nicht erreicht wird. Aufgrund des Paketverlusts sind viele von uns möglicherweise auf ähnliche Probleme gestoßen, während wir Skype-Videoanrufe verwenden, Spiele über das Internet spielen oder zufällig vom Internet getrennt werden.
Voraussetzungen zum Testen der Internetverbindung:
- Um die Internetstabilität zu testen, benötigen wir einen Webbrowser, in dem die Firewall deaktiviert ist.
- Wählen Sie eine Webadresse ( Zum Beispiel, https://www.google.com/ ), die wahrscheinlich nicht scheitern wird.
- Verwenden Sie Google Spreadsheet oder Microsoft Excel, um das Ergebnis aufzuzeichnen, da es für die Benutzer leicht verständlich und besser lesbar ist.
- Überprüfen Sie die Internetverbindung und die Geräte und überprüfen Sie die Verbindungen erneut. Wir werden dann die unten genannten Tests durchführen.
Methoden zum Testen der Internetverbindung:
Der beste Weg, um die Konnektivität zu testen, ist ein Besuch Geschwindigkeitstest (Bevor Sie weiterlesen, besuchen Sie bitte die Website). In SpeedTest.net haben wir eine Möglichkeit zur Auswahl von Servern. Wählen Sie den Server in Ihrer Nähe aus und führen Sie ihn aus.
Danach führt die Site einige Berechnungen basierend auf vordefinierten Algorithmen durch und zeigt den Bericht an, der die Qualität unserer Internetverbindung sofort bestimmt. In dem Bericht ist der Prozentsatz des Paketverlusts enthalten. Es sollte „0%“ sein.
Der Paketverlust '0%' bestimmt die hohe Stabilität der Verbindung. Jede Zahl größer als '0' zeigt an, dass die Konnektivität instabil ist.
Die zweite Möglichkeit besteht darin, die Eingabeaufforderung 'cmd' zu verwenden und den Befehl 'ping' einzugeben (siehe folgende Abbildung). Hier können wir über die Eingabeaufforderung die Stabilität und die Latenz des Internets auch in Echtzeit testen.
In der Abbildung überprüfen Sie bitte den Abschnitt 'Ping-Statistiken'.
Hier,
Anzahl der gesendeten Pakete = 4
Anzahl der empfangenen Pakete = 4
Anzahl verlorener Pakete = 0
Das Ergebnis zeigt, dass die Verbindung sehr stabil ist.
Verwendeter Prozess:
Schritt 1: Die Tester wählen eine der beiden oben erläuterten Methoden.
Schritt 2: Tester führen den Prozess aus und zeichnen die erforderlichen Informationen, die als Antwort auf die Internetverbindung erhalten werden, in einer Tabelle auf.
Schritt 3: Sie wiederholen den Vorgang drei- oder viermal pro Woche.
(Da Stabilitätstests über einen bestimmten Zeitraum durchgeführt werden, müssen Tester den Prozess mindestens mehr als zweimal pro Woche planen.)
Schritt 4: Die Ergebnisse werden in Tabellenkalkulationen aufgezeichnet.
Tester müssen das Datum der Ausführung des Prozesses notieren. Vergleichen Sie die an jedem Datum erzielten Ergebnisse, um eine Vorstellung von der Stabilität unseres aktuellen Netzwerks zu erhalten.
Hinweis: Haltepunkt ist der Zustand des Systems, in dem das System zusammenbricht, wenn es weiter belastet wird. Es definiert die Kapazität des Systems.
Das Spezifikationsdokument ist ein Dokument, das den Testern vom Teamleiter ausgehändigt wird und Details zur erwarteten Belastung des Systems enthält. Bei Stabilitätsprüfungen überprüfen die Tester den Systembruchpunkt anhand der Richtlinien, die ihnen im Spezifikationsdokument zur Verfügung gestellt werden.
Das Testteam überprüft das System, indem es die Anwendung mit einer Last über / unter dem im Spezifikationsdokument angegebenen Haltepunkt testet. Dies unterscheidet sich vom Fall des Lasttests.
So öffnen Sie eine .eps-Datei in Windows 10
Bei Stabilitätstests wird nur die erwartete Last zum Testen verwendet. Bei Lasttests wird die Anwendung jedoch unerwartet belastet, und Tester überprüfen die Kapazität der Anwendung.
Lebenszyklus von Softwaretests basierend auf Stabilitätstests
Die verschiedenen Phasen der Lebenszyklus von Softwaretests sind unten eingetragen:
- Anforderungsanalyse
- Versuchsplan
- Testfallentwicklung
- Setup der Testumgebung
- Testfallausführung
- Testabschluss
Lassen Sie uns alle oben genannten Phasen im Detail verstehen.
# 1) Anforderungsanalyse
In dieser Phase entscheidet das Testteam über die verschiedenen Testarten, die in der Anwendung durchgeführt werden sollen. Dies hängt ausschließlich von den Kundenanforderungen und der Art der Anwendung ab. Zum Beispiel, Die Tester testen eine Bankanwendung. In diesem Fall sind Sicherheitstests die vorrangigsten Tests. Wenn die Tester eine Immobilienanwendung testen, wird den Funktionstests Vorrang eingeräumt.
# 2) Testplanung
In dieser Phase werden Testbereiche diskutiert. Tester werden die Notwendigkeit der Automatisierung diskutieren. Für Stabilitätstests sind die Testprozesse langwierig und müssen über eine bestimmte Dauer viele Male wiederholt werden. Die Automatisierung ist eine gute Wahl. 'LoadStrom' ist ein gutes Werkzeug, um Stabilitätstests mithilfe von Automatisierung durchzuführen.
In dieser Phase werden wir das Budget und das Zeitlimit für Tests mit dem Kunden besprechen. Da das Testen zeitaufwändig ist, sollten das Budget und das Zeitlimit dem Testplan entsprechen.
# 3) Testfallentwicklung
In dieser Phase wird ein Testfall zum Testen der Anwendung erstellt.
c ++ wie man ein Makefile macht
# 4) Testumgebung
Die Testumgebung ist ein entscheidender Faktor für die Teststabilität. Wir benötigen eine geeignete Testumgebung, die die Nachbildung unserer Produktionsumgebung ist. Die ursprüngliche Umgebung sollte nicht verwendet werden, da die Site während des Tests manchmal abstürzen oder sogar Daten verlieren kann.
# 5) Testausführung
In dieser Phase werden Testfälle ausgeführt und die Testergebnisse überprüft. Dies ist eine zeitaufwändige Phase. Die allgemeinen Probleme, mit denen Tester in dieser Phase konfrontiert sind, sind Speicherverluste, Probleme mit der Datenkonnektivität, langsame Reaktionszeiten usw.
# 6) Testabschluss
In dieser Phase treffen sich alle Teammitglieder und diskutieren die im Projekt verwendeten Ausstiegskriterien. Die Austrittskriterien hängen von Faktoren wie der Anzahl der gefundenen Fehler und der für die Prüfung verwendeten Zeit ab.
Werkzeuge für Stabilitätstests
Folgende Werkzeuge werden verwendet:
- LoadRunner
- OpenSTA
- LoadUI
- WebLOAD
- LoadComplete
- Appvance
- LoadUI
- Rationaler Leistungstester
Wie verwende ich Apache JMeter für Ausdauertests?
Apache JMeter ist ein gutes Werkzeug für Ausdauertests. Vor Beginn der Tests müssen die Tester über gute Kenntnisse der Geschäftsziele verfügen. Danach erstellen die Tester Testskripte. Anschließend konfigurieren wir die Threadgruppeneinstellungen in JMeter.
Bei Dauertests mit JMeter müssen folgende Faktoren angegeben werden:
- Die Anzahl der Threads: Dies gibt die erwartete Anzahl von Benutzern auf der Site an.
- Hochlaufzeit: Dies gibt die Zeit an, die jeder Thread benötigt, um fertig zu werden. Wenn wir 5 Threads haben, beträgt die Hochlaufzeit 50 Sekunden.
- Loop-Count: Dies gibt an, wie oft der Vorgang wiederholt wird. Für Ausdauertests ist es auf ewig eingestellt.
- Planer: In diesem Test verwenden wir die Scheduler-Funktionalität. Wir müssen die Schedulerkonfiguration entsprechend der Anforderung angeben.
Fazit
Viele Anwendungen sind nicht ordnungsgemäß konzipiert und geben den Gerätespeicher nach der Verwendung nicht frei. Dies führt allmählich zu Gedächtnisverlust. Wir können das Problem mit Stabilitätstests überwinden. Stabilitätsprüfungen sind daher sehr wichtig. Es handelt sich um nicht funktionale Tests. Es geht nur um die Charakteristik der Anwendung. Beim Testen geht es hier nicht um das Verhalten des Systems.
Ich hoffe, Sie haben die Bedeutung und Notwendigkeit von Stabilitätstests verstanden.
Literatur-Empfehlungen
- Software Testing QA Assistant Job
- Softwaretestkurs: An welchem Softwaretestinstitut soll ich teilnehmen?
- Software Testing Technical Content Writer Freiberufler Job
- Wählen Sie Software-Tests als Ihre Karriere
- Tipps zum Testen von Software für Anfänger
- Feedback und Bewertungen zum Softwaretestkurs
- Wie kann man die Motivation in Software-Testern am Leben erhalten?
- Was ist Affentest beim Softwaretest?