Az integrációs tesztek helye a szoftvertesztelésben

post-thumb

Az integrációs tesztek célja az együttműködő rendszer(elem)ek vizsgálata. Ilyenkor a komponensek közötti interfészeket, egy rendszer más részeivel való kölcsönhatásait, vagy a rendszerek közötti interfészeket tesztelik.

A komponens teszt

Az integrációs tesztek részletezése előtt a komponens tesztekről ejtsünk néhány szót.

A komponens tesztek egy adott funkció vagy kódrészlet teszteléséről szólnak és a céljuk egyszerű, jól működik-e az adott funkció, módszer vagy sem.

Visszatérve az integrációs tesztekhez, a komponens tesztek alatt jól működő modulok immár integrációs tesztelés alá kerülhetnek, hogy megtudjuk azok megfelelő módon működnek-e egymással. 

Az integrációs tesztek akkor lehetnek a leghatékonyabbak, ha azokat még a komponensek vagy rendszerek kifejlesztése előtt megtervezik.

Az integrációs tesztelés stratégiái

Különböző, egymással ellentétes elveket valló módszerekkel is végrehajthatók a rendszerek integrációs tesztjei.

Két nagyobb kategóriát különböztetünk meg:

  • “big bang” integráció
  • inkrementális integráció.

Utóbbi többféleképpen is végrehajtható:

  • fentről lefelé irányuló megközelítéssel illetve,
  • alulról felfelé irányuló megközelítéssel.

Menjünk bele a részletekbe ezekkel kapcsolatban.

A “big bang” integráció

Ilyenkor minden egység és komponens egyszerre integrálódik, egy menetben történik a tesztelésük.

Habár ez kis rendszerekhez kényelmes lehet, és kevés segédkódot kell írni a tesztek végrehajtásához, megnehezíti a hibák korai felismerését és elkülönítését.

A fentről lefelé irányuló integráció

Ebben a megközelítésben a hierarchia legfelső szintjén álló elem tesztelése az első.

Ehhez egy szinttel lejjebb lévő elemek viselkedését és interfészét szimuláló ideiglenes elemek szükségesek.

Ha a teszt sikeres, az ideiglenes elemek valódiakkal helyettesíthetők, az általuk használtak pedig újabb ideiglenes elemekkel szimulálhatók.

Előnyei között van, hogy egy modul megírása után rögtön tesztelhető, a tervezési hibák korán kiderülnek és jól illeszkedik a “top-down” fejlesztési módszerekhez.

Hátránya, hogy bonyolult lehet a szimulációt végző ideiglenes rutinok megírása.

A lentről felfelé irányuló integráció

Az előző megközelítéssel ellentétben a hierarchia legalsó szintjén lévő modultól indulva megy felfelé a tesztelés. Ebben az esetben a felső szinteket szimuláló tesztelési környezetet kell írni. Sikeres teszt esetén a tesztelési környezet valódi implementált elemekre cserélhető és a következő szint helyettesíthető tesztelési környezettel.

Előnyei közé sorolható, hogy a helymeghatározási hibák ebben az esetben könnyebbek, hátránya, hogy kritikus modulok, amelyek az alkalmazás áramlását szabályozzák hibásak lehetnek.

Legtöbbször a két megközelítés valamilyen ötvözetét használják a gyakorlatban.

Mit fontos megjegyezni az integrációs tesztekkel kapcsolatban?

Az integrációs teszt során az egyes modulok együttes tesztelése folyik.

A tesztek írása és végrehajtása bonyolultabb, mint a komponens teszteké, végrehajtásuk lassabb.

Az integrációs teszteket az egyes modulok komponens tesztelését követően és a rendszer tesztelésének megkezdése előtt kell elvégezni.

Széleskörűek, lefedik az egész alkalmazást.

- TesterLab -

Megosztás: