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.