destructive testing
Unterschied zwischen zerstörenden und zerstörungsfreien Prüfungen mit ihren Typen und Methoden:
In diesem Artikel werden Details zu zerstörenden Tests und zerstörungsfreien Softwaretests erläutert.
Wir werden sie nacheinander kennenlernen und am Ende des Artikels auch die Unterschiede zwischen diesen beiden Testtypen sehen.
Was du lernen wirst:
- Was ist zerstörende Prüfung und welche Vorteile hat sie?
- Was ist zerstörungsfreie Prüfung und welche Vorteile hat sie?
- Unterschied zwischen zerstörenden und zerstörungsfreien Prüfungen
Was ist zerstörende Prüfung und welche Vorteile hat sie?
Destructive Software Testing (DST) ist eine Art von Softwaretest, bei dem versucht wird, einen Teil der Softwareanwendung unkontrolliert zum Scheitern zu bringen, um seine Robustheit zu testen und den Fehlerpunkt zu erkennen.
Im Gegensatz zu anderen herkömmlichen Softwaretestmethoden, die die Funktionalität der Software überprüfen, überprüft diese Methode das unvorhersehbare Benutzerverhalten innerhalb der Software. Auf diese Weise können wir Softwarefehler aufdecken, auf die durchschnittliche Benutzer im Allgemeinen nicht stoßen.
Bitte beachten Sie, dass destruktive Softwaretests (DST) ein alternativer Ansatz zum herkömmlichen Softwaretest (CST) sind, jedoch nicht dessen Ersatz. Es ist effektiv, zusätzlich zu CST eine Sommerzeit durchzuführen.
Die zerstörende Prüfung wird unter strengsten Betriebsbedingungen durchgeführt und dauert an, bis die Anwendung unterbrochen wird. Die Schlüsselidee dieser Tests besteht nicht nur darin, etwaige Konstruktionsschwächen aufzudecken, die unter normalen Arbeitsbedingungen möglicherweise nicht aufgedeckt werden, sondern auch die Lebensdauer des Softwareprodukts zu ermitteln.
Diese Art von Tests weist Ähnlichkeiten mit Affentests, Ad-hoc-Tests und Erkundungstests auf.
Vorteile destruktiver Softwaretests
Unterschied in c und c ++
- Es hilft dabei, die Robustheit, Wiederherstellbarkeit und Lebensdauer der Anwendung zu messen.
- Zeigt die Fehlerquellen im Falle eines unangemessenen oder missbräuchlichen Gebrauchs der Software an.
- Es stellt den richtigen Kontext für den Tester ein, da es die Vorurteile von User Stories beim Testen ignoriert.
- Es ermöglicht uns, Softwarefehler aufzudecken, auf die durchschnittliche Benutzer im Allgemeinen nicht stoßen.
- Diese Art des Testens ist einzigartig bei der Entdeckung von Fehlern in der Anwendung, die, wenn sie behoben werden, den Rang der Software in den Status eines unerfahrenen Proofs bringen.
Schritte zum Durchführen dieses Tests
- Zu Beginn des zerstörerischen Softwaretestzyklus sendet der Client eine Anwendungskopie oder Zugriffsdaten sowie Benutzeranforderungen.
- Der Kunde präsentiert dann die Anforderungen und demonstriert die Anwendung einem QS-Analysten.
- Als Nächstes legt der QS-Analyst die Funktion der Grenzen innerhalb der Anwendung fest und erstellt die Verwendbarkeitsgrenzen der Anwendung innerhalb der Grenzen.
- Jetzt testet der QS-Tester die Anwendung innerhalb dieser Grenzen nach dem Zufallsprinzip unter Verwendung der stochastischen Techniken. Die QS-Test-Workflows und -Fehler werden aufgezeichnet.
- Schließlich wird das Fehlerverzeichnis für den Client freigegeben.
- Bei Bedarf kann der zerstörende Testzyklus basierend auf den Anforderungen des Kunden wiederholt werden.
Für diese Tests ist es gut, einige Kenntnisse über die ursprünglichen Anforderungen der Software zu haben. Dies hilft bei der Entwicklung einer guten Teststrategie.
Was überprüfen Sie in Destructive Test?
- Unsachgemäßes und korrektes Verhalten der Softwareanwendung.
- Gültige und ungültige Eingabedaten.
- Unsachgemäße Verwendung der Softwareanwendung.
Destruktive Softwaretestmethoden und -strategien
Es gibt verschiedene Möglichkeiten, wie zerstörende Prüfungen durchgeführt werden können:
1) Fehlerpunktanalysemethode:
Bei dieser Methode wird die Anwendung überprüft und untersucht, um auf jeden Pfad und jede Ecke davon zuzugreifen. Es wird bestimmt, was an verschiedenen Stellen versagen kann. Bei dieser Methode können Sie sich von Geschäftsanalysten helfen lassen, um eine exemplarische Vorgehensweise für die Anwendung zu erhalten.
2) Peer Review:
Lassen Sie die Anwendung von einem anderen Tester überprüfen, der mit der Software nicht vertraut ist. Dies hilft bei der Suche nach versteckten Fehlerquellen, die für Sie als Tester nicht sichtbar waren.
3) Lassen Sie Testfälle vom Unternehmen überprüfen:
beliebtesten Betriebssysteme für PCs
Endbenutzer und andere Interessengruppen können sich manchmal gültige Testszenarien vorstellen, die ein Tester möglicherweise übersehen hat. Wenn Sie also die Testfälle vom Unternehmen überprüfen lassen, können Sie Ihre Testabdeckung erhöhen.
4) Erkundungstests:
Führen Sie Erkundungstests mit Hilfe von Laufblättern durch. Es hilft Ihnen zu wissen, was getestet wird, die Tests zu wiederholen und die Testabdeckung zu kontrollieren.
5) Versorgen Sie das System mit falschen Daten:
Sie können der Anwendung ungültige Eingaben geben. Dies kann beschädigte Daten, die falsche Abfolge von Schritten auf der Benutzeroberfläche usw. umfassen.
6) Verwenden Sie andere Quellen:
Sie können auch andere Quellen oder Methoden verwenden, um das System zu beschädigen und nach verschiedenen Szenarien zu analysieren. Das Gute ist, dass in der User Story des zerstörerischen Softwaretests nicht unbedingt nach „Anforderungen“ und „Spezifikationen“ gefragt wird, sodass Sie jede geeignete Methode zur Durchführung dieses Tests ausprobieren können.
Zerstörende Prüftechniken
Destruktive Softwaretests können mit verschiedenen Techniken durchgeführt werden, wie zum Beispiel:
- Abnahmetests
- Schleifentest
- Regressionstests
- Äquivalenzpartitionierung
- Grenzwertprüfung
- Schnittstellentest
- Alpha / Beta-Tests
- Systemtests
- Top-Down-Tests
- Black-Box-Test
Einige nützliche Tipps zum Testen destruktiver Software
- Sammeln Sie so viel Wissen wie möglich über das Produkt. Versetzen Sie sich in die Lage des Kunden und denken Sie dann aus seiner Sicht über das Produkt nach.
- Löschen Sie alle voreingenommenen Informationen aus der User Story. Vergessen Sie die Beschreibung der User Story und die Akzeptanzkriterien und versuchen Sie, die Anwendung wie ein verrückter Kunde zu brechen.
- Suchen Sie nach den Ausnahmepfaden, nicht nach den glücklichen Pfaden. Beachten Sie, dass Sie durch Ignorieren der Akzeptanzkriterien den erwarteten oder normalen Workflow nicht kennen.
- Erwarten Sie keine positive Antwort von Ihrer Bewerbung. Was ist, wenn etwas ausfällt? Versuchen Sie, alles zu simulieren und zu beschädigen, was Sie können.
- Beschränken Sie Ihre Netzwerkbedingungen auf ein realistischeres Setup, da nicht alle echten Benutzer über erstklassige Computer und Netzwerkbedingungen verfügen.
Was ist zerstörungsfreie Prüfung und welche Vorteile hat sie?
Non-Destructive Testing (NDT) wird als Software-Bewertungstechnik beschrieben, bei der mit Software korrekt interagiert wird. Im Gegensatz zu destruktiven Softwaretests, bei denen wir nach Ausnahmepfaden suchen, suchen wir beim zerstörungsfreien Testen nach glücklichen Pfaden oder goldenen Pfaden. NDT wird auch als positiver Test bezeichnet.
Wenn es beispielsweise ein Eingabefeld gibt, das eine Nummer innerhalb von 1-999 akzeptiert, besteht ein positiver Testfall darin, eine Nummer innerhalb dieses Bereichs einzugeben und die Funktionalität des Eingabefelds zu überprüfen.
In NDT haben wir einen genau definierten Testfall unter Verwendung einer bekannten Anforderung, der ohne Fehler oder Ausnahmen ausgeführt wird und die gewünschte Ausgabe erzeugt. Es gibt die erwarteten Ergebnisse an und überprüft, ob die Software wie erwartet funktioniert.
Leistungen des zerstörungsfreien Softwaretests
- Verbesserte Softwarequalität und Probleme werden im Hauptablauf der Anwendung behoben.
- Nützlich, um zu demonstrieren, dass die Softwareanwendung gemäß den erforderlichen Spezifikationen funktioniert.
- Überprüft, ob die Kundenerwartungen erfüllt sind.
- Stellt sicher, dass die Leistungsanforderungen erfüllt sind.
- Spart Zeit und Geld bei der Produktbewertung und Fehlerbehebung.
Wann ist dieser Test durchzuführen?
- Dies sollte die erste Form des Testens sein und muss in der Anfangsphase von SDLC durchgeführt werden, da der glückliche Pfad der Hauptfluss der Anwendung ist und wenn er nicht gut funktioniert, wird der Rest des Tests blockiert.
- Dies ist schnell und einfach möglich, wenn wir nicht genügend Zeit und Budget zum Testen haben. Dies stellt zumindest sicher, dass die Softwareanforderungen und Akzeptanzkriterien erfüllt werden.
Strategie für zerstörungsfreies Testen von Software
- Der Ansatz der positiven Prüfung sollte zur Durchführung der zerstörungsfreien Prüfung gewählt werden.
- Während des Tests sollte der Tester berücksichtigen, dass das Ziel des zerstörungsfreien Tests darin besteht, zu überprüfen, ob die Anwendung bei der Angabe gültiger Eingabedaten einwandfrei funktioniert. Ziel ist es daher, das Anwendungsverhalten für den positiven Datensatz zu überprüfen.
- Am besten überprüfen Sie, ob das System das tut, was es tun soll.
Unterschied zwischen zerstörenden und zerstörungsfreien Prüfungen
Destruktives Testen | Zerstörungsfreie Prüfung |
---|---|
Konzentriert sich auf die Schwächen im Design, aber nicht auf die Funktionalität. | Konzentriert sich auf Schwachstellen in der Funktionalität, aber nicht auf das Design. |
Benötigt nicht unbedingt geschäftliche Anforderungen. Zerstörungsprüfungen werden durchgeführt, ohne sich mit vorher festgelegten Anforderungen vertraut zu machen. | Es werden Tests durchgeführt, um die Funktionen anhand der Geschäftsanforderungen und Akzeptanzkriterien zu überprüfen. |
Die Software soll durch Bereitstellung ungewöhnlicher Eingaben zur Erkennung von Fehlerpunkten beschädigt werden. | Ziel ist es, korrekt mit der Software zu interagieren, um positive Ergebnisse zu überprüfen. |
Fazit
Bei zerstörenden Tests wird die Anwendung absichtlich zum Absturz gebracht, um die Robustheit der Anwendung zu überprüfen. Es erkennt die Fehlerstellen in der Software, die aufgrund einer unsachgemäßen Handhabung der Anwendung durch den Kunden auftreten können.
Es erkennt die Schwachstellen, die mit herkömmlichen Softwaretests nicht verfolgt werden können. Für eine bessere Testabdeckung wird es bevorzugt, zerstörerische Softwaretests zusammen mit herkömmlichen Softwaretests durchzuführen.
Zerstörungsfreie Tests werden mit dem positiven Test- oder Happy-Path-Test-Ansatz durchgeführt, um zu überprüfen, ob die Softwarefunktionalität den Kundenanforderungen entspricht. Es beinhaltet die korrekte Interaktion mit der Software.
Literatur-Empfehlungen
- Beste Software-Test-Tools 2021 (QA Test Automation Tools)
- Software Testing QA Assistant Job
- Softwaretestkurs: An welchem Softwaretestinstitut soll ich teilnehmen?
- Wählen Sie Software-Tests als Ihre Karriere
- Software Testing Technical Content Writer Freiberufler Job
- Testen von Primer eBook Download
- Einige interessante Fragen zu Softwaretests
- Feedback und Bewertungen zum Softwaretestkurs