Positive Tests und negative Tests mit Beispielen
⚡ Intelligente Zusammenfassung
Positive und negative Tests entscheiden gemeinsam darüber, ob eine Software erwartete Eingaben akzeptiert und unerwünschte Eingaben ablehnt. Dieser Artikel erläutert beide Ansätze, die zugrundeliegenden Techniken, praktische Beispiele und Vorgehensweisen zur Minimierung von Fehlern.
Softwaretests dienen der Überprüfung und Validierung einer Softwareanwendung, um festzustellen, ob sie wie erwartet funktioniert. Ziel ist es, Fehler zu finden und die Produktqualität zu verbessern. Es gibt zwei Arten von Softwaretests: positive und negative Tests.
Die beiden Ansätze beantworten gegensätzliche Fragen: Funktioniert die Anwendung, wenn alles glatt läuft, und bleibt sie stabil, wenn etwas schiefgeht?
Was bedeutet ein positives Testergebnis?
Positive Tests Es handelt sich um eine Testart, die an einer Softwareanwendung durchgeführt wird, indem gültige Datensätze als Eingabe bereitgestellt werden. Dabei wird geprüft, ob sich die Softwareanwendung bei positiven Eingaben wie erwartet verhält.
Ein Positivtest wird durchgeführt, um zu überprüfen, ob die Softwareanwendung genau das tut, was sie soll. Er wird daher auch als Happy-Path-Test bezeichnet.
Betrachten Sie beispielsweise das unten gezeigte numerische Textfeld.
In einer Anwendung gibt es ein Textfeld, das nur Zahlen akzeptiert. Das System akzeptiert die Eingabe von Werten bis 99999, alle anderen Werte sollten nicht akzeptiert werden. Um einen positiven Test durchzuführen, legen Sie die gültigen Eingabewerte zwischen 0 und 99999 fest und prüfen Sie, ob das System die Werte akzeptiert.
Was ist ein Negativtest?
Negativtest ist eine Testmethode, die an der Softwareanwendung durchgeführt wird, indem ungültige oder fehlerhafte Datensätze als Eingabe verwendet werden. Dabei wird überprüft, ob sich die Softwareanwendung bei negativen oder unerwünschten Benutzereingaben wie erwartet verhält.
Das Ziel von Negativtests ist es, sicherzustellen, dass die Softwareanwendung bei ungültigen Dateneingaben nicht abstürzt und stabil bleibt. Daher werden sie auch als Fehlerpfadtests oder Ausfalltests bezeichnet.
Betrachten wir beispielsweise dasselbe Feld, das anstelle von Ziffern Zeichen empfängt.
Ein Negativtest kann durch Eingabe der Zeichen A bis Z oder von a bis z durchgeführt werden. Entweder sollte das Softwaresystem die Werte nicht akzeptieren oder eine Fehlermeldung für diese ungültigen Dateneingaben ausgeben.
Bei beiden Testarten ist Folgendes zu beachten:
- Eingabedaten
- Eine Aktion, die ausgeführt werden muss
- Ausgabeergebnis
Positives Testergebnis vs. negatives Testergebnis: Die wichtigsten Unterschiede
Beide Ansätze haben Folgendes gemeinsam: Testfall Struktur. Der Unterschied liegt in den eingegebenen Daten und in dem, was ein positives Ergebnis beweist.
| Parameter | Positive Tests | Negativtest |
|---|---|---|
| Auch bekannt als | Testen des Erfolgspfads | Fehlerpfad- oder Fehlerprüfung |
| Eingabe verwendet | Gültige, erwartete Daten | Ungültige, extreme oder unerwartete Daten |
| Ziel | Prüfen Sie, ob die Funktion wie vorgesehen funktioniert. | Bestätigen Sie, dass die Funktion das ablehnt, was sie nicht sollte. |
| Erwartetes Ergebnis | Der Ablauf wurde erfolgreich abgeschlossen. | Es tritt ein eindeutiger Fehler auf, das System bleibt aber stabil. |
| Fehlerbehandlung | Nicht der Fokus | Der gesamte Fokus |
| Abdeckung | Schmal, entspricht der Spezifikation | Broad, untersucht alles außerhalb der Spezifikation |
| Typisches Risiko bei Auslassung | Kernmerkmale: Schiffbruch | Abstürze und Sicherheitslücken erreichen die Produktion |
Ein fehlgeschlagener positiver Test signalisiert eine Funktionsstörung. Ein fehlgeschlagener negativer Test signalisiert eine fehlende Schutzvorrichtung, deren Reparatur nach Entdeckung durch die Benutzer deutlich teurer ist.
Testverfahren für positive und negative Tests
In der Praxis erzeugen zwei klassische Input-Design-Techniken sowohl positive als auch negative Fälle aus derselben Anforderung:
- Grenzwertanalyse
- Äquivalenzpartitionierung
Grenzwertanalyse
Hierbei handelt es sich um eine Softwaretesttechnik, bei der die Testfälle so gestaltet sind, dass sie Werte an der Grenze einschließen. Wenn die Eingabedaten innerhalb der Grenzwertgrenzen verwendet werden, spricht man von einem positiven Test. Wenn die Eingabedaten außerhalb der Grenzwertgrenzen ausgewählt werden, spricht man von einem negativen Test.
Schauen Sie sich beispielsweise den unten dargestellten zulässigen Bereich an.
Ein System akzeptiert Zahlen von 0 bis 10. Alle anderen Zahlen sind ungültige Werte. Bei dieser Technik werden die Grenzwerte -1,0,1 und 9,10,11 getestet.
Äquivalenzpartitionierung
This is a Softwaretest Technik, die die Eingabedaten in viele Partitionen unterteilt. Die Werte jeder Partition müssen mindestens einmal getestet werden. Für positive Tests werden Partitionen mit gültigen Werten verwendet. Während Partitionen mit ungültigen Werten für negative Tests verwendet werden.
Betrachten Sie beispielsweise die beiden unten dargestellten Partitionen.
Die numerischen Werte von Null bis Zehn lassen sich in zwei (oder drei) Bereiche unterteilen. In unserem Fall haben wir zwei Bereiche: -10 bis -1 und 0 bis 10. Aus jedem Bereich können Beispielwerte (5 und -5) entnommen werden, um die Szenarien zu testen. Siehe … Äquivalenzzerlegung und Randwertanalyse Lektion für weitere durchgerechnete Beispiele.
Wie man positive und negative Tests durchführt
Die folgende Sequenz wandelt eine Anforderung in eine ausgewogene Menge positiver und negativer Fälle um.
- Lesen Sie die Anforderungen bezüglich der Grenzwerte. Notieren Sie jedes zulässige Format, jeden Wertebereich und jedes Pflichtfeld. Alles, was die Spezifikation erlaubt, wird als positiver Fall, alles, was sie ausschließt, als negativer Fall behandelt.
- Schreiben Sie zuerst den positiven Fall. Geben Sie gültige Daten an, führen Sie die Aktion durch und notieren Sie das erwartete Erfolgsergebnis als Ausgangswert.
- Aus denselben Grenzwerten lassen sich auch negative Fälle ableiten. Verwenden Sie Grenzwertanalyse und Äquivalenzzerlegung, um leere Felder, falsche Datentypen und Zahlen außerhalb des zulässigen Bereichs zu erzeugen.
- Füge feindselige Eingaben hinzu. Umfassen SQL-Injection Zeichenketten, abgelaufene Token und fehlerhafte API-Nutzdaten, so dass Sicherheitstests Lücken treten frühzeitig zutage.
- Ausweiten auf nicht-funktionale Prüfungen. A lade Test bei einer positiven Anzahl unterstützter Benutzer, während Stresstest Jenseits dieser Grenze befindet sich der entsprechende negative Fall.
- Wählen Sie aus, wo jeder Fall ausgeführt wird. Negative Fälle fernhalten Rauch- und Geisteszustandsprüfung, die schnelle positive Gatter sind, und führen Sie sie im funktionalen und Regressionstests Fahrräder.
Eine Geldabhebung am Geldautomaten zeigt die Kopplung an. Im positiven Fall wird die korrekte PIN und ein gültiger Betrag eingegeben, woraufhin Bargeld und ein Beleg ausgezahlt werden. Im negativen Fall wird die falsche PIN eingegeben, was zu einer Ablehnungsmeldung und anschließend zur Kartensperrung führt.
Bewährte Methoden, um das richtige Gleichgewicht zu wahren
- Schreiben Sie vor Beginn der Entwicklung mindestens zwei Fälle pro Anforderung, einen positiven und einen negativen.
- Priorisieren Sie negative Fälle nach ihrer Auswirkung, sodass Injektions- und Zahlungsfehler vor kosmetischen Eingabefehlern behandelt werden.
- Geben Sie die Fehlermeldung selbst an, nicht nur, dass die Aktion fehlgeschlagen ist, denn vage Meldungen sind ebenfalls Mängel.
- Platz lassen für exploratives Testenund protokollieren Sie Ihre Ergebnisse über Ihr Fehlermanagementprozess.
⚠️ Warnung: Führen Sie niemals Negativtests in einer laufenden Produktionsumgebung durch. Negativtests dienen dazu, Fehler zu erzwingen, und ein absichtlicher Absturz beeinträchtigt echte Benutzer und echte Daten.


.png)



.png)
.png)
.png)