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)