Fehér doboz tesztelése
A White Box Testing olyan szoftvertesztelési technika, amelyben a szoftver belső felépítését, tervezését és kódolását tesztelik az input-output áramlásának igazolása, valamint a tervezés, a használhatóság és a biztonság javítása érdekében. A fehér doboz tesztelésnél a kód látható a tesztelők számára, így nevezik Clear box tesztelésnek, Open box tesztelésnek, Átlátszó doboz tesztelésnek, Kód alapú tesztelésnek és Üveg doboz tesztelésnek is.
Ez a szoftver tesztelés Box Testing megközelítésének két része. Ennek megfelelője, a Blackbox tesztelés magában foglalja a tesztelést külső vagy végfelhasználói típusú szempontból. Másrészt a fehérdobozos tesztelés a szoftvertervezésben egy alkalmazás belső működésén alapul, és a belső tesztelés körül forog.
A "WhiteBox" kifejezést az átlátszó doboz koncepció miatt használták. A tiszta doboz vagy a WhiteBox név szimbolizálja azt a képességet, hogy a szoftver külső burkolatán (vagy "dobozán") keresztül láthassa a belső működését. Hasonlóképpen, a "fekete doboz" a "fekete doboz tesztelésben" azt jelképezi, hogy nem láthatja a szoftver belső működését, így csak a végfelhasználói élmény tesztelhető.
Ebben a fehér doboz tesztelési útmutatóban megtudhatja,
- Mi a fehér doboz tesztelése?
- Mit igazol a White Box tesztelés során?
- Hogyan végezheti el a White Box tesztet?
- WhiteBox tesztelési példa
- Fehér doboz tesztelési technikák
- A fehér doboz tesztelésének típusai
- Fehér doboz tesztelő eszközök
- A fehér doboz tesztelésének előnyei
- A WhiteBox tesztelés hátrányai
Mit igazol a White Box tesztelés során?
A fehér doboz tesztelése magában foglalja a szoftver kódjának tesztelését a következőkre:
- Belső biztonsági lyukak
- Megszakadt vagy rosszul strukturált utak a kódolási folyamatokban
- Az adott bemenetek áramlása a kódon keresztül
- Várható kimenet
- A feltételes hurkok funkcionalitása
- Minden állítás, objektum és függvény tesztelése egyénileg
A tesztelés elvégezhető a szoftverfejlesztés rendszer-, integrációs és egységszintjén. A whitebox tesztelés egyik alapvető célja az alkalmazás működő folyamatának ellenőrzése. Ez magában foglalja az előre definiált bemenetek sorozatának tesztelését a várható vagy kívánt kimenetekkel szemben, így amikor egy adott bemenet nem eredményezi a várt kimenetet, hibával találkozott.
Kattintson ide, ha a videó nem érhető el
Hogyan végezheti el a White Box tesztet?
A fehér doboz tesztelésének egyszerűsített magyarázatát két alapvető lépésre osztottuk . Ezt teszik a tesztelők, amikor egy alkalmazást a fehér doboz tesztelési technikával tesztelnek:
1. LÉPÉS: MEGÉRTENI A FORRÁSKÓDOT
Az első dolog, amit egy tesztelő gyakran megtesz, megtanulja és megérti az alkalmazás forráskódját. Mivel a fehér dobozos tesztelés magában foglalja az alkalmazás belső működésének tesztelését, a tesztelőnek nagyon ismernie kell az általuk tesztelt alkalmazásokban használt programozási nyelveket. Ezenkívül a tesztelő személynek tisztában kell lennie a biztonságos kódolási gyakorlattal. A biztonság gyakran a szoftverek tesztelésének egyik elsődleges célja. A tesztelőnek képesnek kell lennie arra, hogy biztonsági problémákat találjon, és megakadályozza a hackerek és a naiv felhasználók támadásait, akik tudatosan vagy öntudatlanul rosszindulatú kódot juttathatnak az alkalmazásba.
2. lépés: Hozza létre a teszteseteket és hajtsa végre
A fehér dobozos tesztelés második alapvető lépése magában foglalja az alkalmazás forráskódjának tesztelését a megfelelő folyamat és struktúra szempontjából. Az egyik módszer az, ha további kódot írunk az alkalmazás forráskódjának tesztelésére. A tesztelő kis teszteket fog kidolgozni az alkalmazás minden egyes folyamatához vagy folyamatsorozatához. Ez a módszer megköveteli, hogy a tesztelőnek alaposan ismernie kell a kódot, és gyakran a fejlesztő végzi. Egyéb módszerek közé tartozik a kézi tesztelés, a próba- és hibatesztelés, valamint a tesztelő eszközök használata, amint ezt a cikkben tovább elmagyarázzuk.
WhiteBox tesztelési példa
Vegye figyelembe a következő kóddarabot
Printme (int a, int b) {------------ A Printme egy függvényint eredmény = a + b;Ha (eredmény> 0)Nyomtatás ("Pozitív", eredmény)MásNyomtatás ("Negatív", eredmény)} ----------- A forráskód vége
A szoftverfejlesztésben a WhiteBox tesztelésének célja a kódban szereplő összes döntési ág, hurok, állítás ellenőrzése.
A fenti fehér dobozos tesztelési példában szereplő állítások elvégzéséhez a WhiteBox tesztesetek lennének
- A = 1, B = 1
- A = -1, B = -3
Fehér doboz tesztelési technikák
A fehér doboz tesztelésének egyik fő technikája a Code Coverage elemzés. A Code Coverage elemzés kiküszöböli a teszteset-csomag hiányosságait. Meghatározza a program azon területeit, amelyeket nem tesztesetek halmoznak fel. A hiányosságok azonosítása után teszteseteket hoz létre a kód nem tesztelt részeinek ellenőrzésére, ezáltal javítva a szoftvertermék minőségét
Automatizált eszközök állnak rendelkezésre a kód lefedettség elemzéséhez. Az alábbiakban bemutatunk néhány lefedettség-elemzési technikát, amelyet egy box tesztelő használhat:
Nyilatkozat lefedettség : - Ez a technika megköveteli, hogy a kód minden lehetséges állítását legalább egyszer tesztelni kell a szoftverfejlesztés tesztelési folyamata során.
Ágfedettség - Ez a technika ellenőrzi a szoftveralkalmazás minden lehetséges útvonalát (ha-más és más feltételes hurkok).
A fentieken kívül számos lefedettségtípus létezik, mint például a feltételfedés, a többszörös feltételfedés, az útvonal lefedettsége, a funkció lefedettsége stb. A Statement and Branch lefedettség használatával általában 80-90% -os kódfedettséget ér el, ami elegendő. Az alábbiakban fontos WhiteBox tesztelési technikák találhatók:
- Nyilatkozati lefedettség
- Döntési lefedettség
- Ágfedés
- Állapot lefedettség
- Több feltételes lefedettség
- Véges állapotú gép lefedettsége
- Útvonal lefedettsége
- Ellenőrző áramlás tesztelése
- Adatáramlás tesztelése
További részletekért olvassa el ezt a cikket: https://www.guru99.com/code-coverage.html
A fehér doboz tesztelésének típusai
A fehér dobozos tesztelés számos tesztelési típust tartalmaz, amelyeket egy alkalmazás, kódblokk vagy adott szoftvercsomag használhatóságának értékelésére használnak. Az alábbiakban felsoroljuk -
-
Egységtesztelés: Gyakran ez az első típusú tesztelés egy alkalmazáson. Az egység tesztelését minden egyes egységre vagy kódblokkra végzik, ahogyan azt fejlesztik. Az egység tesztelését lényegében a programozó végzi. Szoftverfejlesztőként kifejleszt néhány kódsort, egyetlen funkciót vagy objektumot, és tesztelje, hogy működik-e, mielőtt folytatná az Egységes tesztelés segítséget a hibák többségének azonosításához a szoftverfejlesztés életciklusának elején. Az ebben a szakaszban azonosított hibák olcsóbbak és könnyen javíthatók.
-
Memóriaszivárgás tesztelése : A memóriaszivárgások a lassabban futó alkalmazások vezető okai. A memóriaszivárgások észlelésében jártas minőségbiztosítási szakember elengedhetetlen azokban az esetekben, amikor lassan futó szoftveralkalmazása van.
A fentieken kívül néhány tesztelési típus része a fekete és a fehér doboz tesztelésének. Az alábbiak szerint vannak felsorolva
- Fehér doboz behatolási teszt: Ebben a tesztelésben a tesztelőnek / fejlesztőnek teljes információval kell rendelkeznie az alkalmazás forráskódjáról, részletes hálózati információkról, az érintett IP-címekről és az alkalmazás által futtatott összes szerverinformációról. A cél többféle irányból támadni a kódot a biztonsági fenyegetések leleplezése érdekében
- Fehér doboz mutációs tesztelés : A mutációs tesztet gyakran használják a szoftveres megoldás kibővítéséhez használt legjobb kódolási technikák felfedezésére.
Fehér doboz tesztelő eszközök
Az alábbiakban felsoroljuk a legnépszerűbb fehér doboz tesztelő eszközöket.
- Parasoft Jtest
- EclEmma
- NUnit
- PyUnit
- HTMLUnit
- CppUnit
A fehér doboz tesztelésének előnyei
- Kódoptimalizálás rejtett hibák keresésével.
- A fehér dobozos tesztek könnyen automatizálhatók.
- A tesztelés alaposabb, mivel általában minden kódút lefedett.
- A tesztelés korán elkezdődhet az SDLC-ben, még akkor is, ha a GUI nem áll rendelkezésre.
A WhiteBox tesztelés hátrányai
- A fehér doboz tesztelése meglehetősen összetett és drága lehet.
- Azok a fejlesztők, akik általában fehér dobozos teszteket hajtanak végre, utálják. A fejlesztők által a fehér dobozban végzett tesztelés nem részletezett, ez gyártási hibákhoz vezethet.
- A fehér doboz tesztelése szakmai erőforrásokat igényel, a programozás és a megvalósítás részletes megértésével.
- A fehér doboz tesztelése időigényes, a nagyobb programozási alkalmazások időt vesznek igénybe a teljes teszteléshez.
Befejező megjegyzések:
- A fehér doboz tesztelése meglehetősen összetett lehet. Az összetettség nagyon sok köze van a tesztelt alkalmazáshoz. Egy egyszerû mûveletet végrehajtó kicsi alkalmazás néhány perc alatt fehér dobozban tesztelhetõ, míg a nagyobb programozási alkalmazások teljes, napokig, hetekig és még tovább tartanak.
- A szoftveres tesztelés során a fehér doboz tesztelését egy szoftveralkalmazáson kell elvégezni, annak fejlesztése után, annak megírása után, és minden módosítás után újra