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 -
- Szoftvertesztelő interjúkérdések
- Karrier a szoftver tesztelésében
- Játéktesztelési interjúkérdések
- ETL tesztelési interjúkérdések
- Kód lefedettség vs teszt lefedettség | A 4 legfontosabb különbség a tanuláshoz
- Kódfedő eszközök | A 6 legnépszerűbb kódfedeles eszköz