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.

  • โœ… Pozitivno testiranje: Unesite samo valjane podatke i potvrdite da aplikacija dovrลกava predviฤ‘eni tijek toฤno onako kako je opisano u specifikaciji.
  • โ›” Negativno testiranje: Unesite nevaลพeฤ‡e ili ekstremne podatke i potvrdite da ih aplikacija odbija, prikazuje jasnu greลกku i ostaje stabilna.
  • ๐Ÿ“ Analiza graniฤnih vrijednosti: Testirajte rub svakog prihvaฤ‡enog raspona, a zatim jedan korak izvan njega, kako biste brzo uoฤili nedostatke jedan po jedan.
  • ๐Ÿงฉ Particioniranje ekvivalencije: Podijelite ulaze u valjane i nevaljane grupe, a zatim uzorkujte jednu vrijednost iz svake grupe umjesto testiranja svega.
  • โš–๏ธ Pravilo pokrivenosti: Napiลกite barem dva sluฤaja po zahtjevu, jedan pozitivan i jedan negativan, kako se nijedan kriterij prihvaฤ‡anja ne bi isporuฤio netestiran.
  • ๐Ÿ›ก๏ธ Sigurnosna isplata: Negativni sluฤajevi otkrivaju nedostatke ubrizgavanja, istekle tokene i neobraฤ‘ene iznimke kojih se pozitivni izvrลกavanja nikada ne dotiฤu.
  • ๐Ÿค– Prilagoฤ‘enost automatizacije: Automatizirajte stabilne pozitivne tokove za regresijsku vrijednost i automatizirajte negativne provjere validacije za povratne informacije o otpornosti.

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.

Pozitivno testiranje

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

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.

Pozitivno vs negativno testiranje

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.

Ekvivalentno particioniranje

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.

  1. 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.
  2. Prvo napiลกite pozitivan sluฤaj. Navedite valjane podatke, izvrลกite radnju i zabiljeลพite oฤekivani uspjeh kao poฤetnu vrijednost.
  3. 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.
  4. Dodajte neprijateljski unos. Ukljuฤivati SQL injekcija nizovi znakova, istekli tokeni i neispravno oblikovani API korisni sadrลพaji testiranje sigurnosti praznine se rano pojavljuju.
  5. 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.
  6. 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.

Pitanja i odgovori

Negativno testiranje provjerava da aplikacija elegantno odbacuje nevaลพeฤ‡i unos. Destruktivno testiranje ide dalje i namjerno gura sustav prema kvaru, poput prekida veze s bazom podataka usred transakcije, kako bi se izmjerilo ponaลกanje oporavka i otpornost u ekstremnim uvjetima.

Ne. Testiranje dima i zdrave pameti Koristite samo pozitivne provjere jer one djeluju kao brzi pokazatelji kvalitete na novoj izgradnji. Negativni sluฤajevi namjerno stvaraju pogreลกke, pa ih timovi umjesto toga pokreฤ‡u tijekom dubljih funkcionalnih ciklusa.

Da. AI generatori ฤitaju zahtjeve ili korisniฤke priฤe i predlaลพu valjane i nevaljane ulazne skupove, ukljuฤujuฤ‡i graniฤne vrijednosti. Tester ih i dalje pregledava jer generirani negativni sluฤajevi ฤesto propuลกtaju ograniฤenja domene kao ลกto su regulatorni pragovi ili pravila zaokruลพivanja valuta.

Da. Znaฤajkama umjetne inteligencije potrebni su negativni sluฤajevi za promptno ubrizgavanje, odgovore neispravnog modela, vremenska ograniฤenja i pitanja izvan dosega. Buduฤ‡i da se izlazi razlikuju izmeฤ‘u izvrลกavanja, tvrdnje bi trebale provjeravati format odgovora, sigurnosne filtere i rezervno ponaลกanje, a ne jedan fiksni oฤekivani niz.

Selenium pokreฤ‡e validaciju polja preglednika, Postman pokriva nevaลพeฤ‡e API korisne terete i statusne kodove i JMeter gura optereฤ‡enje preko podrลพane granice za scenarije naprezanja. Odaberite alat koji odgovara sloju koji validirate.

Saลพmite ovu objavu uz: