Zerstörungsfreie Softwareprüfung (ZfP): Was ist das, Teststrategie
⚡ Intelligente Zusammenfassung
Zerstörungsfreies Testen überprüft, ob sich eine Anwendung bei gültigen Eingaben korrekt verhält. Daher wird es auch als Positiv- oder Happy-Path-Test bezeichnet. Es bestätigt die erwarteten Ergebnisse anhand der dokumentierten Anforderungen.

Was ist zerstörungsfreies Softwaretesten?
Zerstörungsfreie Prüfung ist ein Softwaretesttyp, der das korrekte Testen und Interagieren mit der Softwareanwendung beinhaltet. Mit anderen Worten: Non Destructive Software Testing (NDT) kann auch als Positive Testing oder Happy Path Testing bezeichnet werden. Es liefert die erwarteten Ergebnisse und beweist, dass sich die Softwareanwendung wie erwartet verhält.
Der Name stammt aus dem Ingenieurwesen, wo zerstörungsfreie Prüfverfahren ein Bauteil untersuchen, ohne es zu beschädigen. In der Softwareentwicklung ist das Prinzip dasselbe: Die Anwendung wird so getestet, wie sie konzipiert wurde, und übersteht den Test unbeschadet.
Ejemplo: Die korrekten Daten in ein Anmeldemodul eingeben und prüfen, ob die Anmeldeinformationen akzeptiert werden und ob zur nächsten Seite navigiert wird.
Der untenstehende Screenshot zeigt das Anmeldeformular, in dessen Feld „Benutzername“ vor der Ausführung des Tests ein gültiger Wert eingegeben wurde.
Um an dem obigen Beispiel einen zerstörungsfreien Test durchzuführen, geben Sie einen gültigen Benutzernamen und ein gültiges Passwort in das Anmeldeformular ein. Da die Eingabe den Anforderungen entspricht, ist das gewünschte Ergebnis positiv, und der Tester bestätigt lediglich, dass die Anwendung zur nächsten Seite wechselt.
Warum führen wir zerstörungsfreie Softwaretests (NDT) durch?
Zerstörungsfreies Testen beantwortet die erste Frage, die sich jeder Beteiligte zu einem Build stellt: Erfüllt die Funktion tatsächlich ihre Aufgaben? Aus diesem Grund führen Teams es durch.
- Der größte Vorteil der zerstörungsfreien Prüfmethode (ZfP) besteht darin, dass sie zu einer verbesserten Softwarequalität führt, da Fehler, die im Hauptablauf gefunden werden, frühzeitig behoben werden.
- Um zu zeigen, dass Softwarefunktionen gemäß der Spezifikation funktionieren.
- Um zu überprüfen, ob die Leistungsanforderungen erfüllt wurden.
- Um sicherzustellen, dass die Anforderungen der Endnutzer erfüllt werden.
- Um zu überprüfen, ob ein kleiner Abschnitt des Codes oder der Funktionalität wie erwartet funktioniert und die zugehörige Funktionalität nicht beeinträchtigt.
- Um Beweise zu erbringen, die vor einem Gericht vorgelegt werden können User Acceptance Testing Abnahme, bei der der Kunde das beabsichtigte Verhalten sehen möchte und nicht die Fehlermöglichkeiten.
Wann wird eine zerstörungsfreie Prüfung (NDT) durchgeführt?
Das Timing ist hier wichtiger als bei den meisten anderen Techniken, denn der optimale Ablauf bestimmt alles Weitere.
- Es handelt sich um die erste Testform, die ein Tester an einer Anwendung durchführt, also in der Anfangsphase der SDLC.
- Zerstörungsfreie Prüfverfahren werden in der Regel dann angewendet, wenn für einen vollständigen Testzyklus nicht genügend Zeit zur Verfügung steht, da sie dennoch den Nachweis erbringen, dass die Akzeptanzkriterien erfüllt sind.
- Es wird vor negativen und destruktiven Szenarien ausgeführt. Wenn der Hauptablauf unterbrochen wird, melden Fehlerbehandlungstests Rauschen anstelle von tatsächlichen Fehlern.
- Dieser Vorgang wird nach jeder Fehlerbehebung wiederholt, wodurch sich die beiden Bereiche überschneiden. Regressionstests.
Teststrategie für zerstörungsfreie Prüfungen
Die Strategie für die zerstörungsfreie Prüfung ist bewusst einfach gehalten, und die Disziplin liegt eher im positiven Denken als in der Werkzeugausstattung.
- Die Herangehensweise an zerstörungsfreie Prüfverfahren sollte positiv sein.
- Ziel der zerstörungsfreien Prüftechnik (ZfP) ist der Nachweis, dass eine Anwendung bei der Verarbeitung gültiger Eingabedaten funktioniert.
- Für die Durchführung zerstörungsfreier Prüfungen sind keine besonderen Anforderungen oder Umgebungsbedingungen erforderlich.
- Die beste Vorgehensweise bei zerstörungsfreien Prüfverfahren besteht darin, zu überprüfen, ob das System seine vorgesehene Funktion erfüllt.
Das folgende Diagramm fasst zusammen, wie diese Strategie normalerweise über einen Testzyklus hinweg organisiert ist.
Wie man nicht-destruktive (positive) Testfälle schreibt
Ein nicht-destruktiver Testfall ist nur dann sinnvoll, wenn seine Eingabe nachweislich gültig ist und sein erwartetes Ergebnis auf einer Anforderung und nicht auf einer Annahme des Testers beruht. Die folgenden Schritte führen zu einem solchen Testfall. Testfall.
Schritt 1) Wählen Sie ein Akzeptanzkriterium aus. Lesen Sie die Anforderung und formulieren Sie sie als eine einzige überprüfbare Aussage um, zum Beispiel: „Das Feld ‚Benutzername‘ akzeptiert sechs bis zwanzig alphanumerische Zeichen.“
Schritt 2) Gültige Eingabedaten auswählen. Wählen Sie Werte, die problemlos innerhalb des zulässigen Bereichs liegen. Äquivalenzpartitionierung Hier hilft es — ein repräsentativer Wert pro gültiger Partition ist normalerweise ausreichend.
Schritt 3) Schreiben Sie das erwartete Ergebnis vor der Ausführung auf. Das erwartete Ergebnis muss aus der Spezifikation abgeleitet werden. Wird es erst nach dem Testlauf geschrieben, wird dieser zu einer Beschreibung dessen, was der Build tatsächlich bewirkt hat.
Schritt 4) Halten Sie die Schritte in der Reihenfolge des Benutzers ein. Die Abfolge sollte der Vorgehensweise eines realen Benutzers entsprechen, denn Ziel der Technik ist es, den beabsichtigten Ablauf zu bestätigen.
Schritt 5) Notieren Sie die Anforderungskennung. TracDie Rückführung des Falls auf sein Kriterium ermöglicht es dem Team, die Deckung während einer Überprüfung nachzuweisen.
Ein ausgearbeitetes Beispiel für das Anmeldemodul sieht folgendermaßen aus.
| Feld | zerstörungsfreier Prüffall |
|---|---|
| Anforderung | Der Benutzername darf 6–20 alphanumerische Zeichen enthalten. |
| Testdaten | Benutzername guru99testergültiges passendes Passwort |
| Shritte | Öffnen Sie die Anmeldeseite, geben Sie die Zugangsdaten ein und wählen Sie „Anmelden“. |
| Erwartetes Ergebnis | Die Anmeldedaten werden akzeptiert und die Startseite wird angezeigt. |
| Typ | Positiver / glücklicher Weg |
Beachten Sie, dass in diesem Fall nichts versucht, das Feld zu beschädigen. Ein Fall, der fünf Zeichen eingibt, um die Fehlermeldung anzuzeigen, ist ein negativer Test, keine zerstörungsfreie.
Beispiele für zerstörungsfreie Prüfungen
Das folgende Beispiel zeigt, wie sich zerstörungsfreies Testen in einer Multi-Modul-Anwendung verhält, nachdem ein Fehler behoben wurde.
- Eine Anwendung besteht aus fünf Modulen: Anmeldeseite, Startseite, Benutzerdetailseite, Erstellung neuer Benutzer und Aufgabenerstellung.
- Angenommen, es gibt einen Fehler auf der Anmeldeseite: Das Feld für den Benutzernamen akzeptiert weniger als sechs alphanumerische Zeichen. Dies widerspricht den Vorgaben, die besagen, dass der Benutzername mindestens sechs Zeichen lang sein muss; daher stellt dieses Verhalten einen Fehler dar.
- Der Fehler wird dem Entwicklerteam auf dem üblichen Weg gemeldet. FehlermanagementprozessDas Problem ist behoben, und der Build wird an das Testteam zurückgeschickt.
- Das Testteam prüft nicht nur die Anmeldeseite, auf der der Fehler behoben wurde, sondern auch die anderen Module. Dabei werden alle Module mit gültigen Daten getestet. Es werden nicht-destruktive Tests durchgeführt, um sicherzustellen, dass die gesamte Anwendung weiterhin einwandfrei funktioniert.
Zerstörungsfreie Prüfung vs. zerstörende Prüfung
Die beiden Techniken werden häufig zusammen gelehrt, weil sie gegensätzliche Fragen zum selben Aufbau beantworten. Destruktives Testen sucht nach dem Punkt, an dem die Software versagt, während zerstörungsfreie Prüfungen bestätigen, dass das beabsichtigte Verhalten erhalten bleibt.
| Aspekt | Zerstörungsfreie Prüfung | Destruktives Testen |
|---|---|---|
| Absicht | Interagieren Sie korrekt mit der Anwendung und überprüfen Sie positive Ergebnisse. | Um die Fehlerstelle zu finden, geben Sie ungewöhnliche oder ungültige Eingaben ein. |
| Eingabedaten | Gültige Daten, die aus den Anforderungen abgeleitet wurden | Ungültige, beschädigte oder nicht in der richtigen Reihenfolge befindliche Daten |
| Anforderungen erforderlich | Ja – Fälle werden anhand von Akzeptanzkriterien verfasst. | Nicht unbedingt; Tester arbeiten ohne die Voreingenommenheit gegenüber User Stories. |
| Was es offenbart | Funktionsschwächen im Vergleich zur Spezifikation | Schwächen in Konstruktion, Robustheit und Wiederherstellbarkeit |
| Verwandte Techniken | Rauchprüfung, Funktionsprüfung | Affentest, exploratives Testen |
Die beiden Verfahren ergänzen sich, anstatt Alternativen zu sein. Die alleinige Durchführung zerstörungsfreier Prüfungen lässt die Fehlerbehandlung ungeprüft, und die alleinige Durchführung zerstörender Prüfungen beweist niemals, dass das Produkt seine Funktion erfüllt.
Vorteile und Grenzen der zerstörungsfreien Softwareprüfung
Zu wissen, ab wann eine Technik ihren Nutzen verliert, ist genauso wichtig wie zu wissen, was sie umfasst.
Vorteile
- Schnell zu entwerfen und auszuführen, da die Testdaten direkt aus der Spezifikation stammen.
- Erfordert keine spezielle Umgebung, Fehlereinspeisung oder beschädigte Datensätze.
- Erstellt Nachweise, die den Anforderungen eins zu eins entsprechen und sich daher für Audits und Freigaben eignen.
- Funktioniert genauso gut wie manuelle Prüfung und wie im Drehbuch vorgesehen AutomatisierungstestsSo können dieselben Fälle in einer Regressionssuite wiederverwendet werden.
- Gibt frühzeitig und ehrlich ein Signal über den Zustand des Gebäudes auf jeder Ebene, von der Einheit bis zur Gesamtebene. Integrationstests zu Systemtests.
Einschränkungen
- Ein vollständiger Testlauf sagt nichts darüber aus, wie sich die Anwendung bei ungültigen Eingaben verhält, sodass schwerwiegende Fehler in der Fehlerbehandlung unentdeckt bleiben können.
- Der Umfang der Prüfung ist durch die Qualität der Anforderungen begrenzt. Alles, was nicht spezifiziert ist, wird niemals getestet.
- Es kann ein falsches Vertrauen erzeugen, wenn vor einer Veröffentlichung nur der bewährte Weg beschritten wird.
- Es misst weder Robustheit, Erholung noch Leistungsfähigkeit unter Belastung, wofür eigene Techniken aus dem breiteren Spektrum der Messmethoden erforderlich sind. Arten von Softwaretests.
Behandeln Sie die zerstörungsfreie Prüfung als Grundlage, auf der alle anderen Verfahren aufbauen, und planen Sie sie innerhalb des umfassenderen Prozesses ein. Lebenszyklus von Softwaretests und nicht als einmalige Aktivität.


