Bevezetés a White Box tesztelésbe

A tesztelés a szoftverfejlesztés egyik fontos része, ez biztosítja, hogy minden hiba rendeződjön és a program megfelelően működjön. A szoftvertermékek tesztelése több lépést és több eljárást is tartalmazhat. Ebben a cikkben a tesztelési folyamat egyik fontos megközelítését, a White Box tesztelését vizsgáljuk meg.

Mi a White Box tesztelése?

A fehér doboz tesztelését kódbázis-tesztelésnek, tiszta doboz tesztelésnek, nyitott doboz tesztelésnek és szerkezeti tesztelésnek is nevezik. A szoftvertesztelés ezen megközelítésének alapvető gondolata a belső struktúra kialakításának és a program kódjának a megvizsgálása.

A White box tesztelés során a tesztelő láthatja a program teljes kódját, és feladata annak ellenőrzése, hogy a bemenetek és a kimenetek hogyan működnek a programban. A fekete doboz teszteléssel szemben, amely inkább a program funkcionalitásának tesztelésére koncentrál, a White Box Testing a program belső struktúrájának tesztelésére irányul. A program ilyen áttekintése lehetővé teszi számunkra, hogy javítsuk a tervezést, a használhatóságot és a terméket biztonságosabbá tegyük.

Mint kitalálhatja, úgy nevezték, hogy a fehér doboz vagy üveg doboz tesztelése, mivel a tesztelő látja a kódot és a program többi részét.

Miben különbözik a White Box tesztelés a fekete doboz teszteléstől

Ha a múltban a lábujjait tesztelés közben végezte el, biztos vagyok benne, hogy a Black Box tesztelés során találkozott. A legnagyobb különbség a White Box tesztelés és a Black Box tesztelés között az, hogy ellentétben a Black Box teszteléssel, amelyet a felhasználó szemszögéből végeznek, a White Box tesztelést fejlesztő szempontjából végzik.

Más szavakkal, ahelyett, hogy a programot kívülről néznék, a White Box Testing megközelítés megtekinti a belső kódot és teszteli.

Hogyan hajtják végre a White Box tesztet?

A White Box tesztelés folyamatát két fő lépésre oszthatjuk.

1. A megadott kód megértése

Először a White Box Testing tesztelőinek meg kell tanulnia az alkalmazás kódját. Figyelembe véve azt a tényt, hogy a White Box tesztelése a program belső kódjának megértéséről és teszteléséről szól, bárki, akinek a feladata a kód tesztelése, nemcsak jól ismeri a programozást, hanem szükség lesz jó nyelvtudással is. a forráskód.

A biztonság a White Box tesztelés egyik fontos szempontja, tehát a tesztelőnek is jónak kell lennie a biztonságos kódolási gyakorlatban.

2. Teszt esetek létrehozása és végrehajtása

Miután a tesztelő csoport megvizsgálta a kódot, elkezdhetik a kód tesztelését, hogy ellenőrizzék annak megfelelő áramlását és felépítését. Ehhez a tesztelők beírnak kódot néhány teszt esetre, amelyek megpróbálják áthaladni a programban szereplő összes kódsoron.

Ezt meg lehet tenni a Kézi tesztelés során is, amely próba-és hibát foglal magában. A tesztelők is használhatnak bizonyos automatizált tesztelési eszközöket, például a JUnit és a NUnit.

Példa a fehér doboz tesztelésére

A White Box tesztelésének fogalmának jobb megértése érdekében nézze meg az alábbi kódot:

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

Amint azt korábban tárgyaltuk, a White Box Testing célja az, hogy áthajtson az összes ágon, hurkon és utasításon, amelyek a kódban vannak. Figyelembe véve ezt, 2 teszt esetet készíthetünk, az egyikben mindkét bemenet pozitív, a másikban pedig mindkét bemenet negatív egész szám.

Példa:

  • A = 10 és B = 20
  • A = -10 és B = -20

Fehér doboz tesztelési technikák

A fehér dobozos tesztelés egyik legnépszerűbb tesztelési módszerét kód lefedettség elemzésnek hívják, ez a technika megpróbálja kiküszöbölni a teszt esetkészletben lévő hiányosságokat, és azonosítja az alkalmazás olyan részeit, amelyeket a teszt esetek nem használnak. Miután ezeket a hiányosságokat megtaláltuk, létrehozhatunk eseteket, hogy megnézhessük és ellenőrizhessük a kód nem tesztelt részeit, ez a végén sokkal finomabb terméket eredményez.

Az alábbiakban bemutatunk néhány lefedettség-elemzési technikát:

  • Nyilatkozat lefedettsége: Ebben a módszerben megpróbálunk legalább egyszer átkerülni a kódban szereplő összes állítást. Ez biztosítja, hogy az összes kódot teszteljék.
  • Ágazati lefedettség: Ezt a módszert a kód döntési pontjainak minden ágának áthaladására tervezik. Ez biztosítja, hogy minden döntést legalább egyszer megvizsgáljanak.

Vannak más tesztelési technikák is, itt csak néhány:

  • Feltétel-lefedettség: Ebben a tesztelési technikában megbizonyosodunk arról, hogy a kód minden feltételt lefedi-e, például:

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

Mint láthatja, itt van 2 feltétel: A == 0 és B == 0. Ezeknek a feltételeknek az értéke IGAZ és HAMIS lesz. Egy lehetséges példa lehet:

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

  • Több feltételű lefedettség: Ez egy kicsit fejlettebb, mint az előző. Amint kitalálhatja, legalább egyszer tesztelünk minden lehetséges kombinációt és minden lehetséges eredményt. Íme egy jó példa:

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

Ennélfogva. 2 tesztre 4 esetre van szükség.

Ezért ha n feltétel van, akkor 2 n teszt esetre lesz szükségünk.

  • Bázisút vizsgálata: Ebben a White Box Testing technikában elkészítjük a kontrolláramlási gráfot, majd kiszámoljuk annak ciklomatikus összetettségét, azaz a független utak számát. A ciklomatikus komplexitás felhasználásával megtalálhatjuk a minimális számú teszt esetet, amelyet az áramlási gráf minden egyes független útjára megtervezhetünk.
  • Hurok tesztelése: A hurkok az egyik leggyakrabban használt eszköz a programozó fegyvereiben. Mivel ezek a sok algoritmus alapját képezik, csak akkor van értelme, ha hurokon alapuló tesztelési technika van. Háromféle hurok lehet: Egyszerű, beágyazott és összekapcsolt. Vessen egy pillantást arra, hogy a tesztelő hogyan fogja kezelni az ilyen típusú technikákat:

1. Egyszerű hurkok: Egy egyszerű kialakítású és n méretű hurokhoz megtervezhetünk néhány olyan tesztet, amelyek a következők:

  • Átugrani a hurkot.
  • A hurok csak egyszer haladjon át.
  • Van 2 áthaladás
  • Rendeljen bármilyen számú áthaladást, amely kisebb, mint a mérete.
  • n-1 és n + 1 áthaladnak a hurkon.

2. Beágyazott hurkok: Beágyazott hurkokkal rendelkező kód esetén a legbelső hurokkal kezdjük, majd kifelé menünk, amíg eljutunk a legkülső hurokhoz.

3. Összekapcsolt hurkok: Ezeknek a hurkoknak a esetében. Egyszerû hurok tesztet használunk egymás után, és ha a összekapcsolt hurok nem független, akkor úgy kezelhetjük őket, mint a beágyazott hurkok esetében.

Előnyök

Most, hogy megláttuk, mi ez a tesztelési módszer, és hogyan működik. Vessen egy pillantást ennek néhány előnyeire.

  • A White Box tesztelés egyszerű és egyértelmű szabályokkal rendelkezik, hogy a tesztelő értesítse a tesztelés időpontját.
  • A White Box tesztelési technikákat könnyű automatizálni, ennek eredményeként a fejlesztőknek kevesebb tesztelőt kell felvenniük és kisebb költségeket kell feltenniük.
  • Szűk keresztmetszeteket mutat, amelyek megkönnyítik az optimalizálást a programozók számára.
  • A tesztelő csoport megkezdheti munkáját anélkül, hogy meg kellett volna várnia a fejlesztői csapatnak az UI fejlesztésének befejezését.
  • Mivel a legtöbb esetben az összes kódút meg van fedezve a kódban, a kód tesztelése végső soron zajlik.
  • Segít a kód azon részeinek eltávolításában, amelyek nem nélkülözhetetlenek a program funkcionalitásához.

hátrányok

  • Meglehetősen adóztatja az erőforrásokat. A tesztelés elvégzéséhez szükséged lesz valakire, aki nagyon jól ismeri az Ön kódját, hogy a tesztelő csapat tagja legyen, és aki maga is jó programozó. Az ilyen típusú képzettségi szint növeli a tesztelés költségeit.
  • Sok esetben a kód minden lehetséges feltételének tesztelése időkorlátozások vagy költségvetési korlátozások miatt nem lehetséges.
  • Mivel a fehér négyzet tesztelése a meglévő kód funkcionalitásának ellenőrzésén alapul, a programban nem található a hiányzó funkció.
  • Ha a kód bármely részét átalakítják és újraírják, a tesztelőknek újra meg kell írni a teszt eseteit.

Fehér doboz tesztelő eszközök

Most, hogy ismeri a fehér dobozos tesztelés előnyeit, hátrányait és technikáit, átnézhetjük néhány népszerű eszközt, amelyeket a tesztelők használhatnak a white box teszteléshez.

  • JSUnit.net

Ez egy JavaScript tesztelő eszköz. A JSUnit a Junit része, és egy nyílt forráskódú egység tesztelési keretrendszere, amely felhasználható a White Box teszteléshez. A JSUnit teljesen nyílt forráskódú a GNU Public License 2.0 alatt, ami azt jelenti, hogy a fejlesztőknek még kereskedelmi használatra sem kell fizetniük licencdíjat.

  • CppUnit

Csakúgy, mint a JSUnit, a CppUnit is a JUnit része. Az eszköz egyszerű szöveges vagy XML formátumban képes kiadni, a tesztelő igényétől függően, és saját osztályokkal létrehozhat egységteszteket. A CppUnit LGPL licenc alatt van.

  • VeraCode

Noha nem szabad használni, a Veracode rendelkezik néhány hatékony eszközzel, amelyek felhasználhatók a .NET, C ++, Java és néhány más nyelv tesztelésére. A White Box tesztelése elvégezhető az asztali, internetes és mobil alkalmazásokhoz készített alkalmazásokkal is.

  • NUnit

Ez egy egység tesztelési keretrendszer, amelyet C #-ben írtak. Az eszköz támogatja az összes elérhető .Net nyelvet, valamint az adatvezérelt tesztet is. A funkcionalitás szempontjából bonyolult, képes működni párhuzamos és egyidejű végrehajtáson egyaránt, és osztálykeretet és tesztfutó-alkalmazást nyújthat. A NUnit egyik figyelemre méltó tulajdonsága, hogy meglehetősen könnyű használni.

  • JUnit

Amint a nevéből kitalálható, a JUnit egy egység tesztelő automatizálási eszköz a Java számára. A JUnit furgon könnyen integrálható olyan IDE-kkel, mint például az eclipse, a Macen ACT, stb. Támogatja a tesztvezérelt fejlesztést, és szinkronizálhatja a meglévő teszteket az újonnan létrehozottokkal. A JUnit egy teljesen nyílt forráskódú és bármilyen Java fejlesztéshez szabadon használható.

  • CSUnit

Csakúgy, mint a Nunit, a CSUnit az egység tesztelésének támogatására épül. Támogatja a C # és a VB.Net nyelveit. A CSUnit beépített támogatással rendelkezik a faktoring gyakorlathoz és más típusú gyakorlatokhoz, amelyeket az SDLC agilis fejlesztési megközelítésében használnak.

Következtetés

A tesztelés nagyon fontos helyet foglal el a szoftverfejlesztési folyamatban, és a White Box tesztelése értékes megközelítés a megvalósításhoz. Noha ez a tesztelési megközelítés drága és időigényes lehet, a White Box tesztelése továbbra is az egyetlen módja annak biztosítására, hogy a kód minden részét figyelembe vegyék a tesztelési folyamatban.

A White Box tesztelés legfontosabb része az, hogy a tesztelő mennyire ismeri a kódot. Valaki, akinek feladata a WBT megközelítés tesztelése, aki nem rendelkezik jó kezével a forráskóddal és a használt programozási nyelvvel, sok problémát okoz. Ezenkívül, csak a White Box-tól függően, a tesztelés nem jó ötlet, mivel nem fedezi a hiányzó funkciókat. A fejlesztés átfogóbb megközelítéséhez mind a White Box Testing, mind a Black Box tesztelést el kell végezni, mivel ez lefedi a maximális hibákat, hibákat és fennmaradó funkciókat, amelyeket a termék szállítása előtt hozzá kell adni.

Ajánlott cikkek

Ez egy útmutató a White Box teszteléséhez. Itt megvitattuk, hogy a White Box tesztelését hogyan hajtják végre példák és különféle White Box tesztelési technikák és eszközök segítségével. A további javasolt cikkeken keresztül további információkat is megtudhat -

  1. Szoftvertesztelő interjúkérdések
  2. Karrier a szoftver tesztelésében
  3. Játéktesztelési interjúkérdések
  4. ETL tesztelési interjúkérdések
  5. Kód lefedettség vs teszt lefedettség | A 4 legfontosabb különbség a tanuláshoz
  6. Kódfedő eszközök | A 6 legnépszerűbb kódfedeles eszköz

Kategória: