Was ist ein Negativtest? Testfälle mit Beispiel
Negativtest
Negativtest ist eine Art von Softwaretest, mit dem die Softwareanwendung auf unerwartete Eingabedaten und Bedingungen geprüft wird. Unerwartete Daten oder Bedingungen können alles sein, vom falschen Datentyp bis hin zu einem starken Hackerangriff. Der Zweck von Negativtests besteht darin, zu verhindern, dass die Softwareanwendung aufgrund negativer Eingaben abstürzt, und die Qualität und Stabilität zu verbessern.
Allein durch positive Tests können wir sicherstellen, dass unser System unter normalen Bedingungen funktioniert. Wir müssen sicherstellen, dass unser System unerwartete Bedingungen bewältigen kann, um ein 100 % fehlerfreies System zu gewährleisten.
Beispiel für einen negativen Test
Betrachten Sie den Fall eines Aufzugs, der häufig als Beispiel für einen negativen Test gilt.
Wir alle kennen die Funktionsweise eines Aufzugs. Dabei handelt es sich um die Anforderungen eines Aufzugs, z. B. durch Drücken der Etagennummer, damit der Aufzug zu dieser bestimmten Etage fährt.
Die Tür öffnet sich automatisch, sobald der Aufzug die angegebene Etage erreicht usw.
Betrachten wir nun einige negative Szenarien für den Anstieg. Einige von ihnen sind,
Negativtest | Positive Tests |
---|---|
Was passiert, wenn die Personenzahl (Gewicht) die angegebene Grenze überschreitet? | Es wird davon ausgegangen, dass nur die angegebene Personenzahl den Aufzug betritt |
Was passiert, wenn jemand raucht oder im Aufzug einen Brand verursacht? | Im Aufzug entsteht weder Rauch noch Feuer |
Was passiert, wenn während des Betriebs der Strom ausfällt? | Während des Betriebs des Aufzugs kommt es nicht zu einem Stromausfall |
Alle diese Fälle werden negativ getestet. Das Wichtige dabei ist, dass wir nicht sicherstellen können, dass all das oben Genannte nicht passiert, also müssen wir es eindämmen.
Stellen Sie sich den Fall vor, dass der Übergewichtszustand überprüft wird und bei der Implementierung eine abnormale Leistung des Lifts auftritt, wenn ein Übergewichtszustand vorliegt. Dies beeinträchtigt möglicherweise die Zuverlässigkeit des Systems und kann sogar zu Lebensgefahr führen. Dies erklärt, was negative Tests sind und welche Bedeutung sie haben.
Dasselbe gilt auch für Software. Bei negativen Tests weichen wir von einem normalen Betriebsverfahren ab. Sehen wir uns einige Beispiele an.
Denken Sie zum Beispiel an ein Anmeldeformular.
Negativtest | Positive Tests |
---|---|
Versuchen Sie, eine ungültige E-Mail-ID in das E-Mail-Feld einzugeben | In ein E-Mail-Feld werden nur gültige E-Mail-IDs eingegeben |
Versuchen Sie, eine ungültige Telefonnummer in ein Telefonnummernfeld einzugeben (Zeichen). | Die einzige Nummer wird in das Nummernfeld eingegeben |
Laden Sie ein Bild hoch, dessen Größe außerhalb der angegebenen Grenze liegt | Es werden nur Bilder hochgeladen, deren Größe unter der angegebenen Grenze liegt |
Laden Sie ungültige Dateien hoch wie XML, SQL usw. Dateien im Bild-Upload-Feld | Laden Sie nur gültige Bildformate wie jpg.png usw. hoch. |
Wie bereits erwähnt, müssen wir sicherstellen, dass unser System in all diesen negativen Fällen ordnungsgemäß funktioniert. Stellen Sie sich den Fall vor, dass jemand versucht, ein Zeichen in das Zahlenfeld einzugeben und das System die unerwarteten Daten nicht verarbeiten kann, da es eine Zahl erwartet, und schließlich abstürzt. Oder was ist, wenn jemand versucht, etwas zu tun? SQL-Injection und alle unsere Daten aus der Datenbank löschen. Solche potenziellen Verluste können wir nicht ertragen. Daher sind negative Tests wichtig.
Warum negative Tests durchführen?
Da das Testen eine zeit- und kostenintensive Aufgabe ist, ist es sehr wichtig, zu entscheiden, „was“, „wie“ und „wie viel“ getestet werden soll. Wir müssen mit Bedacht entscheiden, ob wir in unserem System negative Tests durchführen müssen oder nicht. Schauen wir uns also die Bedeutung negativer Tests an.
Organisationsperspektive
Es liegt in der Verantwortung der Organisation, ihrem Kunden ein qualitativ hochwertiges Produkt anzubieten. Um dies zu erreichen, muss man einen Negativtest durchführen.
Als Teil der Bestätigung eines Fehlers muss eine Organisation negative Tests durchführen.
Vielleicht können wir kein 100 % fehlerfreies System aufbauen, aber wir müssen sicherstellen, dass wir alles getan haben, um einen Fehler zu verhindern. Um dies zu erreichen, sollten wir negative Tests durchführen.
Die Auswirkungen sind ein Faktor, den wir berücksichtigen müssen. Gehen Sie davon aus, dass wir positive Tests auf einer E-Commerce-Website durchgeführt haben und stellen Sie sicher, dass alles in Ordnung ist. Aber was ist, wenn es in unserem System eine Lücke gibt, durch die jemand eine SQL-Injection durchführen und alle unsere Daten löschen kann? Das wäre eine große Sicherheitslücke. Um solche Fälle zu vermeiden, muss man auch negative Tests durchführen.
Bei öffentlich zugänglichen Anwendungen, vor allem bei Websites, müssen wir immer bedenken, dass wir nicht viel Kontrolle über den Verwendungsvorgang der Anwendung haben. Daher müssen wir negative Tests durchführen, um sicherzustellen, dass alle derartigen Fälle abgedeckt und eingedämmt sind.
Eine weitere Sache, auf die wir achten müssen, ist, dass es viele schwarze Hacker gibt, die nach einer Möglichkeit suchen, das System zu zerstören. Hacking ist ein wichtiger Fall, der in negativen Tests behandelt wird
Kundenperspektive
Kunden erwarten immer Null-Schwachstellen-Produkte, um sicherzustellen, dass negative Tests ein Muss sind
Wenn es sich um ein sensibles Produkt wie E-Commerce, Online-Lagerbestände usw. handelt, sind Sicherheit und negative Tests ein Muss.
Die einzige Sorge für den Kunden bei negativen Tests sind die Kosten. Aber sobald die Auswirkungen analysiert sind, liegt es am Kunden, zu entscheiden, ob er negative Tests durchführt oder nicht.
So führen Sie einen Negativtest durch
Um negative Tests durchzuführen, müssen wir alle möglichen Fälle berücksichtigen. Das heißt, wenn es möglich ist, müssen wir es in Betracht ziehen Testfall egal, ob es nicht die richtige Art ist, es zu verwenden. Wenn wir beispielsweise ein E-Mail-Feld sehen, denken Sie über alle möglichen Eingaben nach, die wir dort außer dem richtigen E-Mail-Format machen können. Genauso verhält es sich, wenn wir eine Option zum Hochladen von Bildern sehen: Wir müssen sie mit allen möglichen Dateien testen.
Beim Erstellen negativer Testfälle müssen wir die Eingaben priorisieren, da sonst viele Fälle möglich sind. Beispielsweise können wir für ein Bildfeld, in das nur PNG-Dateien eingegeben werden sollen, viele Upload-Optionen haben, wie JPEG, XML, XLS usw. Daher müssen wir Optionen wie XML priorisieren und SQL kann größere Auswirkungen haben als JPEG und XLS, daher sollten wir uns zuerst um SQL- und XML-Fälle kümmern. Daher müssen wir die Fälle vor der Ausführung priorisieren, um Zeit und Testkosten zu sparen.
Vor- und Nachteile von Negativtests
Wie bei allen anderen Testtechniken gibt es auch bei Negativtests Vor- und Nachteile, die hauptsächlich auf dem „Wo“, „Wann“ und „Wie“ der Anwendung basieren. Werfen wir einen Blick darauf.
Vorteile von Negativtests
- Wie wir alle wissen, sind negative Tests sehr wichtig, um die Qualität eines Produkts sicherzustellen. Ein Produkt von guter Qualität ist ein Produkt ohne Sicherheitslücken, weshalb negative Tests sehr wichtig sind.
- Durch die Durchführung negativer Tests wird sichergestellt, dass alle möglichen Fälle abgedeckt sind. Es besteht die Möglichkeit, dass es absichtlich oder unabsichtlich zu negativen Testfällen kommt. Um sicherzustellen, dass alle Fälle abgedeckt sind, müssen wir neben den positiven Tests auch negative Tests durchführen.
- Negative Tests geben dem Kunden mehr Vertrauen, bevor er in Betrieb geht.
Nachteile von Negativtests
- In der Softwareentwicklung werden negative Tests in manchen Fällen zu einer Zeit- und Energieverschwendung. In vielen Fällen ist eine übermäßige Negativtestung nicht erforderlich. Wenn beispielsweise eine Anwendung für die Nutzung durch eine einzelne Person erstellt wird, müssen wir den Fall, dass 100 Benutzer das System gleichzeitig nutzen, nicht berücksichtigen. Daher ist es sehr wichtig, Bedingungen in negativen Testfällen zu bestimmen. Es wird Zeiten geben, in denen wir auf einem bestimmten System keine negativen Tests durchführen müssen.
- Fordern Sie qualifizierte und erfahrene Mitarbeiter zur Erstellung negativer Testfälle auf.
- Für den Kunden sind negative Tests eine weitere Ursache für unnötige Verzögerungen bei der Veröffentlichung und zusätzliche Kosten.
- Eine Chance, dass ein Team mehr Zeit und Energie für negative Tests aufwendet. Es besteht die Möglichkeit, dass Tester viel Zeit und Energie in negative Tests investieren, was zu einer geringeren Konzentration bei positiven Tests führt.