White box je kategória testovania softvéru, ktorá sa vzťahuje na metódy testovania fungovania vnútornej štruktúry a návrhu softvéru. Je v kontraste s testovaním čiernej skrinky, čo je testovanie, ktoré sa nezaoberá vnútornými operáciami softvéru, ale testuje len vonkajšie výstupy softvéru.
V tomto článku sa budeme venovať téme white box testovania: čo to je, ako funguje a aké typy nástrojov na testovanie softvéru môžu testerom a vývojárom pomôcť pri testovaní softvéru.
Čo je testovanie bielych polí?
Testovanie bielej skrinky je technika testovania softvéru, ktorá zahŕňa testovanie vnútornej štruktúry a návrhu softvéru na rozdiel od vonkajších výstupov alebo skúseností koncového používateľa, ktoré sa testujú pri testovaní čiernej skrinky.
Testovanie bielej škatule je zastrešujúci pojem, ktorý zahŕňa mnoho rôznych typov testovania softvéru vrátane testovania jednotiek a integračného testovania. Keďže testovanie bielych skriniek zahŕňa testovanie kódu a programovania, vykonávanie testovania bielych skriniek zvyčajne vyžaduje určité znalosti počítačového programovania.
Testovanie bielej skrinky v softvérovom inžinierstve môže zahŕňať testovanie kódu a vnútorného dizajnu softvéru s cieľom overiť vstupno-výstupný tok a skontrolovať dizajn, použiteľnosť a bezpečnosť softvéru.
Testovanie bielej skrinky umožňuje testerom kontrolovať vnútorné fungovanie systému a zároveň overovať, či vstupy vedú k určitým očakávaným výstupom.
Testovanie bielych skriniek je základným krokom pri testovaní softvéru, pretože je to jediný typ testovania, ktorý zohľadňuje fungovanie samotného kódu.
1. Kedy a prečo potrebujete biely box
testovanie v oblasti testovania softvéru a inžinierstva?
Testovanie bielej skrinky sa môže vykonávať v rôznych fázach testovacieho cyklu s cieľom overiť funkčnosť vnútorného kódu a štruktúry.
Najčastejšie sa white box testovanie vyskytuje, keď vývojári a testeri vykonávajú testovanie jednotiek a niekedy počas integračného testovania.
Podľa definície sa testovanie jednotiek považuje za typ testovania bielej skrinky, zatiaľ čo integračné testovanie môže mať spoločné črty testovania bielej aj čiernej skrinky, ale vo všeobecnosti sa považuje za formu testovania čiernej skrinky.
Inak sa testovanie bielej škatule môže použiť aj ad hoc na overenie vnútorného fungovania zostaveného softvéru. Testovanie bielej škatule je najhospodárnejší spôsob, ako zvýšiť pokrytie testov, ak je to potrebné, a je to tiež jednoduchý spôsob, ako overiť, ako fungujú konkrétne časti kódu, alebo otestovať oblasti zostavy softvéru, o ktorých majú testeri podozrenie, že nie sú dostatočne otestované.
Na identifikáciu bezpečnostných chýb a iných zraniteľností sa môžu použiť aj formálne kontroly kódu, ktoré sa vykonávajú pomocou testovania bielych skriniek. Podobne, ak sú prvky kódu nefunkčné, testovanie bielej škatule môže softvérovým inžinierom pomôcť určiť, kde je chyba.
2. Keď nepotrebujete testovať biely box
Vo väčšine prípadov, keď softvéroví inžinieri a testeri vykonávajú testovací cyklus nového softvéru, je na overenie vnútorného fungovania kódu potrebné určité množstvo testov bielej skrinky.
Testovanie jednotiek je typom testovania bielej skrinky, ktoré vykonávajú vývojári s cieľom overiť, či jednotlivé jednotky fungujú podľa očakávaní. Tento včasný typ testovania umožňuje vývojárom identifikovať chyby a nedostatky ešte pred formálnym testovaním v prostredí QA.
Po jednotkovom testovaní nasleduje integračné testovanie, systémové testovanie a užívateľské akceptačné testovanie. Vo všeobecnosti sa považujú za formy testovania čiernej skrinky, ktoré zvyčajne nezahŕňajú veľa techník testovania bielej skrinky.
V niektorých prípadoch však môžu testeri a vývojári počas týchto fáz použiť testovanie bielych skriniek na identifikáciu konkrétnych chýb v kóde. Ak v tejto fáze nič nenasvedčuje tomu, že by s kódom bolo niečo v neporiadku, a všetky testy čiernej skrinky sú úspešné, mnohé testovacie tímy môžu usúdiť, že nie je potrebné vykonávať ďalšie testy bielej skrinky.
3. Kto sa podieľa na testovaní bielych skriniek?
Testovanie bielej škatule takmer vždy vykonávajú vývojári softvéru a softvéroví inžinieri. Dôvodom je, že testovanie bielych polí si vyžaduje podrobné znalosti počítačového kódu a kódovacích techník a väčšina testerov QA nemá technické zručnosti potrebné na vykonávanie testovania bielych polí.
Unit testing, primárny typ testovania bielych skriniek, vykonávajú vývojári vždy vo vývojovom prostredí. Vývojári môžu vykonávať aj testovanie bielych skriniek podľa potreby, aby overili, ako fungujú rôzne prvky kódu, alebo skontrolovali, či boli chyby správne opravené.
Výhody testovania bielych polí
Testovanie bielej skrinky umožňuje vývojárom a softvérovým inžinierom testovať viac aspektov kódu ako testovanie čiernej skrinky.
Zatiaľ čo testovanie čiernej skrinky nám môže povedať, ako softvérová zostava funguje pre koncových používateľov, biela skrinka nám môže povedať viac o tom, ako funguje softvérový kód. Čistý a efektívny kód je pri vývoji softvéru nevyhnutný, najmä ak chcú vývojári kód neskôr opätovne použiť alebo v budúcnosti pridávať opravy a aktualizácie.
1. Maximalizujte pokrytie testov
Testovanie bielej škatule môže testerom pomôcť maximalizovať pokrytie testov. Testovanie čo najväčšej časti softvérového kódu zvyčajne maximalizuje šancu na odhalenie akýchkoľvek chýb alebo omylov prítomných v kóde a účelom testovania bielych skriniek je zvyčajne otestovať čo najväčšiu časť kódu.
Na druhej strane, pri testovaní čiernej skrinky ide jednoducho o vykonávanie testovacích prípadov, ktoré môžu, ale nemusia poskytovať široké pokrytie kódu.
2. Vyhľadávanie skrytých chýb a nedostatkov
Jednou z najväčších výhod white box testovania je, že keďže white box testovanie overuje internú funkčnosť, uľahčuje vývojárom nájsť chyby a nedostatky, ktoré by inak mohli byť skryté hlboko v kóde.
Okrem identifikácie prítomnosti chýb je pri testovaní bielych skriniek zvyčajne jednoduchšie určiť, kde presne v kóde sa chyba nachádza, pretože tento typ testovania je veľmi špecifický.
3. Jednoduchosť automatizácie
Je veľmi jednoduché automatizovať testovanie bieleho políčka, najmä pri testovaní jednotiek. Jednotkové testy zvyčajne vyžadujú, aby vývojári testovali malé časti kódu jednotlivo, aby zistili, či bežia podľa očakávaní. Tento postup sa dá veľmi ľahko automatizovať, čo znamená, že ide o rýchlu a efektívnu formu testovania softvéru.
To je jeden z dôvodov, prečo sa jednotkové testovanie vykonáva pred inými, časovo náročnejšími typmi testovania.
4. Časovo efektívne
Testovanie bielych polí je časovo úsporné z viacerých dôvodov.
Ako už bolo spomenuté vyššie, väčšinu typov testovania bielych skriniek je možné pomerne ľahko automatizovať, čo znamená, že testovanie bielych skriniek je často rýchlejšie ako testovanie čiernych skriniek. Okrem toho testovanie bielych skriniek uľahčuje vývojárom lokalizáciu chýb a nedostatkov, ktoré identifikujú v kóde, pretože ich nachádzajú počas testovania samotného kódu.
5. Kvalita kódu
Testovanie bielej škatule umožňuje vývojárom pozrieť sa na napísaný kód a posúdiť jeho kvalitu a čistotu.
Prechádzanie kódu po častiach dáva vývojárom možnosť odstrániť nepotrebné časti kódu a vyčistiť kód, čo uľahčuje opätovné použitie a úpravu častí kódu v budúcnosti.
Môže to tiež prinútiť vývojárov, aby zvážili, ako je kód implementovaný a či sa bude v budúcnosti dobre škálovať.
Výzvy testovania bielych skriniek
Testovanie bielych polí nie je bez problémov. Existuje niekoľko dôvodov, prečo sa niektorým vývojovým tímom môže zdať testovanie bielej skrinky ťažšie ako testovanie čiernej skrinky, ako aj ďalšie dôvody, prečo ho niektorí ľudia môžu považovať za menej dôležité ako testovanie čiernej skrinky.
1. Technické prekážky
Testovanie bielej skrinky je spojené s technickými prekážkami, ktoré testovanie čiernej skrinky nemá. Na testovanie bielych skriniek potrebujú testeri znalosti o vnútornom fungovaní systému, čo v prípade testovania softvéru zvyčajne znamená znalosti programovania.
Preto testovanie bielych skríň takmer vždy vykonávajú softvéroví inžinieri a vývojári a nevykonávajú ho testeri QA, ktorí majú len zriedka technické zručnosti potrebné na vykonávanie tohto typu testovania.
2. Náklady
Testovanie bielej skrinky môže byť v porovnaní s testovaním čiernej skrinky nákladnejšie, pretože tento typ testovania je veľmi dôkladný.
Vývojári musia stráviť veľa času písaním náročných jednotkových testov a testy bielych skriniek sa často nedajú opätovne použiť pre iné aplikácie, čo znamená, že testovanie bielych skriniek zvyčajne stojí dosť veľa.
3. Presnosť
Testovanie bielych skriniek nie je vždy najpresnejšou metódou testovania softvéru a ak by sa vývojové tímy spoliehali len na testovanie bielych skriniek, viedlo by to k množstvu prehliadnutých chýb a prípadov.
Testovanie bielej skrinky overuje iba funkcie, ktoré už existujú, zatiaľ čo testovanie čiernej skrinky sa môže použiť na testovanie čiastočne implementovaných funkcií alebo na identifikáciu funkcií, ktoré v softvéri skutočne chýbajú a mali by sa zahrnúť do neskorších iterácií.
4. Rozsah pôsobnosti
Testovanie bielej škatule nám zvyčajne nepovie veľa o používateľskom zážitku alebo konečnom výsledku funkcií zabudovaných do softvéru.
Vývojári síce môžu pomocou testovania bielej skrinky overiť, či kód funguje tak, ako má, ale bez kombinácie testovania bielej skrinky s testovaním čiernej skrinky nemôžu dospieť k záveru, že funkčný kód poskytuje koncovým používateľom správne výstupy.
To znamená, že rozsah testovania bielych skriniek a to, koľko nám môže povedať o softvéri, je obmedzené.
Charakteristiky testov bielych skriniek
Testovanie bielej skrinky možno definovať na základe konkrétnych charakteristík, ktoré ho odlišujú od iných foriem testovania, ako je testovanie čiernej skrinky a šedej skrinky.
Väčšinu týchto charakteristík možno posudzovať z hľadiska toho, ako sa líšia od charakteristík testovania čiernej skrinky a ako to odlišuje testovanie bielej skrinky a testovanie čiernej skrinky.
1. Udržiavateľnosť
Testovanie bielych polí vedie k vyššej úrovni udržiavateľnosti kódu, čím sa zjednodušuje práca, ktorú musí váš tím vykonávať v budúcnosti.
Keďže na kód a jeho prácu s údajmi sa neustále dohliada, jeho údržba je oveľa jednoduchšia, pretože chápete, kde a prečo vznikajú problémy. Vďaka tomu sa zjednodušuje aj kód pre budúce aktualizácie, pretože nemusíte vyvíjať rozsiahle a zložité záplaty pre neznáme a jednoduché problémy.
2. Flexibilita
Testovanie bielych skriniek prebieha na kóde, ktorý je dostatočne flexibilný na to, aby relatívne rýchlo prijímal zmeny. Neflexibilný kód, napríklad kód, ktorý je súčasťou modulu alebo integrácie tretej strany, bráni testerovi bielej skrinky v rýchlych zmenách.
Zameranie sa na kód, ktorý môžete zmeniť hneď, ako objavíte problém, robí testovanie bielych skriniek vysoko prispôsobivým a znamená, že problémy programu sa vyriešia oveľa skôr.
3. Modularita
Testovaniu bielych skriniek sa darí v kóde, ktorý má určitý stupeň modularity, čo znamená, že jednotlivé prvky softvéru sú od seba jasne oddelené.
Ak má program problém so „špagetovým kódom“, v ktorom je každý aspekt prepojený s iným, testovanie bielej škatule sa stáva nekonečne zložitejším, pretože tester musí preskúmať celý program, a nie konkrétnu jednotku.
4. Integrácia
Testovanie bielej škatule je mimoriadne užitočné pri integračnom testovaní. Testeri môžu zistiť, či funkcia funguje až do okamihu, keď opúšťa príslušný softvér, a či sa vracia z integrovaného systému tak funkčná, ako sa očakáva.
Je to veľmi informatívne a organizácia vďaka tomu vie, či je problém lokálny alebo je súčasťou integrovanej platformy.
Čo testujeme v testoch bielej škatule?
Testy bielej skrinky sa používajú na testovanie funkcií kódu, ktoré nie je možné overiť metódami testovania čiernej skrinky. To môže znamenať testovanie fungovania samotného kódu, ktoré vývojárom umožňuje pochopiť príčiny a následky rôznych aspektov kódu.
Vývojári používajú testovanie bieleho políčka na testovanie bezpečnostných dier, príkazov a funkcií, výstupov a ciest v kóde.
1. Vnútorné bezpečnostné diery
Testovanie bielych skriniek sa môže použiť na hľadanie bezpečnostných medzier a zraniteľností v kóde, ktoré by hackeri a kyberzločinci mohli v budúcnosti využiť.
Testovanie bielych skriniek sa môže použiť na kontrolu dodržiavania osvedčených bezpečnostných postupov počas fázy vývoja a na hľadanie bezpečnostných chýb, ktoré by sa mohli opraviť pred tým, ako sa kód posunie do ďalšieho testovania.
2. Cesty v procesoch kódovania
Testovanie bielej škatule umožňuje vývojárom testovať cesty, ktoré spájajú rôzne prvky kódu. Vývojári netestujú len logiku kódu, ale môžu sa pozrieť aj na štruktúru a hygienu kódu.
Dobrý, čistý kód neobsahuje žiadne zbytočné riadky alebo nefunkčné prvky, ktoré nefungujú podľa očakávaní, aj keď externé výstupy testovania čiernej skrinky sú podľa očakávaní.
3. Očakávané výstupy
Testovanie bielej skrinky môže tiež testovať očakávané výstupy kódu rovnakým spôsobom ako testovanie čiernej skrinky, hoci testeri tak robia skôr na základe kódu než pomocou aplikácie, ako to môžu robiť testeri pri testovaní čiernej skrinky.
Vývojári testujú očakávané výstupy tak, že postupne overujú vstupy a kontrolujú, či výsledný výstup zodpovedá očakávaniam.
4. Výroky, objekty a funkcie
Vývojári softvéru môžu pomocou techník white box testovania zabezpečiť, aby sa príkazy, objekty a funkcie v kóde správali logicky a aby ich výsledkom boli očakávané výstupy.
5. Funkčnosť podmienených slučiek
Testovanie bieleho políčka možno použiť aj na kontrolu funkčnosti podmienených slučiek vrátane jednoduchých, spojitých a vnorených slučiek. Vývojári skontrolujú, či sú tieto cykly efektívne, či spĺňajú požiadavky podmienenej logiky a či správne pracujú s lokálnymi a globálnymi premennými.
Vyjasnenie niektorých nejasností:
Testovanie bielej skrinky vs. čiernej skrinky vs. sivej skrinky
White box testing, black box testing a grey box testing sú termíny, ktoré testeri softvéru používajú na označenie rôznych kategórií testovania alebo rôznych metód testovania.
Moderný pohľad na tieto rozdiely v testovaní je taký, že hranice medzi jednotlivými typmi testovania sú čoraz nejasnejšie, pretože rôzne typy testovania často kombinujú prvky testovania bielej aj čiernej skrinky a odvodzujú testy z dokumentov na rôznych úrovniach abstrakcie.
Napriek tomu existujú medzi týmito formami testovania dôležité rozdiely.
1. Čo je to testovanie čiernej skrinky?
Testovanie čiernej skrinky je forma testovania softvéru, pri ktorej funkčnosť softvéru kontrolujú testeri, ktorí nemajú žiadne znalosti o vnútornej štruktúre kódu alebo o tom, ako implementovať kód na technickejšej úrovni.
Testovanie čiernej skrinky testuje iba externé výstupy softvéru, alebo inými slovami, testuje to, čo koncový používateľ zažije pri používaní softvéru.
Testovanie čiernej skrinky je známe aj ako behaviorálne testovanie, pretože testuje, ako sa softvér správa za určitých podmienok.
Testeri môžu pomocou testovania čiernej skrinky posúdiť, ako sa správajú rôzne funkcie softvéru, a porovnať ich s očakávaniami, aby sa uistili, že softvér spĺňa požiadavky používateľov. Testovanie čiernej skrinky sa používa pri testovaní systému a akceptačnom testovaní na overenie rôznych funkcií a kontrolu, či systém funguje podľa očakávaní, keď funguje ako celok.
Pri testovaní čiernej skrinky používatelia píšu testovacie prípady na individuálne overenie rôznych prvkov. Keďže testovanie čiernej skrinky si nevyžaduje rovnaké technické zručnosti ako testovanie bielej skrinky, testovanie čiernej skrinky zvyčajne vykonávajú testeri v prostredí QA a nie vývojári.
Automatizáciu testovania čiernej skrinky je zvyčajne jednoduchšie automatizovať v porovnaní s testovaním bielej skrinky pomocou nástrojov na automatizáciu end-to-end, ako je ZAPTEST.
Aké sú rozdiely medzi testovaním bielej a čiernej skrinky?
Hlavný rozdiel medzi testovaním čiernej skrinky a testovaním bielej skrinky je v tom, čo sa testuje.
Testovanie čiernej skrinky sa týka testovania vonkajších výstupov zostaveného softvéru, zatiaľ čo testovanie bielej skrinky sa týka testovania toho, čo sa deje pod kapotou.
Niektoré z hlavných rozdielov medzi testovaním čiernej skrinky a testovaním bielej skrinky sú:
Účel
Účelom testovania čiernej skrinky je overiť, či systém funguje tak, ako koncový používateľ očakáva, zatiaľ čo účelom testovania bielej skrinky je skontrolovať kvalitu a integritu softvérového kódu.
Napríklad pri testovaní čiernej skrinky videohry môže koncový používateľ vyskúšať hru a posúdiť ju z hľadiska svojich skúseností, pričom testovanie bielej skrinky v rámci toho istého projektu zabezpečí, že zadávanie konkrétnych vstupov vedie k tomu, že postava vykoná správnu akciu.
Proces
Procesy používané pri testovaní bielej a čiernej skrinky sa veľmi líšia. Testovanie bielych skriniek je oveľa jednoduchšie automatizovať ako testovanie čiernych skriniek a zvyčajne sa testovanie čiernych skriniek musí automatizovať pomocou nástrojov na automatizáciu softvéru.
Napríklad pri testovaní databázy test bielej skrinky zahŕňa automatizované zadávanie údajov s cieľom skontrolovať, či sú všetky výsledky správne, pričom testovanie čiernej skrinky zahŕňa používateľov, ktorí replikujú manuálne procesy a podávajú o nich správy bez použitia automatizačného systému.
Testery
Testovanie čiernej skrinky takmer vždy vykonávajú v prostredí QA profesionálni testeri softvéru, zatiaľ čo testovanie bielej skrinky vykonávajú vývojári softvéru a inžinieri, ktorí majú podrobnejšie technické znalosti o zdroji kódu.
Techniky
Pri testovaní čiernej skrinky sa používajú rôzne techniky, ako napríklad rozdelenie ekvivalencie, analýza hraničných hodnôt a testovanie pomocou rozhodovacích tabuliek. Pri testovaní bielych polí sa používajú techniky ako pokrytie rozhodnutiami, pokrytie podmienkami a pokrytie príkazmi.
Prevádzka
Metodiky testovania čiernej skrinky sú vhodné pre vyššie úrovne testovania, ako je testovanie systému a akceptačné testovanie, zatiaľ čo testovanie bielej skrinky je vhodnejšie pre nižšie úrovne testovania, ako je testovanie jednotiek a integračné testovanie.
Z tohto dôvodu sa testovanie bielej skrinky zvyčajne vykonáva pred väčšinou foriem testovania čiernej skrinky.
2. Čo je to testovanie šedej škatule?
Testovanie šedej škatule je technika testovania softvéru, ktorá sa používa na testovanie softvérových produktov a aplikácií testermi, ktorí môžu mať čiastočné znalosti o vnútornej štruktúre aplikácie, ale nie úplné.
Testovanie šedej skrinky môže kombinovať prvky testovania čiernej skrinky aj testovania bielej skrinky, aby vývojári a testeri mohli identifikovať chyby v kóde a nájsť chyby špecifické pre daný kontext.
Testovanie šedej skrinky kombinuje vlastnosti testovania čiernej skrinky aj testovania bielej skrinky. Testeri musia mať určité znalosti o vnútornom fungovaní systému ako pri testovaní bielej skrinky, ale tieto znalosti používajú na vytváranie testovacích prípadov a vykonávanie týchto testovacích prípadov na úrovni funkčnosti ako pri testovaní čiernej skrinky.
Testovanie šedej skrinky ponúka mnohé výhody testovania čiernej aj bielej skrinky a zároveň je relatívne časovo efektívne a flexibilné.
Aké sú rozdiely medzi testovaním bielej a šedej škatule?
Keďže testovanie šedej skrinky ponúka niektoré rovnaké funkcie ako testovanie čiernej skrinky, medzi testovaním šedej skrinky a testovaním bielej skrinky existujú veľké rozdiely, aj keď možno nie také veľké ako pri testovaní čiernej skrinky.
Medzi najväčšie rozdiely medzi testovaním šedej škatule a testovaním bielej škatule patria:
Štrukturálne znalosti
Pri testovaní bielej skrinky by mal byť osobe vykonávajúcej testovanie plne známy vnútorný návrh a štruktúra kódu. Pri testovaní šedej skrinky je vnútorná štruktúra kódu zvyčajne známa len čiastočne.
Zúčastnené osoby
Testovanie bielej škatule vykonávajú takmer výlučne vývojári softvéru a softvéroví inžinieri, zatiaľ čo testovanie šedej škatule môžu vykonávať koncoví používatelia, testeri a vývojári.
Účinnosť
Testovanie bielych skriniek sa považuje za časovo najnáročnejší typ testovania softvéru, zatiaľ čo testovanie šedých skriniek využíva niektoré výhody testovania čiernych skriniek, aby sa skrátil čas potrebný na vykonanie testov.
Operácia
Pri testovaní bielej skrinky vývojári jednoducho napíšu kód na implementáciu testov bielej skrinky a tento kód spustia. Pri testovaní šedej skrinky, podobne ako pri testovaní čiernej skrinky, testeri vykonávajú funkčné testy, aby posúdili, ako systém funguje navonok.
Pokrytie
Testovanie bielej škatule je najvyčerpávajúcejším typom testovania, zatiaľ čo pokrytie testovania šedej škatule sa môže líšiť v závislosti od toho, či je typ vykonávaných testovacích prípadov založený na kóde alebo grafickom používateľskom rozhraní.
Záver:
Biela skrinka vs. čierna skrinka vs. testovanie šedej skrinky
White box testing, black box testing a grey box testing sú pojmy, ktoré sa používajú na označenie rôznych techník testovania softvéru. Vo všeobecnosti možno každý typ testovania definovať na základe rozsahu, v akom musia mať testeri znalosti o báze kódu a implementácii kódu:
1. Testovanie čiernej skrinky:
Vnútorná štruktúra kódu nie je známa.
2. Testovanie bielej skrinky:
Vnútorná štruktúra kódu je známa.
3. Testovanie šedej škatule:
Vnútorná štruktúra kódu je čiastočne známa.
Počas testovania softvéru sú všetky tri typy testovania dôležité pri overovaní funkčnosti a integrity softvéru. Zatiaľ čo testovanie bielej skrinky nám hovorí viac o základnej štruktúre kódu, testovanie šedej skrinky a testovanie čiernej skrinky môže overiť, ako systém funguje a či spĺňa požiadavky koncového používateľa.
Pravdepodobne najväčšie rozdiely medzi týmito tromi typmi testovania sa týkajú toho, kto jednotlivé typy testov vykonáva, požiadaviek na samotné testovanie a toho, čo testovanie zahŕňa.
Testovanie bielej škatule má najvyššiu bariéru vstupu, pretože ho vykonávajú vývojári s podrobnými znalosťami samotnej kódovej základne a pretože ide o časovo najnáročnejší a často aj finančne najnáročnejší typ testovania.
Naopak, testovanie čiernej skrinky je najjednoduchšie a môžu ho vykonávať testeri bez znalosti základného kódu.
Typy testov bielych skriniek
Existuje mnoho rôznych typov testov bielej skrinky, z ktorých každý sa môže použiť na testovanie trochu iných aspektov vnútornej štruktúry kódu.
Nižšie sú uvedené niektoré z najbežnejších typov testovania bielych polí, ktoré sa dnes používajú.
1. Testovanie cesty
Testovanie cesty je typom testovania bielej skrinky založeného na riadiacej štruktúre programu. Vývojári používajú štruktúru riadenia na vytvorenie grafu toku riadenia a testujú rôzne cesty v grafe.
Testovanie ciest je typ testovania, ktorý je závislý od riadiacej štruktúry programu, čo znamená, že vyžaduje, aby testeri túto štruktúru dôkladne poznali.
Ak má napríklad systém kontaktovať zákazníkov s nastavenými správami v určitých bodoch predajného lievika, testovanie cesty zahŕňa zabezpečenie správneho postupu v závislosti od podmienok, ktoré stanovujú údaje.
2. Testovanie slučky
Testovanie slučiek je jedným z najdôležitejších typov testovania bielej skrinky, ktoré testuje slučky v kóde programu. V kóde sú v algoritmoch implementované slučky a testovaním slučiek sa overuje, či sú tieto slučky platné.
Testovanie slučiek môže posúdiť, či v konkrétnych slučkách existujú zraniteľnosti, a upozorniť na oblasti, v ktorých vývojári možno budú musieť opraviť kód, aby sa zabezpečilo, že slučka funguje tak, ako má.
Príkladom testu slučky je sledovanie slučky so špecifickým súborom dátových bodov, ktoré nabádajú na pokračovanie v slučke, napríklad odmietnutie akceptovať niektoré podmienky, pred zadaním čísla, ktoré konkrétne preruší slučku. Ak sa slučka správa podľa očakávania, test je úspešný.
3. Podmienené testovanie
Podmienené testovanie je typom testovania bieleho políčka, ktoré kontroluje, či sú logické podmienky pre hodnoty v kóde pravdivé alebo nepravdivé.
Podmienené testovanie je hlavnou formou testovania bielej skrinky, ktoré vývojárom umožňuje zistiť, či je kód logický a spĺňa požiadavky programovej logiky.
Príkladom podmieneného testovania je účtovná platforma. Výsledkom zadávania série výdavkov a príjmov by mali byť správne priebežné sumy, pričom softvér poskytuje presné výsledky počas celého úspešného testu.
4. Testovanie jednotiek
Testovanie jednotiek je dôležitá fáza testovania softvéru, v ktorej vývojári testujú jednotlivé komponenty a moduly a overujú, či fungujú podľa očakávaní, predtým ako začlenia rôzne jednotky do jedného celku.
Softvéroví inžinieri používajú metódy testovania bielych skriniek pri testovaní jednotiek na testovanie malých častí kódu naraz. To uľahčuje identifikáciu chýb a omylov, keď sa vyskytnú počas testovania.
Príkladom testovania jednotiek je situácia na začiatku vývoja, keď spoločnosť vytvorí na webovej stránke jednoduché tlačidlo, ktoré používateľa presmeruje na inú stránku. Ak jednotka funguje podľa očakávaní, je úspešná, pričom vývojári vykonávajú zmeny, kým sa tak stane.
5. Testovanie mutácií
Testovanie mutácií je typ testovania, pri ktorom sa testujú zmeny a mutácie. Pri testovaní mutácie vývojári vykonávajú malé úpravy zdrojového kódu, aby zistili, či sa tým odhalia chyby v kóde.
Ak testovací prípad prejde, znamená to, že v kóde je nejaký problém, pretože po vykonaní zmien by nemal prejsť. V ideálnom prípade pri testovaní mutácie všetky testovacie prípady zlyhajú.
Príkladom testovania mutácií je strojové učenie. Programy strojového učenia automaticky „mutujú“ v závislosti od nových informácií, takže dôsledné testovanie týchto programov na štandard „mutácie“ informuje vývojárov o tom, či softvér funguje podľa očakávaní.
6. Integračné testovanie
Integračné testovanie je hlavnou fázou testovania softvéru, počas ktorej testeri zisťujú, či rôzne moduly fungujú správne, keď sú integrované s inými modulmi.
Techniky testovania bielej skrinky sa používajú počas integračného testovania s cieľom skontrolovať, či kód funguje aj vtedy, keď viaceré moduly, ktoré často nakódovali rôzni vývojári, fungujú spoločne.
Ak databáza čerpá informácie napríklad z online zdroja, integračné testovanie zabezpečuje, že údaje, ktoré čerpá, sú presné a aktualizujú sa primerane konzistentne.
7. Penetračné testovanie
Penetračné testovanie je typom testovania bielych skriniek, ktoré možno použiť na simuláciu konkrétnych kybernetických útokov na systém.
Pri penetračnom testovaní majú testeri prístup ku kompletným sieťovým a systémovým údajom, ako sú heslá a sieťové mapy. Potom sa pokúsia získať prístup k údajom v systéme alebo ich zničiť, pričom sa pokúsia o čo najviac rôznych spôsobov útoku.
Penetračné testovanie je dôležitým aspektom bezpečnostného testovania, ktoré by sa malo vykonávať na všetkých zostavách softvéru.
Napríklad platforma HR vykoná penetračné testovanie a hľadá zraniteľnosti v kóde, aby sa uistila, že je dostatočne bezpečná na uchovávanie údajov zamestnancov.
Techniky testovania bielej skrinky
Existuje mnoho rôznych techník testovania bielych skriniek, ktoré možno použiť na vykonanie vyššie uvedených testov bielych skriniek. Ako to už býva, na testovanie rôznych aspektov kódu sú najvhodnejšie rôzne techniky, ale všetky nižšie uvedené techniky bielej skrinky sú dôležité.
1. Pokrytie výkazov
Jedným z charakteristických znakov testovania bielych skríň je, že testeri by sa mali snažiť pokryť čo najväčšiu časť zdrojového kódu pri vykonávaní testov bielych skríň.
Pokrytie kódu je silným meradlom a pokrytie príkazov je jednou z techník, ktoré môžu testeri bielej škatule použiť na zvýšenie pokrytia príkazov v kóde.
Pokrytie príkazov je metrika, ktorá meria počet vykonaných príkazov vydelený celkovým počtom príkazov a vynásobený 100. Testeri bielych skriniek by sa mali snažiť o vysoké pokrytie výrokov.
2. Pokrytie vetiev
Pokrytie vetiev, podobne ako pokrytie príkazov, odráža, aké široké je pokrytie jednotlivých prvkov kódu pri testovaní bielej skrinky. Vetvy sú ekvivalentom príkazov IF v logike, kde sa kód vetví na možnosti true a false, ktoré ovplyvňujú výsledok operácie.
Pri použití techník pokrytia vetiev testeri bielej skrinky kontrolujú, či je každá vetva spracovaná aspoň raz, a overujú, či obe vetvy fungujú správne.
3. Pokrytie trasy
Techniky pokrytia ciest hodnotia cesty v rámci softvérovej aplikácie. Maximalizovať pokrytie testovacích ciest znamená zabezpečiť, aby sa všetky cesty v rámci programu preskúmali aspoň raz. Je to podobný typ techniky testovania ako pokrytie vetiev, ale považuje sa za dôkladnejší a účinnejší.
Testovanie pokrytia cesty sa zvyčajne považuje za najvhodnejšie na testovanie kompletných aplikácií, a nie čiastkových zostáv.
4. Pokrytie rozhodnutí
Pokrytie rozhodovaním je jednou z najdôležitejších techník bielej skrinky, pretože poskytuje údaje o pravdivých a nepravdivých výsledkoch logických výrazov v zdrojovom kóde.
Testovanie pokrytia rozhodnutí overuje zdrojový kód tým, že zabezpečuje, aby sa každá značka každého potenciálneho rozhodnutia počas testovania prešla aspoň raz.
Rozhodovacie body zahŕňajú všetky prípady, keď existuje možnosť dvoch alebo viacerých rôznych výsledkov.
5. Pokrytie podmienok
Krytie podmienok je známe aj ako krytie výrazom. Táto technika bieleho políčka vyhodnocuje čiastkové premenné v podmienených príkazoch v rámci kódu s cieľom overiť výsledok každej logickej podmienky.
Tento typ testovania berie do úvahy len výrazy s logickými operandami, zatiaľ čo testovanie pokrytia rozhodovania a testovanie pokrytia vetiev sa používa na zabezpečenie ostatných logických operácií.
6. Pokrytie viacerých stavov
V testoch pokrytia viacerých podmienok testeri overujú rôzne kombinácie podmienok a hodnotia rozhodnutie, ktoré kód urobí pre každú kombináciu.
Pre testy pokrytia viacerých podmienok môže existovať veľa rôznych testovacích prípadov, pretože existuje obrovské množstvo kombinácií podmienok, takže tento typ testovania je často časovo veľmi náročný.
7. Pokrytie konečných stavových strojov
Pokrytie konečných stavových strojov je dôležitým typom testovania, ale aj jedným z najťažších spôsobov, ako dosiahnuť vysoké pokrytie kódu pri testovaní bielych skriniek. Funguje na základe funkčnosti návrhu a vyžaduje, aby vývojári počítali, koľkokrát sa počas procesu testovania navštívi alebo prejde stav, ako aj koľko sekvencií obsahuje každý konečný stavový systém.
8. Testovanie riadiaceho toku
Testovanie toku riadenia je technika testovania bielej skrinky, ktorej cieľom je zistiť poradie vykonávania programu pomocou jednoduchej štruktúry riadenia.
Vývojári vytvárajú testovacie prípady testovania toku riadenia výberom konkrétnej časti programu a zostavením testovacej cesty. Testovanie toku riadenia sa zvyčajne používa pri testovaní jednotiek.
Životný cyklus testovania bielej škatule
vo vývoji softvéru
Testovanie bielych skriniek je dôležitým krokom v životnom cykle vývoja softvéru, hoci nemá v tomto cykle presne určené „miesto“.
Vývojári môžu vykonávať testovanie bieleho políčka, keď potrebujú skontrolovať funkčnosť kódu, a niektorí vývojári môžu byť pri kontrole novo napísaného kódu dôkladnejší ako iní, aby sa uistili, že je čistý a neobsahuje zbytočné riadky.
Testovanie bieleho políčka sa však najčastejšie vykonáva počas testovania jednotiek a integračného testovania. Vývojári počas fázy vývoja vykonávajú jednotkové aj integračné testovanie.
Vykonávajú sa pred funkčným testovaním, ako je testovanie systému a akceptačné testovanie, a dávajú vývojárom možnosť identifikovať, nájsť a opraviť hlavné chyby v skorej fáze testovania pred odovzdaním produktu tímu QA.
Manuálne alebo automatizované testy bielej skrinky?
Podobne ako iné typy testovania softvéru, aj testovanie bieleho políčka je možné automatizovať. Môže byť manuálne alebo automatizované, hoci vo väčšine prípadov je jednoduchšie automatizovať testovanie bielej skrinky ako testovanie čiernej skrinky.
Keďže testovanie bielych polí je časovo veľmi náročný typ testovania, automatizácia sa stáva medzi softvérovými tímami čoraz populárnejšou.
Manuálne testovanie bielych skriniek: výhody, výzvy a postupy
Manuálne testovanie bielych skriniek znamená manuálne vykonávanie testov bielych skriniek a vyžaduje si, aby vývojári mali zručnosti a čas na písanie jednotlivých testovacích prípadov na otestovanie každého riadku kódu v zostave softvéru. Môže to zabrať veľa času, ale zároveň sa tým získajú najdôkladnejšie výsledky a výstupy testov.
Medzi výhody manuálneho testovania bielych skríň patria:
1. Hĺbka
Manuálne testovanie umožňuje testerom preskúmať softvérový kód do väčšej hĺbky ako automatizované testovanie, ak sa tak rozhodnú, napríklad prečítaním celého zdrojového kódu aplikácie namiesto jednoduchého automatizovania úloh, ktoré sa dotýkajú povrchovej funkčnosti.
2. Umiestnenie chyby
Manuálne testovanie uľahčuje lokalizáciu chýb a nedostatkov, pretože vývojári by mali byť schopní presne určiť, v ktorom riadku kódu sa chyba nachádza.
Ak napríklad vidíte, že sa obrázok nenačítava, potom skúmaním kódu na riadkoch, ktoré zahŕňajú načítanie obrázkov, výrazne zúžite príčinu.
3. Rýchlosť
Manuálne testovanie zvyčajne trvá dlhšie ako automatizované testovanie, ale ak chcú vývojári vykonať len jeden alebo dva rýchle testy, je pravdepodobne rýchlejšie vykonať ich manuálne ako nastaviť automatizáciu.
Napríklad testovanie jednotiek zahŕňa skôr preskúmanie funkcie a zistenie, či funguje, než zhromažďovanie obrovského množstva údajov prostredníctvom automatizácie procesu. Manuálne testovanie bielych skriniek má však aj svoje nevýhody.
Medzi problémy manuálneho testovania bielych skriniek patria:
1. Presnosť
Manuálne testovanie síce umožňuje vývojárom pokryť široký rozsah kódu, ale ľudskí testeri sú vždy náchylnejší na chyby a omyly ako počítačové programy, čo znamená, že manuálne testovanie sa často považuje za menej presné ako automatizované testovanie.
2. Čas
Manuálne testovanie trvá dlhšie ako automatizované testovanie a manuálne testovanie bielych skriniek patrí k časovo najnáročnejším testom zo všetkých. Tým sa predlžuje čas realizácie a môže byť ťažšie dodržať krátke termíny vývoja.
3. Náklady
Vzhľadom na množstvo ľudskej práce a zdrojov potrebných na manuálne testovanie bielych skriniek je toto testovanie pre vývojové tímy často nákladnejšie ako automatizované testovanie, ktoré si zvyčajne vyžaduje menej vývojárov a menej času.
4. Škálovateľnosť
Manuálne testovanie je skutočne vhodné len na testovanie malých aplikácií alebo testovanie jednotlivých komponentov väčších aplikácií. V prípade väčších aplikácií, ako je napríklad databáza umiestnená v cloude s tisíckami vstupov za minútu, sa ako metóda simulácie štandardného zaťaženia uprednostňuje automatizované testovanie.
Automatizované testovanie bielej skrinky: výhody,
výzvy a procesy
Technológia automatizácie každý deň uľahčuje automatizáciu aspektov testovania softvéru. Prechod odvetvia na hyperautomatizáciu je sčasti spôsobený efektívnosťou a úsporou nákladov, ktoré automatizácia ponúka vývojovým tímom, ktoré sa vždy cítia byť pod tlakom.
Biela škatuľa je jedným z najvhodnejších a najvhodnejších typov testovania pre automatizáciu, pretože sa dá relatívne ľahko automatizovať a úspora času a nákladov na automatizáciu testov bielej škatule môže byť značná.
Automatizované testovanie bielych skriniek môže zahŕňať vývojárov, ktorí sami píšu testovacie skripty, alebo sa tento proces môže zrýchliť pomocou komplexných nástrojov, ako je ZAPTEST, ktoré poskytujú najmodernejšiu technológiu komplexného testovania softvéru.
Medzi výhody automatizácie testovania bielych políčok patria:
1. Presnosť
Počítačové testovanie eliminuje riziko chýb, pretože počítače sa neunavia a nerobia chyby.
2. Čas
Automatizované testovanie bielych skríň je podstatne rýchlejšie ako manuálne testovanie bielych skríň a uvoľňuje čas, ktorý môžu vývojári venovať iným úlohám, ako je oprava chýb alebo písanie opravných balíkov pre aktualizácie.
3. Stupnica
Automatizované testovanie sa škáluje oveľa lepšie ako manuálne testovanie, takže ak sa vaša softvérová aplikácia rozrastá alebo ak chcete vykonať rozsiahle testovanie naraz, automatizácia je lepšou voľbou.
Napríklad rozšírenie zadávania údajov zahŕňa požiadavku na viac vstupov pri automatizácii v porovnaní s prijatím väčšieho počtu zamestnancov pri manuálnych testoch.
4. Náklady
Náklady na automatizované testovanie sú po súčte zvyčajne nižšie ako náklady na manuálne testovanie, pretože sa ušetrí množstvo pracovných hodín vďaka automatizácii. 10-násobná návratnosť investícií ZAPTEST-u ukazuje, ako môže automatizácia ušetriť vývojárom peniaze a viesť k vyšším výnosom. Automatizácia však nie je bez nevýhod.
Medzi výzvy spojené s automatizáciou testovania bielych skriniek patria:
1. Sledovanie chýb
Automatizácia nie vždy uľahčuje lokalizáciu chýb v kóde v závislosti od toho, ako vývojári automatizujú testy alebo aké testovacie nástroje používajú, najmä v porovnaní s manuálnym testovaním bielych skriniek, kde testeri vidia kód, ktorý sa spúšťa vždy, keď sa objaví chyba.
2. Zručnosti
Nie všetci vývojári vedia, ako automatizovať testy alebo ako používať nástroje na automatizované testovanie, takže prechod na automatizáciu si môže vyžadovať určité investície do školenia hlavných zručností, ako je kódovanie v jazyku konkrétnej testovacej platformy a používanie zručností analýzy údajov na pochopenie príčin problémov v teste bielej skrinky.
Záver: Manuálne testovanie bielej skrinky
alebo automatizácia testovania bielych skriniek?
Celkovo je testovanie bielych skriniek v softvérovom inžinierstve jedným z najvhodnejších typov testovania na prispôsobenie automatizovanému testovaniu, a to najmä z dôvodu časovej náročnosti a komplexnosti manuálneho testovania bielych skriniek.
Automatizované testovanie bielych skriniek je rýchlejšie, lacnejšie, efektívnejšie a presnejšie ako manuálne testovanie, najmä pri práci s väčšími aplikáciami.
Ak je to možné, mali by vývojári softvéru pri testovaní softvéru automatizovať testovanie bielych skriniek, aby sa zvýšila spoľahlivosť testov a testovaním sa pokryla väčšia oblasť väčších aplikácií, než je prakticky možné pri manuálnom vykonávaní testov. Dôvodom sú značné náklady a odborné znalosti, ktoré sú potrebné pri vykonávaní testov bielych skriniek výlučne manuálnymi metódami.
Čo potrebujete na začiatok
testovanie bielej skrinky?
Pred začatím testovania bielych skríň sa uistite, že máte všetko, čo potrebujete na začatie. V závislosti od toho, či vykonávate manuálne alebo automatizované testovanie bielych skriniek, nepotrebujete okrem času a peňazí veľa zdrojov.
Musíte sa však uistiť, že váš tím má vhodné znalosti a nástroje na správne vykonávanie testovania bielych skríň.
1. Pochopenie zdrojového kódu
Testovanie bielej skrinky je testovanie, ktoré vykonávajú vývojári softvéru a inžinieri s úplnou pracovnou znalosťou zdrojového kódu a vnútornej štruktúry softvéru.
Ak ste tester QA bez týchto znalostí, budete musieť softvér odovzdať niekomu inému skôr, ako sa začne testovanie white boxu.
2. Testovacie prípady
Pred vykonaním testovania bielej skrinky je potrebné napísať testovacie prípady. Testovacie prípady sú jednotlivé súbory inštrukcií, ktoré opisujú činnosti, ktoré môžu testeri alebo vývojári vykonať na otestovanie funkcií a fungovania systému.
Pri testovaní bielej skrinky navrhujú testovacie prípady ľudia s úplnou znalosťou vnútornej štruktúry systému a vytvárajú ich s cieľom overiť, či systém funguje tak, ako má.
3. Nástroje na testovanie bielej skrinky
Na testovanie bielych skriniek je k dispozícii množstvo nástrojov, ktoré podporujú prístup k zdrojovému kódu a návrhovým dokumentom a zároveň umožňujú automatizáciu testovania. Tie sa tiež dodávajú v rôznych cenových kategóriách pre používateľov, napríklad vo verziách ZAPTEST FREE a ZAPTEST ENTERPRISE, ktoré poskytujú väčšiu flexibilitu.
Pred začatím testovania si vyberte nástroje, ktoré chcete používať, s dôrazom na zabezpečenie správnej funkcionality, ako je napríklad práca naprieč platformami a technológia počítačového videnia, aby ste videli to, čo vidia automatizované testy.
Uistite sa, že všetci vývojári a inžinieri zapojení do testovania vedia, ako a kedy ich používať.
Proces testovania bielej skrinky
Testovanie bielej skrinky zahŕňa oveľa viac znalostí o fungovaní systému ako testovanie čiernej skrinky a niektoré kroky pri testovaní bielej skrinky sú trochu odlišné.
Testeri bielej škatule musia najprv identifikovať funkcie alebo komponenty systému, ktoré chcú overiť, a až potom načrtnúť možné cesty testovania a napísať testovacie prípady na vykonanie.
Proces testovania bielej skrinky sa môže líšiť aj v závislosti od toho, akú techniku testovania bielej skrinky použijete. Postupujte podľa nasledujúcich krokov a zistite, ako vykonávať testovanie bielych skriniek a zároveň maximalizovať pokrytie ciest.
Krok 1: Identifikujte funkcie, ktoré sa majú testovať
Pred vykonaním testovania bielych políčok zvážte, čo presne chcete testovať a ako to budete testovať. Zvyčajne ide o zameranie sa na malý súbor funkcií alebo vlastností a vytvorenie súboru testovacích prípadov len na ich testovanie.
Tento krok budete opakovane vykonávať pre rôzne oblasti systému, aby ste maximalizovali pokrytie testami, ale je dôležité rozdeliť rôzne oblasti na jednotlivé testy.
Čím užšie je vaše zameranie, tým spoľahlivejšie a presnejšie môžu byť vaše testy.
Krok 2: Načrtnite všetky možné cesty do grafu tokov
Významnou súčasťou prípravných prác na testovanie bielych skríň je vykreslenie všetkých možných ciest, ktoré potrebujete otestovať, vo vývojovom grafe.
Tento krok vám pomôže maximalizovať pokrytie ciest a zabezpečiť, aby ste v každom vytvorenom testovacom prípade overili všetky možné cesty. Nakreslite vývojový diagram, ktorý zahŕňa všetky možné cesty pre každú testovanú funkciu alebo komponent, napríklad načrtnutím rôznych ciest, ktoré vznikajú pri zadávaní rôznych hodnôt.
Krok 3: Identifikujte všetky možné cesty
Pozrite sa na svoj vývojový diagram a identifikujte všetky možné cesty, ktoré môžu používatelia prejsť, počnúc prvým krokom vývojového diagramu a končiac posledným krokom.
Čím viac vetiev a rozhodnutí sa vo vašom grafe toku nachádza, tým viac jedinečných ciest existuje. Pochopenie toho, koľko jedinečných možných ciest existuje, vám pomôže uistiť sa, že vaše testovacie prípady pokrývajú všetky možnosti.
Krok 4: Vytvorenie testovacích prípadov
Ďalšou fázou testovania bielej skrinky je napísanie testovacích prípadov, ktoré overia všetky cesty, ktoré ste identifikovali vyššie.
Je dôležité uistiť sa, že vaše testovacie prípady pokrývajú všetky možné cesty a jasne popisujú činnosti, ktoré musia testeri alebo vývojári vykonať na vykonanie každého testovacieho prípadu.
Pre každý testovací prípad uveďte ID a názov testovacieho prípadu spolu so stručným opisom, ako aj očakávané výsledky každého testu.
Krok 5: Vykonanie testovacích prípadov
Teraz je čas na vykonanie testovacích prípadov, čo väčšina ľudí považuje za samotné testovanie bielej skrinky.
Testeri vykonávajú testovacie prípady podľa stručného súboru inštrukcií uvedených v každom testovacom prípade a nahlasujú výsledok každého testovacieho prípadu. Tieto údaje možno porovnať s očakávanými výsledkami uvedenými v testovacom prípade, aby sa zistilo, či každý test bielej skrinky prešiel alebo neprešiel.
Krok 6: Opakujte cyklus podľa potreby
Podobne ako pri iných formách testovania softvéru, aj pri white box testovaní ide o porovnanie skutočného fungovania systému s očakávaniami, ktoré majú testeri o tom, ako by mal systém fungovať.
Ak testeri zistia, že sa systém nechová podľa ich predstáv, môže to znamenať, že testovanie bielej skrinky zlyhalo a vývojári musia pred ďalším testovaním opraviť riadky kódu.
Zopakujte vyššie uvedený postup a vykonajte ďalšie testovanie bielych skriniek, kým systém nebude dôkladne otestovaný a všetky chyby nebudú odstránené.
Osvedčené postupy pre testovanie bielych skriniek
Osvedčené postupy pri testovaní bielych skríň závisia od typu testovania, ktoré vykonávate, a od fázy procesu testovania, v ktorej sa nachádzate.
Keďže väčšina testovania bielej skrinky prebieha počas testovania jednotiek a integračného testovania, väčšina osvedčených postupov testovania bielej skrinky sa vzťahuje na tieto fázy.
1. Maximalizujte pokrytie testov
Podľa definície je pri testovaní bielych skriniek dôležité maximalizovať pokrytie testov, aby sa zabezpečilo, že sa počas tejto fázy otestuje vysoké percento softvéru.
Môžete to dosiahnuť maximalizáciou pokrytia ciest a vetiev a písaním testovacích prípadov, ktoré počas prípravnej fázy skúmajú všetky možné cesty a výsledky.
2. Overenie správania a výkonu
Pri písaní testovacích prípadov v rámci testovania bielej škatule chcete vytvoriť testovacie prípady, ktoré overujú, či systém funguje tak, ako očakávate, ako aj testovacie prípady, ktoré overujú výkonnosť systému.
Okrem overenia, či konkrétne akcie vedú k určitým výsledkom, môžete napríklad overiť aj to, ako rýchlo dokáže systém vykonávať určité úlohy alebo ako výkon ovplyvňujú rôzne premenné.
3. Písanie testovacích prípadov nezávisle od seba
Ak chcete overiť dve rôzne funkcie, napríklad ak trieda kódu závisí od konkrétnej databázy, vytvorte abstraktné rozhranie, ktoré odráža toto pripojenie k databáze, a implementujte rozhranie s mock objektom na testovanie tohto pripojenia.
Tým sa zabezpečí, že vaše testovacie prípady overujú spojenia, ktoré chcete, aby overovali, a nie niečo iné.
4. Pokrytie všetkých ciest a slučiek
Maximalizácia pokrytia testov znamená pokrytie všetkých možných ciest, zohľadnenie podmienených slučiek a iných typov slučiek v kóde.
Uistite sa, že ste navrhli testovacie prípady, ktoré úplne preskúmajú možné cesty a overia, či sa slučky správajú tak, ako očakávate, bez ohľadu na vstupné údaje.
7 chýb a nástrah pri
Implementácia testov bielej skrinky
Keď začínate s testovaním bielych skríň, je dôležité uvedomiť si niektoré najčastejšie nástrahy, do ktorých sa vývojári pri testovaní bielych skríň často dostávajú. Bežné chyby pri testovaní bielych skriniek môžu spôsobiť oneskorenia a nepresnosti, ktoré môžu poškodiť kvalitu a časový plán vydania softvéru.
1. Myslíte si, že testovanie bielych skriniek nie je potrebné
Niektorí testeri si myslia, že testovanie bielej skrinky nie je potrebné, pretože testovanie čiernej skrinky testuje všetky externé výstupy softvéru, a ak tieto správne fungujú, predpokladá sa, že funguje aj vnútorné fungovanie systému.
Testovanie bielej skrinky však môže vývojárom pomôcť nájsť problémy a chyby, ktoré sa pri testovaní čiernej skrinky nemusia vždy prejaviť, a je nevyhnutné na overenie bezpečnosti softvérových systémov.
Ak má napríklad program únik pamäte, ktorý spôsobuje zníženie výkonu počas dlhšieho časového obdobia, ktoré testovanie čiernej skrinky nepreskúma, testovanie bielej skrinky je jedinou možnosťou, ako sa prehrabávať kódom a nájsť problém pred jeho zverejnením.
2. Manuálne testovanie bielych skriniek
Niektorí vývojári si môžu myslieť, že testovanie bielej skrinky je rovnako jednoduché ako testovanie čiernej skrinky.
Testovanie bielej škatule je však časovo podstatne náročnejšie a vývojári, ktorí sa snažia vykonávať testovanie bielej škatule úplne manuálne, môžu zistiť, že nie je možné vykonať manuálne kontroly podľa požadovaných štandardov alebo pri maximálnom pokrytí testov.
3. Pridelenie testerov na vykonávanie testovacích prípadov
Testovanie bielej škatule by mali kompletne vykonávať vývojári, softvéroví inžinieri a ľudia, ktorí úplne rozumejú vnútornému fungovaniu softvérového systému.
Niektorí vývojári si myslia, že keď sami napíšu testovacie prípady, môžu testovanie bielych skriniek preniesť na testerov QA, čo však vedie len k ich zlému vykonaniu a zníženiu kvality dokumentácie.
4. Pospíchanie pri testovaní
Testovanie softvéru je dlhý a časovo náročný proces a niektorí vývojári môžu byť v pokušení urýchliť testovanie bielych skriniek, aby mohli prejsť do ďalšej fázy vývoja. Je dôležité vyčleniť dostatok času a zdrojov na white box testovanie, aby sa vývojári necítili uponáhľaní a mali dostatok času na maximalizáciu pokrytia testami.
5. Nedostatočná dokumentácia
Vedenie správnej dokumentácie pred, počas a po testovaní zabezpečuje, že každý, kto sa podieľa na vývoji a testovaní softvéru, má prístup k správnym informáciám v správnom čase.
Uistite sa, že každý člen vývojového tímu vie, ako písať jasnú dokumentáciu a ako oznamovať výsledky testovania bielych skriniek.
6. Nesprávne používanie automatizačných nástrojov
Automatizačné nástroje môžu uľahčiť testovanie bielych políčok, ale je dôležité, aby celý váš tím rozumel tomu, ktoré automatizačné nástroje používate a ako ich používať.
Rôzne nástroje sú vhodné na rôzne typy testovania, preto je dôležité vybrať si automatizačné nástroje vhodné na testovanie bielych skriniek a naučiť sa správne používať ich funkcie.
Niektoré nástroje napríklad neintegrujú automatizáciu a namiesto toho sa zameriavajú na zhromažďovanie informácií a organizáciu tiketov, čo zďaleka nie je ideálne pre automatizované testovanie. Naopak, full-stack nástroje, ako napríklad ZAPTEST, pokrývajú celý proces testovania prostredníctvom funkcií, ako je napríklad automatizácia ľubovoľnej úlohy, vďaka čomu sú vhodné na efektívnejšie testovanie bielych skriniek.
7. Nespolupráca s tímom QA
To, že testovanie bielych skríň plánujú a vykonávajú vývojári, neznamená, že tím QA by nemal byť žiadnym spôsobom zapojený.
Je dôležité odovzdať výsledky testovania bielej skrinky tímu QA, aby pochopili, čo sa doteraz testovalo a ako môžu výsledky testovania bielej skrinky ovplyvniť spôsob, akým tím QA pristupuje k testovaniu čiernej skrinky.
Nezapojením tímu QA do testovania vzniká potenciálne odlúčenie medzi jednotlivými oddeleniami, čo vedie k nedostatočnej komunikácii a horšej spätnej väzbe v neskoršej fáze testovania. Výsledkom je výrazne nižšia úroveň kvality konečného výrobku.
Typy výstupov z white box testov
Pri testovaní softvéru v bielej skrinke získate rôzne výstupy v závislosti od výsledkov vykonaných testov. Pochopenie týchto výstupov z white box testov vám pomôže pochopiť, aké kroky treba podniknúť ďalej.
1. Výsledky testov
Výsledky testov bielych skriniek vám ukážu, či je potrebné pokračovať v ďalšom testovaní, či existujú chyby, ktoré je potrebné opraviť, a či jednotlivé testovacie prípady prešli alebo neprešli. Dôkladná dokumentácia je potrebná, pretože pomáha vývojárom a testerom pochopiť výsledky testovania bielych skríň.
2. Vady
Defekty možno identifikovať pri testovaní bielej škatule a niekedy budú výstupom vašich testov bielej škatule defekty a chyby.
Ak sa softvérový systém počas testovania bielej skrinky nechová podľa vašich predstáv, môže to znamenať, že v programe sú závažné chyby, ktoré je potrebné odstrániť pred pokračovaním vývoja a testovania.
3. Testovacie správy
Testovacie správy sú správy, ktoré zostavujú vývojári a testeri počas testovania softvéru a po ňom.
Obsahujú podrobnosti o výsledkoch testovania vrátane toho, ktoré testovacie prípady prešli a ktoré nie, všetky chyby zistené počas testovania a odporúčania pre ďalšie kroky.
Vývojári používajú testovacie správy na komunikáciu s ostatnými vývojármi, ktorých úlohou môže byť opraviť chyby a nedostatky zistené počas testovania.
Príklady testov bielej skrinky
Testovanie bielej skrinky umožňuje vývojárom skontrolovať, či vnútorná štruktúra softvérového systému funguje tak, ako má, bez ohľadu na vonkajšie výsledky a výstupy systému.
Nižšie uvedené príklady ilustrujú, ako môže testovanie bielej škatule pomôcť vývojárom overiť vnútorné funkcie softvéru.
1. Príklad registračnej stránky elektronického obchodu
Jeden z príkladov testovania bielej škatule sa týka toho, ako vývojári testujú funkcie webových stránok. Ak sa snažíte otestovať registračnú stránku webovej lokality elektronického obchodu, testovanie v bielom poli môže vývojárom umožniť pochopiť, či funkcie a triedy zapojené do registrácie fungujú tak, ako majú, keď sa vykonáva funkcia registrácie.
Konkrétne ide o všetky informácie, ktoré používateľ zadáva, a posudzuje parametre za formulárom vrátane dátumov, ktoré sú a nie sú platné, a toho, čo formulár považuje za legitímnu e-mailovú adresu.
Tím potom zadá sériu reťazcov, ktoré testujú formulár, pričom niektoré sú navrhnuté tak, aby zlyhali, a iné tak, aby uspeli, a potom vyhodnotí výsledky v porovnaní s predpokladanými výsledkami.
Na druhej strane, pri testovaní čiernej skrinky sa kontroluje len to, či stránka funguje, bez ďalšej analýzy prečo a ako.
2. Príklad kalkulačky
Ďalším príkladom testovania bielej skrinky sú aplikačné kalkulačky.
Ak vytvárate kalkulačku, ktorá sa používa ako súčasť aplikácie, testery čiernej skrinky jednoducho otestujú, či je výstup kalkulačky správny pri jej používaní podľa určenia.
Testery bielej skrinky skontrolujú interné výpočty kalkulačky, aby overili, ako bol výstup vypočítaný a či je správny. To je užitočnejšie pri zložitejších výpočtoch s viacerými fázami, napríklad pri daniach. Testeri skúmajú kód, aby videli kroky, ktoré kalkulačka vykonáva, a poradie krokov, v ktorom sú vykonané, a až potom vidia výsledok po každej fáze.
Ak je vstup kalkulačky (7*4) – 6 a výstup je 22, je to správne a test čiernej skrinky by týmto testom prešiel. Je to však preto, že 7*4 = 28 a 28 – 6 je 22. Testovanie bielych skriniek by mohlo odhaliť, že softvér zistil tento výsledok vykonaním 7*4 = 32 a 32 – 6 = 22, pričom ani jedna z týchto možností nie je správna.
Tento väčší prehľad ukazuje, že výpočet je presný po každej konkrétnej fáze, nájde fázu, v ktorej nemusí byť presný, a vyrieši ju rýchlejšie, pretože tester jasne vidí, kde sa vyskytuje problém.
Typy chýb a omylov pri testovaní bielych skriniek
Počas testovania bielych skríň je možné identifikovať a lokalizovať chyby, ktoré môžu ovplyvniť fungovanie systémov pod kapotou. Tieto chyby môžu mať vplyv na externé funkcie alebo môžu ovplyvniť výkon či spoľahlivosť.
Nižšie sú uvedené niektoré z najčastejších typov chýb, ktoré sa vyskytujú počas testovania bielych skríň.
1. Logické chyby
Logické chyby vznikajú pri testovaní bielych skriniek, pretože testy bielych skriniek ukazujú oblasti, v ktorých program nefunguje logicky alebo v ktorých sa v kóde softvéru nesprávne používajú funkcie a podmienky.
Logické chyby sa môžu prejaviť ako zlyhania systému alebo jednoducho viesť k neočakávanému správaniu a výstupom.
2. Chyby v dizajne
Testovanie bielej škatule môže vývojárom pomôcť identifikovať chyby v návrhu kódu. Chyby návrhu vznikajú vtedy, keď existuje rozdiel medzi logickým priebehom softvéru a jeho skutočnou implementáciou. Môžu viesť k neočakávanému správaniu a chybám výkonu.
3. Typografické chyby
Typografické chyby a syntaktické nedostatky sú chyby, ktoré vznikli v dôsledku ľudského faktora – napríklad preto, že vývojár nesprávne napísal určitú frázu alebo do riadku kódu pridal nesprávnu interpunkciu. Takéto malé chyby môžu mať za následok nefunkčné funkcie a príkazy, ktoré softvér nedokáže prečítať, čo môže spôsobiť závažné chyby v systéme.
Bežné metriky testovania bielych skriniek
Pri vykonávaní testovania bielych skríň vám bežné metriky testovania pomôžu zmerať úspešnosť a komplexnosť testov bielych skríň, ako aj pochopiť kvalitu práce vašich vývojárov.
Metriky testovania informujú proces vývoja, pretože môžu identifikovať oblasti, ktoré je potrebné zlepšiť, alebo usmerniť proces testovania do budúcnosti.
1. Pokrytie kódu
Jednou zo základných charakteristík testovania bielych skríň je, že by malo pokrývať čo najväčšiu časť kódu, a pomocou metriky pokrytia kódu môžete merať, koľko kódu ste pokryli.
Metriky pokrytia kódu ukazujú, akú časť celkového kódu aplikácie ste overili pomocou testovania bielych skríň. Vo všeobecnosti sa vývojári snažia pokryť čo najbližšie k 100 % softvérového kódu prostredníctvom testovania bielych skriniek.
Pokrytie kódu možno rozdeliť na rôzne metriky vrátane pokrytia cesty, segmentu, príkazu a vetvy.
Pokrytie zloženými podmienkami je ďalší typ metriky pokrytia kódu, ktorý kontroluje, či bola každá podmienka v rámci súboru skontrolovaná popri viacerých cestách a kombináciách ciest.
2. Metriky chýb
Metriky chýb vyjadrujú, koľko chýb bolo nájdených, ako dobre dokáže testovanie bielych skríň identifikovať chyby a aké percento kódu prešlo alebo neprešlo testovaním bielych skríň.
Metriky chýb sa môžu prezentovať ako počet chýb na tisíc riadkov kódu alebo ako počet celkových chýb v programe. Hoci sa nízky počet chýb môže zdať pozitívny, vývojári sa musia uistiť, že to nie je spôsobené tým, že sa chyby prehliadajú pri testovaní.
3. Vykonanie testu
Metriky vykonávania testov môžu vývojárom pomôcť rýchlo zistiť, aká časť z celkového počtu testov bola doteraz vykonaná a koľko zostáva nevykonaných testov. Metriky vykonávania textov pomáhajú softvérovým tímom pochopiť, ako ďaleko je testovanie bielych skriniek a či automatizované softvérové testy prebiehajú podľa očakávaní.
Je však možné, že sa vyskytnú falošne pozitívne aj falošne negatívne výsledky, ktoré môžu ovplyvniť presnosť tejto metriky.
4. Trvanie testu
Metriky trvania testov nám ukazujú, ako dlho trvá spustenie automatizovaných testov, čo je dôležité najmä pri testovaní bielych skriniek, pretože automatizácia je nevyhnutná na maximalizáciu účinnosti testov a pokrytia testov.
Trvanie testov je často úzkym miestom pri agilnom vývoji softvéru, takže pochopenie toho, ako dlho trvajú softvérové testy, môže pomôcť vývojovým tímom urýchliť proces vývoja.
Je však dôležité si uvedomiť, že metriky trvania testov nevypovedajú nič o kvalite vykonávaných testov.
Nástroje na testovanie bielej skrinky
Vďaka nástrojom a technológiám môže byť testovanie bielych skriniek podstatne presnejšie, efektívnejšie a komplexnejšie. Nástroje na testovanie bielych skriniek môžu softvérovým inžinierom pomôcť automatizovať testovanie bielych skriniek, zaznamenávať a dokumentovať proces testovania bielych skriniek a riadiť testovanie bielych skriniek od začiatku do konca.
5 najlepších bezplatných nástrojov na testovanie bielych skriniek
Ak ešte nechcete investovať do drahých nástrojov na testovanie bielych skriniek, môžete si vyskúšať celý rad bezplatných nástrojov na testovanie bielych skriniek online bez toho, aby ste museli čokoľvek platiť.
Bezplatné testovacie nástroje neponúkajú vždy všetky rovnaké funkcie ako podnikové nástroje, ale sú dobrým východiskovým bodom pre začiatočníkov v oblasti testovania bielych skriniek a môžu pomôcť vývojovým tímom lepšie pochopiť, aké nástroje a technológie potrebujú.
1. ZAPTEST FREE edition
ZAPTEST je nástroj na testovanie softvéru a softvér na automatizáciu robotických procesov, ktorý umožňuje vývojárom a testerom QA automatizovať testovanie bielych aj čiernych skriniek.
Bezplatná verzia ZAPTEST umožňuje viacero virtuálnych používateľov, viacero iterácií a podporu používateľského fóra. Aplikácia pracuje s lokálnymi aj externými zdrojmi údajov a integruje sa s HP ALM, Rally a JIRA. Používatelia, ktorým sa páči bezplatná ponuka ZAPTEST a chcú vidieť viac z toho, čo spoločnosť ponúka, sa môžu informovať aj o možnosti prechodu na podnikovú verziu, keď bude pripravená.
2. Bugzilla
Bugzilla je veľmi populárny open-source nástroj na testovanie softvéru, ktorý umožňuje vývojárom sledovať chyby a nedostatky v softvéri a spravovať ich životný cyklus.
Bugzilla uľahčuje prideľovanie chýb vývojárom, ich prioritizáciu a overovanie a po ich odstránení ich uzatváranie. Bugzilla je skvelý nástroj pre tímy, ktoré sa stále snažia štandardizovať svoj prístup k nahlasovaniu chýb, a je úplne zadarmo.
3. OpenGrok
OpenGrok je prehliadač kódu s otvoreným zdrojovým kódom a vyhľadávač databázy kódu. Je kompatibilný s kódom napísaným v jazykoch Java C++, JavaScript a Python spolu s ďalšími programovými jazykmi.
Ak sa chcete počas testovania bielych skriniek rýchlo orientovať v rozsiahlej databáze kódu, OpenGrok je úplne bezplatný a ľahko použiteľný.
4. SQLmap
SQLmap je ďalší open source nástroj, ktorý sa považuje za takmer nevyhnutný pri testovaní bielych skriniek. SQLmap reguluje tok využívania a zisťovania chýb SQL injection.
Nástroj SQLmap, ktorý sa sám označuje ako „nástroj na penetračné testovanie“, môže testerom bielych skríň pomôcť identifikovať a lokalizovať bezpečnostné chyby v zdrojovom kóde a opraviť ich pred pokračovaním.
5. Emma
Emma je open-source súbor nástrojov, ktorý dokáže merať pokrytie kódu, ak pracujete v jazyku Java. Je to veľmi rýchly spôsob, ako rýchlo zistiť pokrytie kódu a sledovať, koľko kódu pokryli jednotliví členovia vývojového tímu.
Emma podporuje pokrytie tried, metód, riadkov a základných blokov a je plne založená na jazyku Java.
5 najlepších nástrojov na testovanie bielych skriniek v podnikoch
Ak hľadáte nástroje, ktoré ponúkajú väčšie funkcie alebo lepšiu podporu, pre váš vývojový tím môžu byť vhodnejšie podnikové nástroje na testovanie bielych skriniek.
1. ZAPTEST ENTERPRISE edition
Podniková edícia ZAPTEST je vylepšenou verziou bezplatného programu ZAPTEST. V tejto verzii môžu používatelia využívať neobmedzené množstvo šablón OCR, neobmedzené množstvo iterácií a neobmedzené množstvo skriptov VBScript a JavaScript.
Podniková edícia ZAPTEST ponúka kompletnejší balík nástrojov pre vývojárske tímy, ktoré chcú prejsť na automatizáciu, a podniková verzia sa dodáva aj s odbornou podporou, aby váš tím získal maximum z automatizácie testovania softvéru a technológie RPA od ZAPTEST.
2. Skripaľ
Fiddler je balík nástrojov od spoločnosti Telerik, ktorý je určený na testovanie webových aplikácií v bielej skrinke. Fiddler dokáže zaznamenávať všetku prevádzku HTTP medzi vaším systémom a internetom a vyhodnocovať nastavené body prerušenia, ako aj upravovať odchádzajúce a prichádzajúce údaje. Je k dispozícii v rôznych formátoch v závislosti od vášho rozpočtu a požiadaviek, takže existuje edícia Fiddler takmer pre každý tím.
3. HP Fortify
HP Fortify, predtým známy ako Fortify, je ďalší nástroj na testovanie zabezpečenia, ktorý ponúka komplexné bezpečnostné riešenia na testovanie bielych skriniek. Balík nástrojov Fortify obsahuje nástroj Fortify Source Code Analysis, ktorý automaticky skenuje zdrojový kód na zraniteľnosti, ktoré by mohli spôsobiť, že vaša aplikácia bude otvorená kybernetickým útokom.
4. Jednotka ABAP
Podniková verzia ABAP Unit umožňuje vývojárom softvéru rýchlo a jednoducho vykonávať manuálne aj automatizované testovanie jednotiek. Vývojári píšu jednotkové testy v rámci aplikácie ABAP a používajú tieto testy na overenie funkcií kódu a identifikáciu chýb v rámci jednotkových testov.
Softvérové tímy, ktoré chcú tento nástroj vyskúšať, môžu začať s bezplatnou verziou ABAP Unit a až potom prejsť na podnikovú verziu.
5. LDRA
LDRA je vlastný balík nástrojov, ktorý možno použiť na pokrytie príkazov, pokrytie vetiev a pokrytie rozhodnutiami pri testovaní bielych skriniek. Je to vynikajúci nástroj, ak chcete skontrolovať, či váš zdrojový kód spĺňa štandardné požiadavky na zhodu, sledovanie a hygienu kódu.
Kedy by ste mali používať podnikové
vs freemium nástroje na testovanie bielych skriniek?
Podnikové aj bezplatné nástroje na testovanie softvéru majú svoje miesto v každom modernom tíme vyvíjajúcom softvér. Keď sa váš tím rozrastie a automatizované testovanie sa stane dôležitejším pre váš prístup k testovaniu bielych skriniek, pravdepodobne budete chcieť prejsť od práce s bezplatnými testovacími nástrojmi k práci s podnikovými nástrojmi, ktoré ponúkajú viac funkcií a neobmedzené možnosti použitia.
Existujú však špecifické scenáre, v ktorých môžu byť bezplatné nástroje vhodnejšie ako podnikové nástroje.
Mnohí vývojári sa rozhodnú začať s bezplatnými nástrojmi, keď experimentujú s novými funkciami a technológiami, predovšetkým preto, aby zhodnotili, či sú tieto technológie vhodné pre ich tím pred investíciou do podnikových technológií.
Môžete tiež vyskúšať bezplatné verzie podnikových nástrojov, ako je napríklad ZAPTEST, aby ste si ich mohli pred kúpou vyskúšať a zistiť viac o tom, čo podnikové nástroje ponúkajú.
Napokon, niektoré bezplatné nástroje, ako napríklad Emma a Bugzilla, sa špecializujú na špecifické, ale dôležité funkcie, ktoré ponúkajú trvalé výhody aj softvérovým tímom pripraveným platiť za podnikové technológie.
Testovanie bielej skrinky: kontrolný zoznam, tipy a triky
Keď ste pripravení vykonať testovanie bieleho políčka, uistite sa, že máte všetko, čo potrebujete, skôr ako začnete. Nižšie uvádzame zoznam vecí, ktoré je potrebné si zapamätať pred začatím testovania bielych skríň, aby ste maximalizovali pokrytie testov a zlepšili presnosť výsledkov testovania bielych skríň.
1. Používajte nástroje na automatizáciu
Automatizačné nástroje môžu výrazne urýchliť proces vykonávania testovania bielych skriniek, ako aj znížiť chybovosť a zvýšiť celkovú presnosť.
Takmer všetky softvérové tímy dnes používajú určitú úroveň automatizácie na vykonávanie testovania bielych skriniek, takže experimentovanie s rôznymi automatizačnými nástrojmi a technológiami pred začatím testovania bielych skriniek vám môže pomôcť vybrať si nástroje, ktoré chcete používať pred začatím testovania.
2. Snažte sa o 100 % pokrytie testami
Pravdepodobne nedosiahnete cieľ 100 % pokrytia testami, ale pri testovaní bielych skríň je najlepšie sa tomuto číslu čo najviac priblížiť.
Pomocou nástrojov na sledovanie a meranie pokrytia testov môžete sledovať a merať jednotlivé metriky, ako je pokrytie ciest a vetiev, a zabezpečiť, aby boli počas testovania white box pokryté všetky najdôležitejšie cesty a vetvy vášho softvéru.
3. Vypracovať jasné správy o testoch
Rovnako ako pri iných formách testovania softvéru sa uistite, že váš tím vie, ako zostaviť presné a prehľadné správy o testovaní po každej fáze testovania.
Správa o testovaní by mala byť napísaná v zrozumiteľnom formáte a mala by obsahovať podrobnosti o prístupe k testovaniu, ako aj súhrn výstupov a výsledkov každého vykonaného testovacieho prípadu. V záverečnej správe by sa mali zdôvodniť prijaté kroky a uviesť odporúčania pre ďalšie kroky.
4. Merajte svoj úspech pomocou testovacích metrík
Metriky testovania pomáhajú softvérovým tímom sledovať a zaznamenávať priebeh testovania bielych skriniek a poskytujú cenné informácie, ktoré môžu byť podkladom pre budúce vývojové procesy.
Je dôležité, aby vývojári používali metriky na pochopenie toho, ako efektívne je testovanie, ktoré vykonávajú, a ako čistý bol ich počiatočný kód, aby mohli v budúcnosti svoju prácu zlepšiť.
Testovanie bielej skrinky:
Záver
Testovanie bielej skrinky v softvérovom inžinierstve je základným typom testovania softvéru, ktorým sa overuje vnútorná štruktúra a logika zdrojového kódu softvérovej aplikácie.
V spojení s testovaním čiernej skrinky sa testovaním bielej skrinky zisťuje nielen to, či softvér funguje podľa očakávaní, ale aj to, či je vnútorný kód logický, čistý a úplný.
Testovanie bielych skriniek sa najčastejšie vykonáva v rámci testovania jednotiek a integračného testovania a vždy ho vykonávajú vývojári a softvéroví inžinieri s úplnou znalosťou vnútorného kódu softvéru.
Hoci niektoré testovania bielych polí sa dajú vykonávať manuálne, dnes sa mnohé testovania bielych polí automatizujú vďaka zvýšeniu rýchlosti, efektívnosti a pokrytia, ktoré ponúka automatizácia testovania bielych polí.
Často kladené otázky a zdroje
Ak sa chcete dozvedieť viac o testovaní bielych políčok, môžete využiť množstvo bezplatných online zdrojov. Pomocou videí, kníh a iných zdrojov sa môžete naučiť, ako vykonávať testovanie bielych skríň, a zabezpečiť, aby vaše štandardy testovania bielych skríň dodržiavali osvedčené postupy.
1. Najlepšie kurzy o automatizácii testovania bielych skriniek
Ak sa chcete dozvedieť viac o automatizácii testovania bielych skriniek, môžete absolvovať kurz o testovaní softvéru a testovaní bielych skriniek. Niektoré z týchto kurzov sú akreditované a ponúkajú formálnu kvalifikáciu, zatiaľ čo iné sú neformálne online kurzy určené na pomoc vývojárom a testerom softvéru, ktorí si chcú zlepšiť svoje znalosti v určitej oblasti.
Medzi najlepšie kurzy testovania bielych skriniek, ktoré sú dnes k dispozícii online, patria:
2. Akých je päť najdôležitejších otázok na pohovore o automatizácii testovania bielych skriniek?
Ak sa pripravujete na pohovor, na ktorom môžete diskutovať o testovaní bielych skriniek, technikách bielych skriniek a nástrojoch na automatizáciu, je dôležité, aby ste to vedeli.
- Aký je rozdiel medzi testovaním bielej skrinky a testovaním čiernej skrinky?
- Prečo je dôležité testovanie bielych polí?
- Aké rôzne prístupy môžete použiť pri testovaní bielych skriniek?
- Aké procesy sú súčasťou white box testovania a ako ich môžeme zlepšiť?
- Aké nástroje a technológie môžete použiť na urýchlenie alebo spresnenie testovania bielych skriniek?
3. Najlepšie návody na testovanie bielych skriniek na YouTube
Ak sa chcete dozvedieť viac o white box testovaní, sledovanie tutoriálov na YouTube vám pomôže pochopiť, ako white box testovanie funguje, a pozrieť si názorné vysvetlenia procesov a prístupov, ktoré sa pri white box testovaní používajú.
Medzi najinformatívnejšie online návody na YouTube v súčasnosti patria:
- Udacity: Príklad testovania bielej skrinky
- Guru99: Čo je to testovanie bielych polí?
- Testovanie bielych a čiernych skriniek
- Techniky testovania bielej skrinky
- Mentor testovania softvéru: Čo je testovanie bielych polí?
4. Ako udržiavať testy bielej skrinky
Údržba testov softvéru zaručuje, že testy, ktoré vykonávate, sú vždy dôkladné a vhodné na daný účel. Je dôležité udržiavať všetky typy softvérových testov v rámci blackbox aj whitebox testovania, pretože kód, na ktorom vykonávate testy, sa neustále mení pri každej oprave chyby a iterácii. To znamená, že vaše testovacie skripty sa musia zmeniť spolu s ním.
Udržiavanie testov bielych skriniek zahŕňa aktualizáciu rámca pre automatizáciu testovania a presadzovanie procesov, ktoré majú zabezpečiť pravidelnú aktualizáciu testov a testovacích prípadov.
Môžete to urobiť tak, že:
Zapracovanie údržby do návrhu testov:
Ak pri prvom vytváraní a navrhovaní testov bielych skriniek zohľadníte ich budúcnosť, uľahčíte si údržbu testov v budúcnosti.
Umožniť jasnú komunikáciu medzi tímami:
Uistite sa, že všetci členovia vášho vývojového tímu majú k dispozícii viacero komunikačných kanálov, aby sa zmeny v kóde mohli rýchlo premietnuť do testov.
Buďte prispôsobiví:
Niekedy môžete vykonať zmeny v kóde, ktoré ste neplánovali. Uistite sa, že váš tím vie, ako sa rýchlo prispôsobiť týmto zmenám, a má zručnosti na sledovanie týchto zmien v testovaní.
Neustále prehodnocujte testovacie protokoly:
Testovacie protokoly, ktoré ste zaviedli na začiatku testovania, nemusia byť vhodné, keď váš softvér prejde rôznymi zmenami a vylepšeniami. V pravidelných fázach prehodnocujte svoje testovacie protokoly, aby ste overili, či sú stále vhodné.
5. Najlepšie knihy o testovaní bielych skriniek
Testovanie bielych polí je hlboká téma, ktorej zvládnutie môže trvať roky. Ak sa chcete stať odborníkom na moderné testovanie bielych skriniek v oblasti testovania softvéru, môžete si prečítať knihy o testovaní bielych skriniek, ktoré napísali vývojári, akademici a inžinieri.
Medzi najlepšie knihy o white box testovaní a automatizácii testovania v súčasnosti patria:
- The Art of Software Testing, Third Edition by Glenford J. Myers, Corey Sandler, Tom Badgett, Todd M. Thomas
- Testovanie softvéru: Jorgensen: Testovanie softvéru: remeselnícky prístup, štvrté vydanie, Paul C.
- Ako rozbiť softvér: James Whittaker: Praktický sprievodca testovaním
- Dostatočná automatizácia testovania softvéru od Dana Mosleyho a Brucea Poseyho
Tieto knihy by ste mali nájsť v niektorých kníhkupectvách a knižniciach, ako aj na internete. Ďalšie materiály na čítanie a vzdelávacie zdroje nájdete aj v zoznamoch literatúry dobrých kurzov a programov testovania softvéru.