Što je negativno testiranje? Test slučajevi s primjerom

Negativno testiranje

Negativno testiranje je vrsta testiranja softvera koja se koristi za provjeru softverske aplikacije na neočekivane ulazne podatke i uvjete. Neočekivani podaci ili uvjeti mogu biti bilo što, od pogrešne vrste podataka do snažnog hakerskog napada. Svrha negativnog testiranja je spriječiti pad softverske aplikacije zbog negativnih unosa te poboljšati kvalitetu i stabilnost.

Samo pozitivnim testiranjem možemo se uvjeriti da naš sustav radi u normalnim uvjetima. Moramo biti sigurni da naš sustav može podnijeti neočekivane uvjete kako bismo osigurali 100% sustav bez grešaka.

Primjer negativnog testiranja

Razmotrite slučaj dizanja koji se obično smatra primjerom negativnog testiranja.

Svima nam je poznata funkcionalnost dizala. To će se smatrati zahtjevima dizala, kao što je pritisak na broj kata koji dovodi do toga da dizalo ide na taj određeni kat.

Vrata se otvaraju automatski kada dizalo dosegne navedeni kat i tako dalje.

Sada razmotrimo neke negativne scenarije za podizanje. Neki od njih su,

Negativno testiranje Pozitivno testiranje
Što se događa ako broj osoba (težina) premaši navedeno ograničenje? Pretpostavlja da će u dizalo ući samo određeni broj osoba
Što se događa ako netko puši ili izazove požar unutar dizala? U liftu neće biti dima ni vatre
Što se događa ako tijekom rada nestane struje? Tijekom rada lifta neće doći do nestanka struje

Svi ovi slučajevi bit će negativni. Važnost ovoga je u tome što ne možemo biti sigurni da se sve gore navedeno neće dogoditi, pa ih trebamo obuzdati.

Uzmite u obzir slučaj da je stanje prekomjerne tjelesne težine provjereno i pri implementaciji, dizanje ne radi normalno kada postoji stanje prekomjerne težine. To će potencijalno utjecati na pouzdanost sustava i može čak uzrokovati opasnost po život. Ovo objašnjava što je negativan test i njegovu važnost.

Isti slučaj se također primjenjuje u softveru. Za negativno testiranje, odstupili smo od normalne operativne procedure. Prođimo kroz neke primjere.

Uzmimo za primjer obrazac za registraciju.

Negativno testiranje Pozitivno testiranje
Pokušajte unijeti nevažeći ID e-pošte u polje za e-poštu U polje za e-poštu unijet će se samo valjani ID-ovi e-pošte
Pokušajte unijeti nevažeći telefonski broj u polje telefonskog broja (znakova) U polje za broj bit će upisan jedini broj
Prenesi sliku čija je veličina izvan navedenih granica Bit će učitane samo slike čija je veličina ispod navedene granice
Učitaj nevažeće datoteke poput XML, SQL itd. datoteke u polju za učitavanje slike Učitajte samo važeće formate slika poput jpg.png itd.

Kao što smo ranije rekli, moramo biti sigurni da će u svim tim negativnim slučajevima naš sustav ispravno raditi. Razmotrite slučaj ako netko pokuša unijeti znak u brojčano polje, a sustav ne može obraditi neočekivane podatke budući da očekuje broj, i na kraju se sustav ruši. Ili što ako netko pokuša učiniti SQL injekcija i izbrisati sve naše podatke iz baze podataka. Ne možemo podnijeti takve potencijalne gubitke. Dakle, negativan test je važan.

Zašto raditi negativan test?

Budući da je testiranje zadatak koji zahtijeva puno vremena i troškova, odluka o tome 'što', 'kako' i 'koliko' testirati je jako važna. Moramo mudro odlučiti hoćemo li napraviti negativan test u našem sustavu ili ne. Dakle, pogledajmo važnost negativnog testiranja.

Organizacijska perspektiva

Odgovornost organizacije je osigurati kvalitetan proizvod svom klijentu. Da bi se to postiglo, potrebno je napraviti negativan test.

Kao dio potvrde protiv neuspjeha, organizacija mora provesti negativno testiranje.

Možda ne možemo izgraditi 100% sustav bez grešaka, ali moramo biti sigurni da smo učinili sve da spriječimo kvar, da bismo to postigli trebali bismo napraviti negativno testiranje.

Utjecaj je jedan čimbenik koji moramo uzeti u obzir. Uzmite u obzir da smo obavili pozitivno testiranje na stranici za e-trgovinu i provjerite je li sve u redu. Ali što ako postoji rupa u našem sustavu da netko može napraviti SQL injekciju i izbrisati sve naše podatke. To će biti veliki sigurnosni propust. Da bi se izbjegla ovakva vrsta slučajeva, potrebno je napraviti i negativno testiranje.

Za aplikacije otvorene za javnost, uglavnom web-mjesta, uvijek moramo imati na umu da nemamo puno kontrole nad postupkom korištenja aplikacije, pa moramo provesti negativno testiranje kako bismo bili sigurni da su svi takvi slučajevi pokriveni i ograničeni.

Još jedna stvar o kojoj moramo voditi računa je da vani ima mnogo crnih hakera koji traže priliku da unište sustav. Hakiranje je važan slučaj obuhvaćen negativnim testiranjem

Perspektiva klijenta

Klijenti uvijek očekuju proizvode bez ranjivosti, kako bi se osiguralo da je negativno testiranje obavezno

Ako se radi o osjetljivom proizvodu poput e-trgovine, online zaliha itd., tada su sigurnosni i negativni testovi obavezni.

Jedina briga klijenta u vezi s negativnim testiranjem je trošak. Ali kada se učinak analizira, na klijentu je da odluči hoće li ili ne provesti negativno testiranje.

Kako napraviti negativan test

Da bismo napravili negativan test, moramo razmotriti sve moguće slučajeve. To jest, ako je moguće, moramo to razmotriti u Testni slučaj bez obzira nije li to ispravan način korištenja. Na primjer, ako vidimo polje e-pošte, razmislite o svim mogućim unosima koje tamo možemo staviti osim ispravnog formata e-pošte. Na isti način kada vidimo opciju za učitavanje slike, moramo je testirati sa svim mogućim datotekama.

Dok stvaramo negativne testne slučajeve, unosima moramo dati prioritet, inače će biti mnogo mogućih slučajeva. Na primjer, za polje slike u koje bi trebale ući samo datoteke '.png' možemo imati puno opcija za učitavanje kao što su 'jpeg', 'xml', 'xls' itd.. Dakle, moramo dati prioritet opcijama poput XML-a i SQL može imati veći utjecaj nego jpeg i xls pa bismo se prvo trebali pobrinuti za SQL i XML slučajeve. Slično tome, moramo odrediti prioritete slučajeva prije izvršenja kako bismo uštedjeli vrijeme i troškove testiranja.

Za i protiv negativnog testiranja

Kao i kod svih drugih tehnika testiranja, negativno testiranje ima prednosti i nedostatke koji se uglavnom temelje na "gdje", "kada" i "kako" koristiti. Pogledajmo ovo.

Prednosti negativnog testiranja

  • Kao što svi znamo, negativno testiranje je vrlo važno za osiguranje kvalitete proizvoda. Proizvod dobre kvalitete je proizvod bez ranjivosti, kako bi se osiguralo da je negativno testiranje vrlo važno.
  • Provođenje negativnog testiranja osigurava da su pokriveni svi mogući slučajevi. Namjerno ili nenamjerno postoji mogućnost da se pojave negativni testovi. Kako bismo bili sigurni da su svi slučajevi pokriveni, moramo napraviti negativan test zajedno s pozitivnim testom.
  • Negativno testiranje pružit će više povjerenja klijentu prije nego što se pusti uživo.

Nedostaci negativnog testiranja

  • U softverskom inženjerstvu, negativno testiranje u nekim slučajevima postaje gubitak vremena i energije. U mnogim slučajevima nema potrebe za pretjeranim negativnim testiranjem. Na primjer, ako je aplikacija kreirana za korištenje jedne osobe, tada ne moramo uzeti u obzir slučaj da 100 korisnika koristi sustav u isto vrijeme. Stoga su odlučujući uvjeti u slučajevima negativnih testova vrlo važni. Bit će trenutaka kada nećemo morati raditi negativne testove na određenom sustavu.
  • Za izradu negativnih testnih slučajeva zahtijevajte vješte i iskusne ljude.
  • Za klijenta, negativno testiranje je još jedna stvar koja uzrokuje nepotrebno kašnjenje u izdanju i zbrajanje troškova.
  • Mogućnost da tim potroši više vremena i energije na negativno testiranje. Postoji mogućnost da ispitivači potroše puno vremena i energije na negativno testiranje što rezultira nižom koncentracijom u pozitivnom testiranju.