Testiranje bele škatle
White Box Testiranje je tehnika testiranja programske opreme, pri kateri se preizkušajo notranja struktura, oblikovanje in kodiranje programske opreme za preverjanje pretoka vhodno-izhodnih podatkov ter za izboljšanje zasnove, uporabnosti in varnosti. Pri preskušanju bele škatle je koda vidna preizkuševalcem, zato se imenuje tudi Clear box testing, Open box testing, Transparent box testing, testiranje na osnovi kode in testiranje steklene škatle.
Je eden od dveh delov pristopa preizkušanja programske opreme. Njegov primer, testiranje Blackbox, vključuje testiranje z vidika zunanjega ali končnega uporabnika. Po drugi strani testiranje White box v programskem inženiringu temelji na notranjem delovanju aplikacije in se vrti okoli notranjega testiranja.
Izraz "WhiteBox" je bil uporabljen zaradi koncepta prosojne škatle. Jasno polje ali ime WhiteBox simbolizira sposobnost pogleda skozi zunanjo lupino programske opreme (ali "škatle") v njeno notranje delovanje. Prav tako "črna škatla" v "Testiranju črne škatle" simbolizira, da ne moremo videti notranjega delovanja programske opreme, tako da je mogoče preizkusiti samo izkušnjo končnega uporabnika.
V tej vadnici za testiranje bele škatle boste izvedeli-
- Kaj je testiranje bele škatle?
- Kaj preverite pri testiranju bele škatle?
- Kako izvajate testiranje bele škatle?
- Primer testiranja WhiteBox
- Tehnike testiranja bele škatle
- Vrste testiranja bele škatle
- Orodja za testiranje bele škatle
- Prednosti testiranja bele škatle
- Slabosti testiranja WhiteBox
Kaj preverite pri testiranju bele škatle?
Testiranje bele škatle vključuje preizkušanje programske kode za naslednje:
- Notranje varnostne luknje
- Zlomljene ali slabo strukturirane poti v postopkih kodiranja
- Pretok določenih vhodov skozi kodo
- Pričakovana proizvodnja
- Funkcionalnost pogojnih zank
- Testiranje vsakega stavka, predmeta in funkcije na posamezni osnovi
Testiranje se lahko izvede na sistemski, integracijski in enotni ravni razvoja programske opreme. Eden od osnovnih ciljev preizkusa whitebox je preveriti delovni tok aplikacije. Vključuje testiranje vrste vnaprej določenih vhodov glede na pričakovane ali želene izhode, tako da ste, ko določen vložek ne povzroči pričakovanega izhoda, naleteli na napako.
Kliknite tukaj, če video ni dostopen
Kako izvajate testiranje bele škatle?
Da bi vam dali poenostavljeno razlago testiranja bele škatle, smo jo razdelili v dva osnovna koraka . To preizkuševalci počnejo pri preizkušanju aplikacije s tehniko preizkušanja bele škatle:
KORAK 1) RAZUMITE KODO VIRA
Prva stvar, ki jo preizkuševalec pogosto stori, je, da se nauči in razume izvorno kodo aplikacije. Ker testiranje bele škatle vključuje preizkušanje notranjega delovanja aplikacije, mora biti preizkuševalec zelo dobro seznanjen s programskimi jeziki, ki se uporabljajo v aplikacijah, ki jih preizkušajo. Prav tako se mora oseba, ki testira, dobro zavedati varnih praks kodiranja. Varnost je pogosto eden glavnih ciljev testiranja programske opreme. Tester bi moral biti sposoben najti varnostne težave in preprečiti napade hekerjev in naivnih uporabnikov, ki bi lahko zavestno ali nevede vbrizgali zlonamerno kodo v aplikacijo.
2. korak) USTVARITE PRESKUSNE PRIMERE IN IZVEDITE
Drugi osnovni korak do testiranja bele škatle vključuje preizkušanje izvorne kode aplikacije za ustrezen pretok in strukturo. Eden od načinov je, da napišete več kode, da preizkusite izvorno kodo aplikacije. Preizkuševalec bo razvil majhne teste za vsak postopek ali vrsto procesov v aplikaciji. Ta metoda zahteva, da mora preizkuševalec dobro poznati kodo in jo pogosto izvaja razvijalec. Druge metode vključujejo ročno preskušanje, preizkušanje in preskušanje napak ter uporabo orodij za testiranje, kot bomo podrobneje razložili v tem članku.
Primer testiranja WhiteBox
Razmislite o naslednjem delu kode
Printme (int a, int b) {------------ Printme je funkcijaint rezultat = a + b;Če (rezultat> 0)Natisni ("Pozitivno", rezultat)DrugačeNatisni ("Negativno", rezultat)} ----------- Konec izvorne kode
Cilj testiranja WhiteBox v programskem inženiringu je preveriti vse odločitvene veje, zanke in izjave v kodi.
Za izvajanje izjav v zgornjem primeru testiranja bele škatle bi bili primeri WhiteBox
- A = 1, B = 1
- A = -1, B = -3
Tehnike testiranja bele škatle
Glavna tehnika testiranja bele škatle je analiza pokritosti kode. Analiza pokritosti kode odpravlja vrzeli v zbirki testnih primerov. Opredeli področja programa, ki jih niz testnih primerov ne izvaja. Ko so ugotovljene vrzeli, ustvarite testne primere za preverjanje nepreverjenih delov kode, s čimer povečate kakovost programskega izdelka
Na voljo so avtomatizirana orodja za izvajanje analize pokritosti kode. Spodaj je nekaj tehnik analize pokritosti, ki jih lahko uporablja tester škatle:
Izjava o pokritosti : - Ta tehnika zahteva, da se v postopku testiranja programskega inženirstva vsaj enkrat preizkusi vsak možen stavek v kodi.
Pokrivanje podružnic - Ta tehnika preverja vse možne poti (če drugače in druge pogojne zanke) programske aplikacije.
Poleg zgoraj navedenega obstajajo številne vrste pokritosti, kot so kritje pogojev, pokritost več pogojev, pokritost poti, pokritost funkcij itd. Vsaka tehnika ima svoje prednosti in poskuša preizkusiti (pokriti) vse dele programske kode. Z uporabo izjave in pokritosti podružnice na splošno dosežete 80-90% pokritosti kode, kar zadostuje. Sledijo pomembne tehnike testiranja WhiteBox:
- Pokritost izjave
- Pokritost odločitve
- Pokritost podružnice
- Kritje stanja
- Pokrivanje več pogojev
- Končna pokritost stroja
- Pokritost poti
- Preskušanje krmilnega pretoka
- Testiranje pretoka podatkov
Za več podrobnosti glejte ta članek https://www.guru99.com/code-coverage.html
Vrste testiranja bele škatle
Preskušanje bele škatle zajema več vrst testiranja, ki se uporabljajo za oceno uporabnosti aplikacije, bloka kode ali določenega programskega paketa. Spodaj so navedeni -
-
Enotno testiranje: To je pogosto prva vrsta testiranja, opravljenega v aplikaciji. Enotno testiranje se izvaja na vsaki enoti ali bloku kode, ko je razvita. Enotno testiranje v bistvu opravi programer. Kot razvijalec programske opreme razvijete nekaj vrstic kode, eno samo funkcijo ali predmet in ga preizkusite, da se prepričate, da deluje, preden nadaljujete s preskušanjem enote, ki pomaga prepoznati večino napak že na začetku življenjskega cikla razvoja programske opreme. Napake, odkrite v tej fazi, so cenejše in jih je enostavno odpraviti.
-
Preskušanje puščanja pomnilnika : Uhajanje pomnilnika je glavni vzrok za počasnejše delovanje aplikacij. Strokovnjak za kakovost, ki ima izkušnje z odkrivanjem uhajanja pomnilnika, je bistvenega pomena v primerih, ko imate programsko aplikacijo, ki deluje počasi.
Poleg zgoraj navedenih je nekaj vrst preizkušanja del preizkusov črne in bele škatle. Našteti so spodaj
- Preskušanje penetracije belega polja: pri tem preizkušanju ima preizkuševalec / razvijalec popolne informacije o izvorni kodi aplikacije, podrobne informacije o omrežju, vključene naslove IP in vse informacije o strežniku, na katerih deluje aplikacija. Cilj je napasti kodo z več zornih kotov in izpostaviti varnostne grožnje
- Preskušanje mutacije White Box : Mutacijsko testiranje se pogosto uporablja za odkrivanje najboljših tehnik kodiranja za razširitev programske rešitve.
Orodja za testiranje bele škatle
Spodaj je seznam najboljših orodij za testiranje bele škatle.
- Parasoft Jtest
- EclEmma
- NUnit
- PyUnit
- HTMLUnit
- CppUnit
Prednosti testiranja bele škatle
- Optimizacija kode z iskanjem skritih napak.
- Preizkuse belih skrinjic je mogoče enostavno avtomatizirati.
- Testiranje je temeljitejše, saj so običajno zajete vse kode.
- Testiranje se lahko začne zgodaj v SDLC, tudi če GUI ni na voljo.
Slabosti testiranja WhiteBox
- Preskušanje bele škatle je lahko precej zapleteno in drago.
- Razvijalci, ki ponavadi izvajajo testne primere bele škatle, to ne marajo. Testiranje bele škatle s strani razvijalcev ni podrobno, lahko privede do proizvodnih napak.
- Testiranje bele škatle zahteva strokovna sredstva s podrobnim razumevanjem programiranja in izvajanja.
- Preizkušanje bele škatle je dolgotrajno, večje programske aplikacije si vzamejo čas za popolno preizkušanje.
Končne opombe:
- Testiranje bele škatle je lahko precej zapleteno. Zapletenost je povezana z aplikacijo, ki se preskuša. Majhno aplikacijo, ki izvede eno preprosto operacijo, bi lahko preizkusili v belih škatlah v nekaj minutah, medtem ko večje programske aplikacije trajajo dneve, tedne in celo dlje, da jih popolnoma preizkusite.
- Preskušanje bele škatle pri preizkušanju programske opreme je treba opraviti na programski aplikaciji, saj se razvija po pisanju in znova po vsaki spremembi