Pozitivno testiranje i negativno testiranje s primjerima
โก Pametni saลพetak
Pozitivno i negativno testiranje zajedno odluฤuju prihvaฤa li softver ono ลกto bi trebao, a odbacuje ono ลกto ne bi trebao. Ovaj ฤlanak objaลกnjava oba pristupa, tehnike koje stoje iza njih, praktiฤne primjere i prakse koje sprjeฤavaju curenje nedostataka.

Testiranje softvera je proces provjere i validacije softverske aplikacije kako bi se utvrdilo radi li ona kako se oฤekuje. Namjera je pronaฤi nedostatke i poboljลกati kvalitetu proizvoda. Postoje dva naฤina testiranja softvera, naime pozitivno testiranje i negativno testiranje.
Dva pristupa odgovaraju na suprotna pitanja: radi li aplikacija kada sve ide kako treba i ostaje li stabilna kada neลกto krene po zlu?
ล to je pozitivno testiranje?
Pozitivno testiranje je vrsta testiranja koja se provodi na softverskoj aplikaciji pruลพanjem valjanih skupova podataka kao ulaza. Provjerava ponaลกa li se softverska aplikacija kako se oฤekuje s pozitivnim ulazima ili ne.
Pozitivno testiranje se provodi kako bi se provjerilo radi li softverska aplikacija toฤno ono ลกto se od nje oฤekuje. Stoga se naziva i testiranje sretnog puta.
Na primjer, razmotrite numeriฤki tekstualni okvir prikazan dolje.
U aplikaciji postoji tekstni okvir koji moลพe prihvatiti samo brojeve. Unos vrijednosti do 99999 bit ฤe prihvatljiv za sustav i sve druge vrijednosti osim ove ne bi trebale biti prihvatljive. Za pozitivno testiranje postavite vaลพeฤe ulazne vrijednosti od 0 do 99999 i provjerite prihvaฤa li sustav vrijednosti.
ล to je negativno testiranje?
Negativno testiranje je metoda testiranja koja se provodi na softverskoj aplikaciji davanjem nevaลพeฤih ili nepravilnih skupova podataka kao ulaza. Provjerava ponaลกa li se softverska aplikacija kako se oฤekuje s negativnim ili neลพeljenim korisniฤkim unosima.
Svrha negativnog testiranja je osigurati da se softverska aplikacija ne ruลกi i da ostane stabilna s nevaลพeฤim ulaznim podacima. Stoga se naziva i testiranje puta pogreลกke ili testiranje kvara.
Na primjer, razmotrite isto polje koje prima znakove umjesto znamenki.
Negativno testiranje moลพe se izvrลกiti unosom znakova od A do Z ili od a do z. Softverski sustav ili ne bi trebao prihvatiti vrijednosti ili bi trebao izbaciti poruku o pogreลกci za te nevaลพeฤe unose podataka.
Kod obje vrste testiranja potrebno je uzeti u obzir sljedeฤe:
- Ulazni podaci
- Radnja koju je potrebno izvrลกiti
- Izlazni rezultat
Pozitivno testiranje u odnosu na negativno testiranje: Kljuฤne razlike
Oba pristupa dijele isto testni sluฤaj struktura. Razlika leลพi u ulaznim podacima koje dajete i u onome ลกto prolazni rezultat dokazuje.
| Parametar | Pozitivno testiranje | Negativno testiranje |
|---|---|---|
| Takoฤer poznat kao | Testiranje sretnog puta | Testiranje putanje pogreลกke ili neuspjeha |
| Koriลกteni unos | Vaลพeฤi, oฤekivani podaci | Nevaลพeฤi, ekstremni ili neoฤekivani podaci |
| Cilj | Potvrdite da znaฤajka radi ono ลกto bi trebala | Potvrdite da znaฤajka odbija ono ลกto ne bi trebala |
| Oฤekivani ishod | Tok se uspjeลกno zavrลกava | Pojavljuje se jasna greลกka i sustav ostaje stabilan |
| Rukovanje pogreลกkama | Nije fokus | Cijeli fokus |
| Pokrivenost | Usko, prati specifikaciju | ล iroko, istraลพuje sve izvan specifikacije |
| Tipiฤan rizik ako se preskoฤi | Osnovne znaฤajke broda pokvaren | Padovi i sigurnosne rupe stiลพu do produkcije |
Neuspjeลกan pozitivan test signalizira neispravnu funkcionalnost. Neuspjeลกan negativan test signalizira nedostatak zaลกtite, ฤiji je popravak puno skuplji nakon ลกto je korisnici pronaฤu.
Tehnike testiranja koriลกtene za pozitivno i negativno testiranje
U praksi, dvije klasiฤne tehnike dizajna ulaznih podataka generiraju i pozitivne i negativne sluฤajeve iz istog zahtjeva:
- Analiza graniฤnih vrijednosti
- Ekvivalentno particioniranje
Analiza graniฤnih vrijednosti
Ovo je jedna od tehnika testiranja softvera u kojoj su testni sluฤajevi dizajnirani da ukljuฤuju vrijednosti na granici. Ako se ulazni podaci koriste unutar granica graniฤnih vrijednosti, tada se kaลพe da je to pozitivno ispitivanje. Ako su ulazni podaci odabrani izvan granica graniฤnih vrijednosti, tada se kaลพe da je to negativno testiranje.
Na primjer, pogledajte prihvaฤeni raspon prikazan u nastavku.
Sustav moลพe prihvatiti brojeve od 0 do 10 numeriฤkih vrijednosti. Svi ostali brojevi su nevaลพeฤe vrijednosti. Prema ovoj tehnici ispitat ฤe se graniฤne vrijednosti -1,0,1 i 9,10,11.
Ekvivalentno particioniranje
Ovo je testiranje softvera tehnika koja dijeli ulazne podatke na mnoge particije. Vrijednosti iz svake particije moraju se testirati barem jednom. Particije s valjanim vrijednostima koriste se za pozitivno testiranje. Dok se particije s nevaลพeฤim vrijednostima koriste za negativno testiranje.
Na primjer, prouฤite dvije particije prikazane dolje.
Numeriฤke vrijednosti od nula do deset mogu se podijeliti na dvije (ili tri) particije. U naลกem sluฤaju imamo dvije particije od -10 do -1 i od 0 do 10. Uzorci vrijednosti (5 i -5) mogu se uzeti iz svakog dijela za testiranje scenarija. Vidi particioniranje ekvivalencije i analiza rubnih vrijednosti lekcija za viลกe obraฤenih primjera.
Kako provesti pozitivno i negativno testiranje
Sljedeฤi niz pretvara jedan zahtjev u uravnoteลพeni skup pozitivnih i negativnih sluฤajeva.
- Proฤitajte zahtjev za ograniฤenja. Zabiljeลพite svaki prihvaฤeni format, raspon i obavezno polje. Ono ลกto specifikacija dopuลกta postaje pozitivan sluฤaj, a ono ลกto iskljuฤuje postaje negativan.
- Prvo napiลกite pozitivan sluฤaj. Navedite valjane podatke, izvrลกite radnju i zabiljeลพite oฤekivani uspjeh kao poฤetnu vrijednost.
- Izvedite negativne sluฤajeve iz istih granica. Koristite analizu graniฤnih vrijednosti i particioniranje ekvivalencije za stvaranje praznih polja, pogreลกnih tipova podataka i brojeva izvan raspona.
- Dodajte neprijateljski unos. Ukljuฤivati SQL injekcija nizovi znakova, istekli tokeni i neispravno oblikovani API korisni sadrลพaji testiranje sigurnosti praznine se rano pojavljuju.
- Proลกiriti na nefunkcionalne provjere. A test optereฤenja na podrลพanom broju korisnika je pozitivan, dok je a stres test izvan te granice je odgovarajuฤi negativni sluฤaj.
- Odaberite gdje se odvija svaki sluฤaj. Drลพite negativne sluฤajeve podalje testiranje dima i zdrave pameti, koji su brzi pozitivni logiฤki sklopovi, i pokreฤu ih u funkcionalnom i regresijsko testiranje ciklusa.
Isplata na bankomatu pokazuje uparivanje. U pozitivnom sluฤaju unosi se ispravan PIN i valjan iznos, pa slijede gotovina i raฤun. U negativnom sluฤaju unosi se pogreลกan PIN i oฤekuje se poruka o odbijanju, a zatim blokada kartice.
Najbolje prakse za odrลพavanje prave ravnoteลพe
- Prije poฤetka razvoja napiลกite barem dva sluฤaja po zahtjevu, jedan pozitivan i jedan negativan.
- Dajte prioritet negativnim sluฤajevima prema utjecaju, tako da neuspjeลกne injekcije i isplate dolaze prije kozmetiฤkih pogreลกaka u unosu.
- Navedite samu poruku o pogreลกci, ne samo da radnja nije uspjela, jer su i nejasne poruke nedostaci.
- Ostavite mjesta za istraลพivaฤko testiranjei zabiljeลพite nalaze putem proces upravljanja nedostacima.
โ ๏ธ Upozorenje: Nikada ne pokreฤite negativne sluฤajeve protiv stvarnog produkcijskog okruลพenja. Oni postoje kako bi izazvali kvarove, a namjerni pad sustava utjeฤe na stvarne korisnike i stvarne podatke.

.png)
.png)
.png)
.png)