Úvod do testovania White Boxu

Testovanie je jednou z dôležitých častí vývoja softvéru, zaisťuje, že všetky chyby sú vytriedené a program funguje tak, ako bol zamýšľaný. Testovanie softvérového produktu môže mať niekoľko krokov a viac postupov. V tomto článku sa pozrieme na jeden z dôležitých prístupov k testovaciemu procesu, na testovanie v bielej skrinke.

Čo je testovanie v bielej skrinke?

Testovanie na bielej skrinke sa nazýva aj testovanie na kódovej báze, testovanie na priehľadných obaloch, testovanie na otvorených obaloch a testovanie štruktúr. Základnou myšlienkou tohto prístupu k testovaniu softvéru je pozrieť sa na návrh vnútornej štruktúry a na kód programu na jeho testovanie.

Pri testovaní v bielej skrinke môže tester vidieť celý kód programu a je jeho úlohou overiť tok fungovania vstupov a výstupov v programe. Na rozdiel od testovania čiernych skriniek, ktoré sa viac zameriavajú na testovanie funkčnosti programu, sa White Box Testing zaoberá testovaním vnútorných štruktúr programu. Pozeranie sa na program týmto spôsobom nám umožňuje pracovať na zlepšení dizajnu, použiteľnosti a zvýšení bezpečnosti produktu.

Ako môžete hádať, nazývalo sa to testovanie bielej skrinky alebo sklenenej skrinky, pretože tester môže vidieť kód a ďalšie časti programu.

Čo robí test White Box odlišným od testovania Black Box

Ak ste v minulosti testovali špičky prstov, som si istý, že ste narazili na testovanie Black Box. Najväčší rozdiel medzi testovaním v bielej skrinke a testovaním v čiernej skrinke spočíva v tom, že na rozdiel od testovania v čiernej skrinke, ktoré sa vykonáva z pohľadu používateľa, sa testovanie v bielej skrinke vykonáva z pohľadu vývojára.

Inými slovami, prístup programu White Box Testing namiesto toho, aby sa pozrel na program zvonku, videl interný kód a otestoval ho.

Ako sa vykonáva testovanie v bielej skrinke?

Proces testovania bielej skrinky môžeme rozdeliť do dvoch hlavných krokov.

1. Pochopenie poskytnutého kódu

Najprv sa bude musieť tester v aplikácii White Box Testing naučiť kód aplikácie. Berúc do úvahy skutočnosť, že testovanie v bielej skrinke je o porozumení a testovaní všetkých vnútorných kódov programu, každý, kto má za úlohu testovať tento kód, by mal mať nielen dobré znalosti programovania, ale bude tiež potrebovať dobrú znalosť jazyka zdrojového kódu.

Bezpečnosť je jedným z dôležitých aspektov testovania White Box, takže tester bude musieť byť tiež schopný v bezpečnom kódovaní.

2. Vytváranie a vykonávanie testovacích prípadov

Po tom, čo testovací tím preštudoval kód, môžu začať testovať kód a skontrolovať jeho správny tok a štruktúru. Aby tak urobili, testeri napíšu nejaký kód pre niektoré testovacie prípady, ktoré sa pokúsia prejsť všetkými riadkami kódu prítomnými v programe.

Môže sa to vykonať aj v manuálnom testovaní, ktoré zahŕňa pokus a omyl. Testeri môžu použiť aj niektoré automatizované testovacie nástroje ako JUnit a NUnit.

Príklad testovania v bielej skrinke

Ak chcete lepšie porozumieť pojmu testovanie v bielych skriniach, prečítajte si nasledujúci kód:

print (int x, int y) (
int sum = x + y;
If ( sum > 0 )
Print ( "Positive", result )
Else
Print ( "Negative", result )
)

Ako sme už diskutovali, cieľom White Box Testingu je prechádzať všetkými vetvami, slučkami a príkazmi, ktoré sú v kóde prítomné. Vzhľadom na to môžeme urobiť 2 testovacie prípady, jeden, v ktorom sú oba vstupy pozitívne, a druhý, kde sú oba vstupy záporné celé čísla.

Príklad:

  • A = 10 a B = 20
  • A = -10 a B = -20

Techniky testovania v bielej skrinke

Jedna z najpopulárnejších testovacích techník pre testovanie v bielych skriniach sa nazýva analýza pokrytia kódu, táto technika sa snaží odstrániť všetky medzery v sade testovacích prípadov a identifikuje časti aplikácie, ktoré sa nepoužívajú v testovacích prípadoch. Akonáhle sa tieto medzery nájdu, môžeme vytvoriť prípady, ktoré umožnia vidieť a overiť časti kódu, ktoré sa netestujú, čo vedie na konci k lepšiemu produktu.

Nasledujú niektoré techniky analýzy pokrytia:

  • Pokrytie príkazov : Pri tejto metóde sa snažíme prechádzať všetky príkazy v kóde aspoň raz. To zaručuje, že je testovaný celý kód.
  • Pokrytie vetvy: Táto metóda je plánovaná tak, aby prechádzala každou vetvou rozhodovacích bodov v kóde. Týmto sa zabezpečí, že všetky rozhodnutia sa otestujú aspoň raz.

Existujú aj ďalšie testovacie techniky, tu je ich niekoľko:

  • Pokrytie podmienok: Pri tejto testovacej technike zabezpečujeme, aby boli v kóde obsiahnuté všetky podmienky, napríklad:

READ A, B
IF (A == 0 || B == 0)
PRINT '0'

Ako vidíte, tu máme 2 podmienky: A == 0 a B == 0. Teraz tieto podmienky dostanú TRUE a FALSE ako hodnoty. Jedným z možných príkladov môže byť:

# TC1 - A = 0, B = 110
# TC2 - A = 10, B = 0

  • Viacnásobné pokrytie podmienok: Toto je o niečo vyspelejšie ako posledné. Ako viete, testujeme všetky možné kombinácie a všetky možné výsledky aspoň raz. Tu je slušný príklad:

READ A, B
IF (A == 0 || B == 0)
PRINT '0'

# TC1: A = 0, B = 0
# TC2: A = 0, B = 10
# TC3: A = 110, B = 0
# TC4: A = 110, B = 5

Z tohto dôvodu. Vyžadujeme 4 testovacie prípady pre 2 podmienky.

Ak teda existujú n podmienky, budeme požadovať 2 n testovacích prípadov.

  • Testovanie cesty základne: V tejto technike testovania bielej skrinky vytvoríme graf toku toku a potom vypočítame jeho cyklomatickú zložitosť, čo je počet nezávislých ciest. Pomocou cyklomatickej zložitosti nájdeme minimálny počet testovacích prípadov, ktoré môžeme navrhnúť pre každú nezávislú cestu vývojového diagramu.
  • Testovanie slučky : Slučky sú jedným z najčastejšie používaných nástrojov v programátorskej výzbroji. Pretože sú jadrom toľkých algoritmov, má zmysel mať len testovaciu techniku ​​založenú na slučkách. Môžu existovať 3 typy slučiek: jednoduché, vnorené a zreťazené. Pozrime sa, ako sa bude tester zaoberať technikou týchto typov:

1. Jednoduché cykly: Pre slučku, ktorá je jednoduchá v dizajne a má veľkosť n, môžeme navrhnúť niekoľko testovacích prípadov, ktoré vykonajú toto:

  • Preskočte uvedenú slučku.
  • Prechádzajte slučkou iba raz.
  • Majú 2 prihrávky
  • Majte ľubovoľný počet prechodov, ktoré sú menšie ako jeho veľkosť.
  • n-1 an + 1 prechádzajú slučkou.

2. Vnorené slučky: Pre kód s vnorenými slučkami začíname najvnútornejšou slučkou a potom ideme smerom von, až kým sa nedostaneme k vonkajšej slučke.

3. zreťazené slučky: v prípade týchto slučiek. Jednoduchý test slučky používame jedenkrát za druhým a v prípade, že zreťazená slučka nie je nezávislá, môžeme s ňou zaobchádzať rovnako ako v prípade vnorených slučiek.

výhody

Teraz, keď sme videli, čo je táto testovacia metóda a ako to funguje. Pozrime sa na niektoré z výhod tohto.

  • Testovanie v bielej skrinke má jednoduché a jasné pravidlá, aby informoval testera o tom, kedy sa testovanie vykonáva.
  • Techniky testovania bielej skrinky sa ľahko automatizujú, čo vedie k tomu, že vývojár si musí najať menej testerov a menšie náklady.
  • Ukazuje prekážky, ktoré programátorom uľahčujú optimalizáciu.
  • Testovací tím môže začať so svojou prácou bez toho, aby musel čakať na vývojový tím na dokončenie vývoja používateľského rozhrania.
  • Pretože vo väčšine prípadov sú kódom pokryté všetky cesty kódu, testovanie kódu je viac.
  • Pomáha pri odstraňovaní častí kódu, ktoré nie sú nevyhnutné pre funkčnosť programu.

nevýhody

  • Je to celkom zdanenie zdrojov. Aby bolo testovanie ukončené, budete potrebovať niekoho, kto pozná váš kód veľmi dobre, aby bol v testovacom tíme a ktorý je sám dobrý programátor. Tento typ úrovne zručností zvyšuje náklady na testovanie.
  • V mnohých prípadoch nie je možné vyskúšať všetky možné podmienky v kóde z dôvodu časových obmedzení alebo rozpočtových obmedzení.
  • Pretože testovanie v bielej skrinke je založené na kontrole funkčnosti existujúceho kódu, v programe nemôžete nájsť chýbajúcu funkčnosť.
  • Ak je niektorá časť kódu prepracovaná a prepísaná, testeri musia znova napísať testovacie prípady.

Nástroje na testovanie v bielej skrinke

Teraz, keď ste oboznámení s výhodami, nevýhodami a technikami testovania v bielych skriniach, sa môžeme pozrieť na niektoré populárne nástroje, ktoré môžu testeri použiť na vykonávanie testov v bielych skriniach.

  • JSUnit.net

Toto je nástroj na testovanie jazyka JavaScript. JSUnit je súčasťou Junit a jeho open source frameworku pre testovanie jednotiek, ktorý možno použiť na testovanie White Boxu. JSUnit je úplne otvorený zdroj pod GNU Public License 2.0, čo znamená, že ani pre komerčné použitie nemusí vývojár platiť žiadny licenčný poplatok.

  • CppUnit

Rovnako ako JSUnit sa aj CppUnit považuje za súčasť JUnit. Nástroj môže vydávať výstup vo formáte obyčajného textu alebo XML, v závislosti od potreby testera a môže vytvárať testy jednotiek s vlastnými triedami. CppUnit je licencovaný pod LGPL.

  • Veracode

Aj keď to nie je zadarmo, Veracode má niekoľko výkonných nástrojov, ktoré je možné použiť na testovanie .NET, C ++, Java a niektorých ďalších jazykov. Testovanie White Boxu je možné vykonávať aj aplikácie pre stolné, webové a mobilné aplikácie.

  • NUNIT

Je to rámec testovania jednotiek a bol napísaný v jazyku C #. Tento nástroj podporuje všetky dostupné jazyky .Net a podporuje aj test založený na údajoch. Funkčnosť je múdre, môže pracovať na paralelnom aj súbežnom vykonávaní a môže poskytovať rámec triedy a aplikácie pre bežcov. Jednou z významných vlastností NUnit je, že sa dá pomerne ľahko používať.

  • JUnit

Ako môžete uhádnuť zo svojho názvu, JUnit je nástroj na automatizáciu testovania jednotiek pre Java. Dodávka JUnit je ľahko integrovateľná s IDE, ako sú zatmenie, Macen ACT atď. Je schopná podporovať vývoj riadený testami a môže synchronizovať existujúce testy s novo vytvorenými. JUnit je úplne otvorený zdroj a je zadarmo ho používať pre akýkoľvek druh vývoja Java.

  • CSUnit

Rovnako ako Nunit je CSUnit postavený na podporu testovania jednotiek v .Net Framework. Podporuje jazyky ako C # a VB.Net. CSUnit má zabudovanú podporu pre faktoringovú prax a ďalšie typy praktík, ktoré sa používajú v prístupe agilného rozvoja SDLC.

záver

Testovanie má veľmi dôležité miesto v procese vývoja softvéru a testovanie White Box je cenným prístupom k jeho dokončeniu. Aj keď tento prístup k testovaniu môže byť drahý a časovo náročný, testovanie v bielej skrinke zostáva jediným spôsobom, ako sa ubezpečiť, že všetky časti kódu boli zahrnuté do procesu testovania.

Najdôležitejšou časťou testovania v bielych skriniach je to, ako je tester oboznámený s týmto kódom. Niekto poverený testovaním prístupu WBT, ktorý nemá dobrú ruku s použitým zdrojovým kódom a programovacím jazykom, spôsobí veľa problémov. V závislosti od bielej skrinky nie je dobrý test, pretože sa nevzťahuje na chýbajúce funkcie. Pre podrobnejší prístup k vývoju by sa malo vykonať testovanie White Box aj Black box, pretože potom bude pokrývať maximálne chyby, chyby a zostávajúce vlastnosti, ktoré je potrebné pridať pred odoslaním produktu.

Odporúčané články

Toto bol návod na testovanie v bielej skrinke. Tu sme diskutovali o tom, ako sa vykonáva testovanie v bielej skrinke pomocou príkladov a rôznych techník testovania v bielej skrinke pomocou nástrojov. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Rozhovor Otázky na testovanie softvéru
  2. Kariéra v testovaní softvéru
  3. Rozhovor Otázky na testovanie hry
  4. Otázky týkajúce sa rozhovorov s ETL
  5. Pokrytie kódu verzus testovacie pokrytie Top 4 rozdiely, ktoré je potrebné sa naučiť
  6. Nástroje na pokrytie kódu 6 hlavných nástrojov na pokrytie kódu

Kategórie: