Mi az a negatív teszt? Tesztesetek példával

Negatív tesztelés

Negatív tesztelés egy szoftvertesztelési típus, amely a szoftveralkalmazás váratlan bemeneti adatok és állapotok ellenőrzésére szolgál. A váratlan adatok vagy feltételek bármiek lehetnek a rossz adattípustól az erős hackertámadásig. A negatív tesztelés célja, hogy megakadályozza a szoftveralkalmazás összeomlását a negatív bemenetek miatt, valamint javítsa a minőséget és a stabilitást.

Ha csak pozitív tesztet végzünk, akkor csak azt tudjuk biztosítani, hogy rendszerünk normál körülmények között működik. Meg kell győződnünk arról, hogy rendszerünk képes kezelni a váratlan helyzeteket, hogy biztosítsuk a 100%-ban hibamentes rendszert.

Példa negatív tesztelésre

Tekintsük az emelés esetét, amely a negatív tesztek általánosan elfogadott példája.

Mindannyian ismerjük a lift funkcióit. Ezeket a lift követelményeinek tekintjük, mint például az emeletszám megnyomásával, hogy a lift az adott emeletre menjen.

Az ajtó automatikusan kinyílik, amint a lift eléri a megadott emeletet, és így tovább.

Most nézzünk meg néhány negatív forgatókönyvet az emelésre. Néhányan közülük,

Negatív tesztelés Pozitív tesztelés
Mi történik, ha a személyek száma (súly) meghaladja a megadott határértéket? Feltételezi, hogy csak a megadott számú személy fog belépni a liftbe
Mi történik, ha valaki dohányzik vagy tüzet okoz a liftben? A liftben nem lesz füst vagy tűz
Mi történik, ha működés közben áramkimaradás történik? A felvonó működése közben nem lesz áramszünet

Mindezek az esetek negatív teszt alá esnek. Ennek az a jelentősége, hogy nem tudjuk biztosítani, hogy a fent említettek ne történjenek meg, ezért szükség van rájuk.

Tekintsük azt az esetet, amikor a túlsúly állapotát ellenőrizzük, és végrehajtáskor az emelés abnormálisan működik túlsúlyos állapot esetén. Ez potenciálisan hatással lehet a rendszer megbízhatóságára, és akár életveszélyt is okozhat. Ez megmagyarázza, mi a negatív teszt, és ennek fontossága.

Ugyanezt az esetet alkalmazzák szoftverben is. A negatív tesztelésnél eltértünk a normál működési eljárástól. Nézzünk meg néhány példát.

Vegyünk például egy regisztrációs űrlapot.

Negatív tesztelés Pozitív tesztelés
Próbáljon meg érvénytelen e-mail azonosítót beírni az email mezőbe Csak érvényes e-mail azonosítók kerülnek beírásra az e-mail mezőbe
Próbáljon meg érvénytelen telefonszámot beírni a telefonszám mezőbe (karakterek) Az egyetlen szám kerül beírásra a számmezőbe
Töltsön fel képet, amelynek mérete a megadott határon kívül esik Csak a megadott határon belüli méretű képek kerülnek feltöltésre
Tölts fel érvénytelen fájlokat, mint például XML, SQL stb. fájlokat a képfeltöltés mezőben Csak érvényes képformátumokat töltsön fel, például jpg.png stb.

Ahogy korábban említettük, meg kell győződnünk arról, hogy ezekben a negatív esetekben rendszerünk megfelelően fog működni. Tekintsük azt az esetet, amikor valaki megpróbál beírni egy karaktert a számmezőbe, és a rendszer nem tudja feldolgozni a váratlan adatokat, mivel számot vár, és végül a rendszer összeomlik. Vagy mi van, ha valaki megpróbál egy SQL injektálás és töröljük az összes adatunkat az adatbázisból. Ilyen potenciális veszteségeket nem tudunk elviselni. Ezért fontos a negatív teszt.

Miért végezzünk negatív tesztet?

Mivel a tesztelés idő- és költségigényes feladat, nagyon fontos eldönteni, hogy „mit”, „hogyan” és „mennyit” teszteljünk. Bölcsen kell döntenünk, hogy negatív tesztet kell-e végeznünk a rendszerünkben vagy sem. Tehát vessünk egy pillantást a negatív tesztek fontosságára.

Szervezeti perspektíva

A szervezet felelőssége, hogy jó minőségű terméket biztosítson ügyfelének. Ennek eléréséhez negatív tesztet kell végezni.

A kudarc elleni megerősítés részeként a szervezetnek negatív tesztet kell végeznie.

Lehet, hogy nem tudunk 100%-ban hibamentes rendszert felépíteni, de meg kell győződnünk arról, hogy mindent megtettünk a meghibásodás megelőzése érdekében, hogy elérjük, hogy negatív tesztet végezzünk.

A hatás az egyik tényező, amelyet figyelembe kell vennünk. Fontolja meg, hogy pozitív tesztet végeztünk egy e-kereskedelmi webhelyen, és győződjön meg arról, hogy minden rendben van. De mi van akkor, ha a rendszerünkben van egy kiskapu, hogy valaki SQL-befecskendezést végezhet, és törölheti az összes adatunkat. Ez nagy biztonsági rés lesz. Az ilyen esetek elkerülése érdekében negatív tesztet is kell végezni.

Nyilvános alkalmazásoknál, főként weboldalakon, mindig szem előtt kell tartanunk, hogy az alkalmazás felhasználási folyamatát nem nagyon tudjuk ellenőrizni, ezért negatív tesztet kell végeznünk, hogy megbizonyosodjunk arról, hogy minden ilyen eset le van fedve.

Egy másik dolog, amire ügyelnünk kell, hogy sok fekete hacker van, akik lehetőséget keresnek a rendszer megsemmisítésére. A hackelés egy fontos eset, amelyet negatív tesztek fednek le

Ügyfél nézőpontja

Az ügyfelek mindig nulla sebezhetőségű termékeket várnak el, annak érdekében, hogy a negatív teszt kötelező legyen

Ha érzékeny termékről van szó, például e-kereskedelemről, online készletekről stb., akkor a biztonság és a negatív tesztelés kötelező.

A negatív teszttel kapcsolatban az ügyfél egyetlen aggálya a költség. A hatás elemzése után azonban az ügyfélnek kell eldöntenie, hogy végez-e negatív tesztet vagy sem.

Hogyan végezzünk negatív tesztet

A negatív teszt elvégzéséhez minden lehetséges esetet figyelembe kell vennünk. Vagyis ha lehetséges, figyelembe kell vennünk a Teszt eset függetlenül attól, hogy nem a megfelelő módja a használatának. Például, ha látunk egy e-mail mezőt, gondoljunk az összes lehetséges bevitelre, amit a helyes e-mail formátumtól eltérően is megadhatunk. Ugyanígy, amikor látunk egy képfeltöltési lehetőséget, azt minden lehetséges fájllal tesztelnünk kell.

Negatív tesztesetek létrehozásakor fontossági sorrendbe kell állítani a bemeneteket, különben sok eset lehetséges. Például egy képmezőben, ahol csak a .png fájlokat kell megadni, rengeteg lehetőségünk van a feltöltésre, például 'jpeg', 'xml', 'xls' stb. mint az XML és SQL nagyobb hatással lehet, mint a jpeg és xls, ezért először az SQL és XML esetekkel kell foglalkoznunk. Így a végrehajtás előtt priorizálnunk kell az eseteket, hogy időt és tesztelési költségeket takarítsunk meg.

A negatív teszt előnyei és hátrányai

Mint minden más tesztelési technikának, a negatív tesztnek is vannak előnyei és hátrányai, főként a „hol”, „mikor” és „hogyan” alapján. Vessünk egy pillantást erre.

A negatív tesztelés előnyei

  • Mint mindannyian tudjuk, a negatív teszt nagyon fontos a termék minőségének biztosításához. A jó minőségű termék nulla sebezhetőségű termék, annak biztosítása érdekében, hogy a negatív teszt nagyon fontos legyen.
  • A negatív teszt elvégzése biztosítja, hogy minden lehetséges esetet lefedjenek. Szándékosan vagy akaratlanul fennáll a negatív tesztesetek előfordulásának esélye. Tehát annak érdekében, hogy minden esetet lefedjünk, negatív tesztet kell végeznünk a pozitív teszt mellett.
  • A negatív tesztelés nagyobb bizalmat ébreszt az ügyfélben az éles indítás előtt.

A negatív tesztelés hátrányai

  • A szoftverfejlesztésben a negatív tesztelés bizonyos esetekben idő- és energiapazarlássá válik. Sok esetben nincs szükség túlzott negatív tesztekre. Például, ha egy alkalmazás egyszemélyes használatra készült, akkor nem kell figyelembe venni azt az esetet, amikor egyszerre 100 felhasználó használja a rendszert. Tehát a negatív tesztesetek körülményeinek eldöntése nagyon fontos. Lesznek olyan esetek, amikor nem kell negatív tesztet végeznünk egy adott rendszeren.
  • Negatív tesztesetek létrehozásához képzett és tapasztalt emberekre van szükség.
  • Az ügyfél számára a negatív tesztelés egy másik dolog, amely szükségtelen késleltetést okoz a kiadásban és a költségösszegzőben.
  • Esély, hogy egy csapat több időt és energiát fordít a negatív tesztekre. Lehetséges, hogy a tesztelők sok időt és energiát töltenek a negatív tesztekkel, ami alacsonyabb koncentrációt eredményez a pozitív tesztekben.