black box testing an depth tutorial with examples
U ovom uputstvu, koristeći svoje industrijsko iskustvo u testiranju softvera, upoznajmo se s vrstama i tehnikama testiranja crne kutije, zajedno s njegovim postupkom, prednostima, nedostacima i nekim alatima za automatizaciju za njegovo testiranje, osim ručnog testiranja.
Također ćemo naučiti o razlikama između testiranja bijele kutije i testiranja crne kutije.
Popis vodiča za 'Tehnike ispitivanja crne kutije':
Vodič br. 1: Što je ispitivanje crne kutije
Vodič br. 2: Što je ispitivanje bijele kutije
Vodič br. 3: Pojednostavljeno funkcionalno ispitivanje
Vodič br. 4: Što je ispitivanje korisnih slučajeva
Vodič br. 5 : Tehnika ispitivanja pravokutnih nizova
Tehnike
Vodič br. 6: Analiza granične vrijednosti i podjela ekvivalentnosti
Vodič br. 7: Ispitivanje tablice odluka
Vodič br. 8: Ispitivanje tranzicije države
Vodič br. 9 : Pogađanje pogrešaka
Vodič br. 10: Metode ispitivanja temeljene na grafu
Gotovo svi svakodnevno provodimo testiranje crne kutije!
Bez obzira jesmo li naučili ili ne, svi smo u svakodnevnom životu mnogo puta izvršili i testirali crne kutije !!
Iz samog imena vjerojatno možete shvatiti da ono podrazumijeva interakciju sa sustavom, da ga testirate kao tajnovitu kutiju. To znači da niste dovoljno upućeni u interni rad sustava, ali znate kako bi se trebao ponašati.
Ako uzmemo primjer da bismo testirali svoj automobil ili bicikl, uvijek ga vozimo kako bismo bili sigurni da se ne ponaša neobično. Vidjeti? Već smo izvršili testiranje crne kutije.
Što ćete naučiti:
- Što je ispitivanje crne kutije?
- Vrste ispitivanja crnih kutija
- Alati za ispitivanje crne kutije
- Tehnike ispitivanja crne kutije
- Kako postupiti korak po korak?
- Prednosti i nedostatci
- Razlika između testiranja bijele kutije i crne kutije
- Zaključak
- Preporučena literatura
Što je ispitivanje crne kutije?
Testiranje crne kutije poznato je i kao bihevioralno, neprozirno, zatvoreno, specificirano ili testiranje iz oči u oči.
To je metoda softverskog testiranja koja analizira funkcionalnost softvera / aplikacije, a da ne zna puno o unutarnjoj strukturi / dizajnu predmeta koji se ispituje i uspoređuje ulaznu vrijednost s izlaznom vrijednošću.
kako otvoriti staklenku s javom
Glavni fokus pri testiranju crne kutije je na funkcionalnosti sustava u cjelini. Uvjet ‘Bihevioralno testiranje’ koristi se i za ispitivanje crne kutije. Dizajn bihevioralnog testa malo se razlikuje od testa crne kutije jer uporaba internog znanja nije strogo zabranjena, ali se ipak obeshrabruje.
Svaka metoda ispitivanja ima svoje prednosti i nedostatke. Postoje neke pogreške koje se ne mogu pronaći korištenjem jedine crne kutije ili samo bijele kutije.
Većina aplikacija testirana je metodom Black Box. Moramo pokriti većinu testnih slučajeva kako bi većinu bugova otkrio a Crna kutija metoda.
Ovo se testiranje odvija tijekom razvoja softvera i životnog ciklusa testiranja, tj. U fazama testiranja jedinice, integracije, sustava, prihvaćanja i regresije.
To može biti i funkcionalno i nefunkcionalno.
Vrste ispitivanja crnih kutija
Praktično, postoji nekoliko vrsta ispitivanja crnih kutija koje su moguće, ali ako uzmemo u obzir njegovu glavnu varijantu, dvije dolje navedene dvije su temeljne.
# 1) Funkcionalno ispitivanje
Ova se vrsta bavi funkcionalnim zahtjevima ili specifikacijama aplikacije. Ovdje se ispituju različite radnje ili funkcije sustava pružanjem ulaza i usporedbom stvarnog izlaza s očekivanim učinkom.
Na primjer ,kada testiramo padajući popis, kliknemo ga i potvrdimo da se proširuje i da su sve očekivane vrijednosti prikazane na popisu.
Nekoliko glavnih vrsta funkcionalnih ispitivanja su:
kako dodati nešto u niz Java
- Ispitivanje dima
- Ispitivanje razuma
- Ispitivanje integracije
- Ispitivanje sustava
- Ispitivanje regresije
- Ispitivanje prihvaćanja korisnika
=> Pročitajte više o Ispitivanje funkcionalnosti .
# 2) Nefunkcionalno ispitivanje
Osim funkcionalnosti zahtjeva, postoji i nekoliko nefunkcionalnih aspekata koje je potrebno testirati kako bi se poboljšala kvaliteta i izvedba aplikacije.
Nekoliko glavnih vrsta nefunkcionalnih ispitivanja uključuju:
- Ispitivanje upotrebljivosti
- Ispitivanje opterećenja
- Ispitivanje performansi
- Ispitivanje kompatibilnosti
- Ispitivanje naprezanja
- Ispitivanje skalabilnosti
=> Pročitajte više o Nefunkcionalno ispitivanje .
Alati za ispitivanje crne kutije
Alati za testiranje crne kutije uglavnom su alati za snimanje i reprodukciju. Ovi se alati koriste za regresijsko testiranje kako bi se provjerilo je li nova gradnja stvorila grešku u prethodnoj funkcionalnosti radne aplikacije.
Ovi alati za snimanje i reprodukciju bilježe test slučajeve u obliku nekih skripti poput TSL-a, VB skripte, Javascripta, Perla itd.
Tehnike ispitivanja crne kutije
Da bi se sustavno testirao skup funkcija, potrebno je dizajnirati test slučajeve. Ispitivači mogu stvoriti ispitne slučajeve iz dokumenta sa specifikacijama zahtjeva koristeći sljedeće tehnike ispitivanja crnih kutija.
- Ekvivalentnost particioniranja
- Analiza granične vrijednosti
- Ispitivanje tablice odluka
- Ispitivanje tranzicije države
- Pogađanje pogrešaka
- Metode ispitivanja temeljene na grafu
- Ispitivanje usporedbom
Razumimo pojedinosti svake tehnike.
# 1) Ekvivalentna particija
Ova je tehnika poznata i kao particioniranje klase ekvivalencije (ECP). U ovoj se tehnici ulazne vrijednosti u sustav ili aplikaciju dijele u različite klase ili skupine na temelju njegove sličnosti u ishodu.
Stoga, umjesto da koristimo svaku ulaznu vrijednost, sada možemo koristiti bilo koju vrijednost iz grupe / klase za testiranje ishoda. Na taj način možemo zadržati pokrivenost testom, dok možemo smanjiti puno prerade i najvažnije utrošenog vremena.
Na primjer:
Kao što je prisutno na gornjoj slici, tekstualno polje 'AGE' prihvaća samo brojeve od 18 do 60. Bit će tri skupa klasa ili grupa.
Dvije će nevaljane klase biti:
a) Manje od ili jednako 17.
b) veće ili jednako 61.
Jedna valjana klasa bit će nešto između 18 i 60.
Stoga smo testne slučajeve sveli na samo 3 testna slučaja na temelju formiranih klasa čime smo pokrili sve mogućnosti. Dakle, testiranje s bilo čijom vrijednošću iz svakog skupa klase dovoljno je za testiranje gornjeg scenarija.
=> Preporučeno čitanje - Što je podjela ekvivalentnosti?
# 2) Analiza granične vrijednosti
Iz samog naziva možemo shvatiti da se u ovoj tehnici usredotočujemo na vrijednosti na granicama jer se utvrđuje da mnoge aplikacije imaju veliku količinu problema na granicama.
Granica znači vrijednosti blizu granice gdje se ponašanje sustava mijenja. U analizi granične vrijednosti ispituju se valjani i nevaljani ulazi kako bi se provjerili problemi.
Na primjer:
Ako želimo testirati polje u kojem bi trebale biti prihvaćene vrijednosti od 1 do 100, tada biramo granične vrijednosti: 1-1, 1, 1 + 1, 100-1, 100 i 100 + 1. Umjesto da koristimo sve vrijednosti od 1 do 100, mi samo koristimo 0, 1, 2, 99, 100 i 101.
# 3) Testiranje tablice odluka
Kao što i samo ime sugerira da, gdje god postoje logični odnosi poput:
Ako
{
(Stanje = Tačno)
zatim akcija1;
}
else akcija2; / * (uvjet = Netačno) * /
Tada će ispitivač identificirati dva izlaza (action1 i action2) za dva uvjeta (True i False). Dakle, na temelju vjerojatnih scenarija oblikovana je tablica odluka za pripremu niza testnih slučajeva.
Na primjer:
Uzmimo primjer XYZ banke koja daje kamatnu stopu za starije muškarce od 10%, a za ostale 9%.
U ovom primjeru uvjet, C1 ima dvije vrijednosti kao true i false, uvjet C2 također ima dvije vrijednosti kao true i false. Broj ukupno mogućih kombinacija tada bi bio četiri. Na ovaj način možemo izvesti test slučajeve pomoću tablice odluka.
privatni poslužitelj vanilla world of warcraft
# 4) Ispitivanje tranzicije države
Ispitivanje prijelaza države je tehnika koja se koristi za ispitivanje različitih stanja ispitnog sustava. Stanje sustava mijenja se ovisno o uvjetima ili događajima. Događaji pokreću stanja koja postaju scenariji i ispitivač ih mora testirati.
Dijagram sustavnog prijelaza stanja daje jasan prikaz promjena stanja, ali je učinkovit za jednostavnije primjene. Složeniji projekti mogu dovesti do složenijih prijelaznih dijagrama, što ga čini manje učinkovitim.
Na primjer:
# 5) Pogađanje pogrešaka
Ovo je klasičan primjer testiranja temeljenog na iskustvu.
U ovoj tehnici ispitivač može koristiti svoje iskustvo o ponašanju i funkcionalnostima aplikacije kako bi pogodio područja koja su sklona pogreškama. Mnogo se kvarova može pronaći pomoću pogađanja pogrešaka, gdje većina programera obično griješi.
Nekoliko uobičajenih pogrešaka koje programeri obično zaborave riješiti:
- Podijeli s nulom.
- Rukovanje null vrijednostima u tekstualnim poljima.
- Prihvaćanje gumba Pošalji bez ikakve vrijednosti.
- Prijenos datoteke bez privitka.
- Prijenos datoteke s veličinom manjom ili većom od ograničenja.
# 6) Metode ispitivanja zasnovane na grafu
Svaka aplikacija je nakupina nekih predmeta. Svi su takvi objekti identificirani i grafikon je pripremljen. Iz ovog grafa objekta identificira se svaki odnos objekta i u skladu s tim zapisuju se testni slučajevi kako bi se otkrile pogreške.
# 7) Ispitivanje usporedbom
Za testiranje ovom metodom koriste se različite neovisne verzije istog softvera.
Kako postupiti korak po korak?
Općenito, kada se slijedi sustavni postupak testiranja projekta / aplikacije, kvaliteta se održava i dugoročno je korisna za daljnje runde testiranja.
- Najvažniji korak je razumijevanje specifikacije zahtjeva aplikacije. Trebao bi postojati odgovarajući dokumentirani SRS (specifikacija softverskog zahtjeva).
- Korištenjem gore spomenutih tehnika ispitivanja crnih kutija kao što su analiza granične vrijednosti, podjela ekvivalentnosti itd. Skupovi valjanih i nevaljanih ulaza identificiraju se sa svojim željenim rezultatima i na temelju toga se dizajniraju test slučajevi.
- Dizajnirani test slučajevi izvršavaju se kako bi se provjerilo prolaze li ili ne, provjeravajući stvarne rezultate s očekivanim rezultatima.
- Neuspjeli test slučajevi podižu se kao Defects / Bug (Greške / greške) i obraćaju se razvojnom timu kako bi ga popravio.
- Nadalje, na temelju otklonjenih nedostataka, ispitivač ponovno testira nedostatke kako bi provjerio ponavljaju li se ili ne.
Prednosti i nedostatci
Prednosti
- Ispitivač ne mora imati tehničku podlogu. Važno je testirati na mjestu korisnika i razmišljati s gledišta korisnika.
- Testiranje se može započeti nakon završetka izrade projekta / aplikacije. I ispitivači i programeri rade neovisno bez miješanja u međusobni prostor.
- Učinkovitiji je za velike i složene primjene.
- Defekti i nedosljednosti mogu se utvrditi u ranoj fazi ispitivanja.
Mane
- Bez ikakvog tehničkog ili programskog znanja postoje šanse zanemarivanja mogućih uvjeta scenarija koji se testira.
- U predviđenom vremenu postoje mogućnosti manjeg testiranja i preskakanja svih mogućih ulaza i njihovog izlaznog testiranja.
- Potpuna pokrivenost testom nije moguća za velike i složene projekte.
Razlika između testiranja bijele kutije i crne kutije
Slijedi nekoliko razlika između njih obje:
Ispitivanje crne kutije | Ispitivanje bijele kutije |
---|---|
To je metoda ispitivanja bez znanja o stvarnom kodu ili unutarnjoj strukturi aplikacije | To je metoda ispitivanja koja ima znanje o stvarnom kodu i unutarnjoj strukturi aplikacije |
Ovo je ispitivanje više razine, poput funkcionalnog ispitivanja. | Ova vrsta ispitivanja izvodi se na nižoj razini ispitivanja, kao što su jedinično testiranje, integracijsko testiranje |
Koncentriran je na funkcionalnost testiranog sustava | Koncentriran je na stvarni kodni program i njegovu sintaksu |
Za testiranje crne kutije potrebna je specifikacija zahtjeva | Za testiranje Bijele kutije potrebni su projektni dokumenti s dijagramima protoka podataka, dijagramima itd. |
Testiranje crne kutije rade testeri | Testiranje bijele kutije rade programeri ili testeri sa znanjem programiranja. |
Zaključak
Ovo su neke od osnovnih točaka koje se tiču testiranja crne kutije i pregleda njezinih tehnika i metoda.
Kako nije moguće sve testirati s ljudskim sudjelovanjem sa 100-postotnom točnošću, ako se gore spomenute tehnike i metode učinkovito koriste, to će sigurno poboljšati kvalitetu sustava.
Da zaključimo, ovo je vrlo korisna metoda za provjeru funkcionalnosti sustava i utvrđivanje većine nedostataka.
Nadam se da biste stekli detaljno znanje o tehnici ispitivanja crnih kutija.
Preporučena literatura
- Ključne razlike između testiranja crne kutije i bijele kutije
- Najbolji alati za testiranje softvera 2021. (Alati za automatizaciju ispitivanja kvalitete)
- Funkcionalno ispitivanje vs nefunkcionalno testiranje
- Vodič za testiranje u parovima ili za sve parove s alatima i primjerima
- Ispitivanje bijele kutije: cjelovit vodič s tehnikama, primjerima i alatima
- Vodič za ispitivanje glasnoće: primjeri i alati za ispitivanje glasnoće
- Vodič za ispitivanje konfiguracije s primjerima
- Preuzimanje e-knjige za testiranje primera