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.

  • ✅ Positives Testergebnis: Geben Sie nur gültige Daten ein und stellen Sie sicher, dass die Anwendung den vorgesehenen Ablauf genau wie in der Spezifikation beschrieben durchführt.
  • ⛔ Negatives Testergebnis: Geben Sie ungültige oder extreme Daten ein und vergewissern Sie sich, dass die Anwendung diese ablehnt, eine eindeutige Fehlermeldung anzeigt und stabil bleibt.
  • 📏 Grenzwertanalyse: Testen Sie die Grenze jedes zulässigen Bereichs und anschließend einen Schritt außerhalb dieses Bereichs, um Abweichungen von einer Position schnell zu erkennen.
  • 🧩 Äquivalenzzerlegung: Teilen Sie die Eingaben in gültige und ungültige Gruppen auf und wählen Sie dann aus jeder Gruppe einen Wert aus, anstatt alle Werte zu testen.
  • ️ Deckungsregel: Schreiben Sie mindestens zwei Fälle pro Anforderung, einen positiven und einen negativen, damit kein Akzeptanzkriterium ungetestet ausgeliefert wird.
  • 🛡️ Sicherheitsgewinn: Negative Testfälle decken Injektionsfehler, abgelaufene Token und unbehandelte Ausnahmen auf, die bei positiven Testläufen nie auftreten.
  • 🤖 Automatisierungspassung: Automatisieren Sie stabile positive Abläufe für den Regressionswert und automatisieren Sie negative Validierungsprüfungen für das Feedback zur Resilienz.

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.

Positive Tests

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.

#1 Besten GESAMTGlobales App-Testen
9.8/ 10
★ ★ ★ ★ ★
Holen Sie sich eine kostenlose Demo
PractiTest
9.5/ 10
★ ★ ★ ★ ★
Besuchen Sie PractiTest
Testiny
9.3/ 10
★ ★ ★ ★ ★
Besuchen Sie Testiny
besten FürCrowdtesting & QualitätssicherungTestmanagementKleine und mittlere QA-Teams
Hauptmerkmal✓Integrationstests von Drittanbietern✓Zentralisiertes Testmanagement✓Manuelle + automatisierte Testfälle
Integrationen✓Jira, Slack, TestRail✓Jira, Jenkins, Slack✓Jira, GitHub, GitLab
Kostenlose TestversionKostenlose Demo14-Tag kostenlose TestversionKostenlose Demo
Holen Sie sich eine kostenlose DemoBesuchen Sie PractiTestBesuchen Sie Testiny

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.

Negativtest

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.

Positive vs. negative Tests

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.

Äquivalenzpartitionierung

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.

  1. 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.
  2. 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.
  3. 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.
  4. Füge feindselige Eingaben hinzu. Umfassen SQL-Injection Zeichenketten, abgelaufene Token und fehlerhafte API-Nutzdaten, so dass Sicherheitstests Lücken treten frühzeitig zutage.
  5. 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.
  6. 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.

Häufig gestellte Fragen

Negativtest Es wird geprüft, ob eine Anwendung ungültige Eingaben ordnungsgemäß zurückweist. Destruktive Tests gehen noch weiter und treiben das System absichtlich in Richtung Ausfall, beispielsweise durch das Abbrechen einer Datenbankverbindung mitten in einer Transaktion, um das Wiederherstellungsverhalten und die Stabilität unter extremen Bedingungen zu messen.

Nein. Rauch- und Geisteszustandsprüfung Verwenden Sie ausschließlich positive Prüfungen, da diese als schnelle Qualitätskontrollmechanismen für neue Builds dienen. Negative Prüfungen erzeugen absichtlich Fehler, daher werden sie von den Teams in tiefergehenden Funktionszyklen durchgeführt.

Ja. KI-Generatoren lesen Anforderungen oder User Stories und schlagen gültige und ungültige Eingabemengen inklusive Grenzwerten vor. Diese werden dennoch von einem Tester überprüft, da die generierten negativen Fälle häufig Domänengrenzen wie regulatorische Schwellenwerte oder Rundungsregeln für Währungen nicht berücksichtigen.

Ja. KI-Funktionen benötigen Negativfälle für die Eingabeaufforderung, fehlerhafte Modellantworten, Timeouts und Fragen außerhalb des Geltungsbereichs. Da die Ausgaben zwischen den Durchläufen variieren, sollten Assertions das Antwortformat, Sicherheitsfilter und das Fallback-Verhalten überprüfen, anstatt eine feste erwartete Zeichenkette zu verwenden.

Selenium Treiber für die Browser-Feldvalidierung Postman umfasst ungültige API-Nutzdaten und Statuscodes, und JMeter Die Last überschreitet die zulässige Grenze für Belastungsszenarien. Wählen Sie das Werkzeug, das der zu prüfenden Schicht entspricht.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: