Mi a FEHÉR doboz tesztelés? Technikák, példa & Típusok

Tartalomjegyzék:

Anonim

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