Što je ispitivanje BIJELE kutije? Tehnike, Primjer & Vrste

Sadržaj:

Anonim

Ispitivanje bijele kutije

White Box Testiranje je tehnika softverskog testiranja u kojoj se testiraju unutarnja struktura, dizajn i kodiranje softvera kako bi se provjerio protok ulazno-izlaznih podataka i poboljšalo dizajn, upotrebljivost i sigurnost. U testiranju bijelih kutija, kôd je vidljiv ispitivačima, pa se naziva i testiranje prozirnih kutija, testiranje otvorenih kutija, ispitivanje prozirnih kutija, testiranje na temelju koda i testiranje staklenih kutija.

To je jedan od dva dijela Box Testing pristupa ispitivanju softvera. Njegov kolega, Blackbox testiranje, uključuje testiranje iz perspektive vanjskog ili krajnjeg korisnika. S druge strane, testiranje bijele kutije u softverskom inženjerstvu temelji se na unutarnjem radu aplikacije i vrti se oko internog testiranja.

Izraz "WhiteBox" korišten je zbog koncepta prozirne kutije. Prozirni okvir ili naziv WhiteBox simbolizira sposobnost progledavanja vanjske ljuske softvera (ili "kutije") u njegovo unutarnje djelovanje. Isto tako, "crna kutija" u "Testiranju crne kutije" simbolizira nemogućnost uvida u unutarnji rad softvera tako da se može testirati samo iskustvo krajnjeg korisnika.

U ovom vodiču za testiranje bijele kutije naučit ćete-

  • Što je testiranje bijele kutije?
  • Što provjeravate u testiranju bijele kutije?
  • Kako se izvodi testiranje bijele kutije?
  • Primjer testiranja WhiteBox-a
  • Tehnike ispitivanja bijele kutije
  • Vrste ispitivanja bijele kutije
  • Alati za ispitivanje bijele kutije
  • Prednosti testiranja bijele kutije
  • Mane WhiteBox testiranja

Što provjeravate u testiranju bijele kutije?

Testiranje bijele kutije uključuje testiranje softverskog koda za sljedeće:

  • Rupe u unutarnjoj sigurnosti
  • Prekinuti ili loše strukturirani putovi u procesima kodiranja
  • Protok specifičnih ulaza kroz kod
  • Očekivani izlaz
  • Funkcionalnost uvjetnih petlji
  • Testiranje svake izjave, predmeta i funkcije na pojedinačnoj osnovi

Testiranje se može provesti na razini sustava, integracije i jedinici razvoja softvera. Jedan od osnovnih ciljeva whitebox testiranja je provjera radnog toka aplikacije. Uključuje testiranje niza unaprijed definiranih ulaza u odnosu na očekivane ili željene izlaze, tako da kada određeni ulaz ne rezultira očekivanim izlazom, naišli ste na grešku.

Kliknite ovdje ako videozapis nije dostupan

Kako se izvodi testiranje bijele kutije?

Da bismo vam pružili pojednostavljeno objašnjenje testiranja bijele kutije, podijelili smo ga u dva osnovna koraka . To je ono što testeri rade prilikom testiranja aplikacije tehnikom bijelog okvira:

KORAK 1) RAZUMIJEVANJE KODA IZVORA

Prvo što će tester često učiniti je naučiti i razumjeti izvorni kod aplikacije. Budući da testiranje bijele kutije uključuje testiranje unutarnjeg rada aplikacije, ispitivač mora biti vrlo upućen u programske jezike koji se koriste u aplikacijama koje testiraju. Također, osoba koja testira mora biti jako svjesna prakse sigurnog kodiranja. Sigurnost je često jedan od primarnih ciljeva testiranja softvera. Tester bi trebao biti u mogućnosti pronaći sigurnosne probleme i spriječiti napade hakera i naivnih korisnika koji bi mogli svjesno ili nesvjesno ubrizgati zlonamjerni kôd u aplikaciju.

Korak 2) IZRADITE TESTOVE I IZVRŠITE

Drugi osnovni korak do testiranja bijele kutije uključuje testiranje ispravnog protoka i strukture izvornog koda aplikacije. Jedan od načina je pisanje više koda za testiranje izvornog koda aplikacije. Tester će razviti male testove za svaki postupak ili seriju procesa u aplikaciji. Ova metoda zahtijeva da ispitivač mora dobro poznavati kôd, a to često radi programer. Ostale metode uključuju ručno testiranje, ispitivanje i testiranje pogrešaka te upotrebu alata za testiranje, kao što ćemo dalje objasniti u ovom članku.

Primjer testiranja WhiteBox-a

Razmotrite sljedeći dio koda

Printme (int a, int b) {------------ Printme je funkcijarezultat int = a + b;Ako (rezultat> 0)Ispis ("Pozitivno", rezultat)DrugoIspis ("Negativno", rezultat)} ----------- Kraj izvornog koda 

Cilj testiranja WhiteBox-a u softverskom inženjerstvu je provjeriti sve grane odluka, petlje i izjave u kodu.

Da bi se izvršile izjave u gornjem primjeru testiranja bijele kutije, primjeri bi bili WhiteBox test

  • A = 1, B = 1
  • A = -1, B = -3

Tehnike ispitivanja bijele kutije

Glavna tehnika testiranja Bijele kutije je analiza pokrivenosti koda. Analiza pokrivenosti koda eliminira praznine u paketu test slučajeva. Identificira područja programa koja se ne provode u skupu testnih slučajeva. Jednom kada se utvrde praznine, stvarate test slučajeve za provjeru neprovjerenih dijelova koda, čime povećavate kvalitetu softverskog proizvoda

Dostupni su automatizirani alati za provođenje analize pokrivenosti koda. Ispod je nekoliko tehnika analize pokrivenosti koje ispitivač kutija može koristiti:

Obuhvat izjave : - Ova tehnika zahtijeva da se svi mogući navodi u kodu testiraju najmanje jednom tijekom procesa testiranja softverskog inženjerstva.

Pokrivenost grana - Ova tehnika provjerava svaki mogući put (ako nije i ostale uvjetne petlje) softverske aplikacije.

Osim gore navedenog, postoje brojni tipovi pokrivenosti kao što su Pokrivenost stanja, Pokrivenost višestrukih uvjeta, Pokrivenost puta, Pokrivanje funkcije itd. Svaka tehnika ima svoje zasluge i pokušava testirati (pokriti) sve dijelove softverskog koda. Korištenjem Izjave i pokrivenosti podružnica obično postižete 80-90% pokrivenosti koda što je dovoljno. Slijede važne tehnike testiranja WhiteBox:

  • Obuhvat izvještaja
  • Pokrivenost odlukom
  • Pokrivenost podružnice
  • Stanje Pokrivenost
  • Pokrivenost višestrukim uvjetima
  • Pokrivenost konačnog državnog stroja
  • Pokrivenost puta
  • Ispitivanje kontrolnog protoka
  • Ispitivanje protoka podataka

Pogledajte ovaj članak da biste saznali više detalja https://www.guru99.com/code-coverage.html

Vrste ispitivanja bijele kutije

Testiranje bijele kutije obuhvaća nekoliko vrsta testiranja koje se koriste za procjenu upotrebljivosti aplikacije, bloka koda ili određenog softverskog paketa. Ovdje su navedeni dolje -

  • Jedinstveno testiranje: To je često prva vrsta testiranja koja se radi na aplikaciji. Jedinstveno testiranje vrši se na svakoj jedinici ili bloku koda kako je razvijeno. Jedinstveno testiranje u osnovi radi programer. Kao programer softvera, razvijate nekoliko redaka koda, jednu funkciju ili objekt i testirate ga kako biste bili sigurni da radi prije nastavka Jedinstveno testiranje pomaže identificirati većinu programskih pogrešaka, rano u životnom ciklusu razvoja softvera. Greške identificirane u ovoj fazi jeftinije su i lako ih je popraviti.

  • Testiranje curenja memorije : curenje memorije vodeći je uzrok usporenijeg rada aplikacija. QA stručnjak s iskustvom u otkrivanju curenja memorije neophodan je u slučajevima kada imate sporo pokrenutu softversku aplikaciju.

Osim gore navedenog, nekoliko vrsta ispitivanja dio je testiranja i crne i bijele kutije. Navedeni su kao dolje

  • Ispitivanje penetracije bijelog okvira: U ovom testiranju ispitivač / programer ima potpune informacije o izvornom kodu aplikacije, detaljne mrežne informacije, uključene IP adrese i sve podatke o poslužitelju na kojima aplikacija radi. Cilj je napadati kôd iz nekoliko kutova kako bi se izložile sigurnosne prijetnje
  • Ispitivanje bijele kutije : Ispitivanje mutacija često se koristi za otkrivanje najboljih tehnika kodiranja koje se koriste za proširenje softverskog rješenja.

Alati za ispitivanje bijele kutije

Ispod je popis najboljih alata za testiranje bijelih kutija.

  • Parasoft Jtest
  • EclEmma
  • NUnit
  • PyUnit
  • HTMLUnit
  • CppUnit

Prednosti testiranja bijele kutije

  • Optimizacija koda pronalaženjem skrivenih pogrešaka.
  • Slučajevi bijelih kutija mogu se lako automatizirati.
  • Testiranje je temeljitije jer su obično pokrivene sve staze koda.
  • Testiranje može započeti rano u SDLC-u, čak i ako GUI nije dostupan.

Mane WhiteBox testiranja

  • Testiranje bijele kutije može biti prilično složeno i skupo.
  • Programeri koji obično izvršavaju slučajeve bijelih kutija to se gnušaju. Testiranje bijele kutije od strane programera nije detaljno, može dovesti do proizvodnih pogrešaka.
  • Testiranje bijele kutije zahtijeva profesionalne resurse, s detaljnim razumijevanjem programiranja i implementacije.
  • Testiranje bijele kutije oduzima puno vremena, većim programima treba vremena za potpuno testiranje.

Završne napomene:

  • Testiranje bijele kutije može biti prilično složeno. Složenost ima puno veze s aplikacijom koja se testira. Mala aplikacija koja izvodi jednu jednostavnu operaciju mogla bi se testirati u bijeloj kutiji za nekoliko minuta, dok većim programskim aplikacijama trebaju potpuno dani, tjedni i više vremena.
  • Testiranje bijele kutije u testiranju softvera trebalo bi se provoditi na softverskoj aplikaciji jer se razvija nakon što je napisana i ponovno nakon svake izmjene