Mi az a rendszerintegrációs tesztelés?
A rendszerintegrációs teszt a szoftver tesztelésének olyan típusa, amelyet integrált hardver- és szoftverkörnyezetben hajtanak végre, hogy ellenőrizzék a teljes rendszer viselkedését. Tesztet végeznek egy komplett, integrált rendszeren annak értékelésére, hogy a rendszer megfelel-e meghatározott követelményeinek.
A rendszerintegrációs tesztet (SIT) a szoftverrendszer moduljai közötti kölcsönhatások ellenőrzésére végzik. A szoftverkövetelmények specifikációjában / adatokban és a szoftvertervezési dokumentumban meghatározott magas és alacsony szintű szoftverkövetelmények ellenőrzésével foglalkozik.
Ezenkívül ellenőrzi a szoftverrendszer másokkal való együttélését, és teszteli a szoftveralkalmazás moduljai közötti interfészt. Az ilyen típusú tesztelés során a modulokat először egyedileg tesztelik, majd egyesítik, hogy egy rendszert hozzanak létre.
Például a szoftver- és / vagy hardverkomponenseket fokozatosan kombinálják és tesztelik, amíg a teljes rendszert integrálják.
Ebben az oktatóanyagban megtanulja-
- Mi az a rendszerintegrációs tesztelés?
- Miért kell elvégezni a rendszerintegráció tesztelését
- Hogyan kell elvégezni a rendszerintegrációs tesztelést
- Belépési és kilépési kritériumok az integráció teszteléséhez
- Hardver és szoftver integráció tesztelése
- Szoftver a szoftverintegráció teszteléséhez
- Felülről lefelé irányuló megközelítés
- Alulról felfelé építkező megközelítés
- Big Bang megközelítés
Miért kell elvégezni a rendszerintegráció tesztelését
A szoftverfejlesztésben a rendszerintegrációs tesztelés azért történik, mert
- Segít a hiba korai felismerésében
- Korábbi visszajelzés lesz elérhető az egyes modulok elfogadhatóságáról
- A hibajavítások ütemezése rugalmas, és átfedhető a fejlesztéssel
- Helyes adatfolyam
- Helyes vezérlő áramlás
- Helyes időzítés
- Helyes memóriahasználat
- Helyes a szoftver követelményeivel
Hogyan kell elvégezni a rendszerintegrációs tesztelést
Ez egy szisztematikus technika a programstruktúra felépítésére, miközben teszteket végeznek az interfésszel kapcsolatos hibák feltárására.
Minden modult előre integráltak, és a teljes programot tesztelik egészében. De ebben a folyamatban valószínűleg egy sor hibával találkozhatunk.
Az ilyen hibák kijavítása nehéz, mert az elszigeteltség okait a teljes program hatalmas kiterjesztése bonyolítja. Miután ezeket a hibákat kijavították és kijavították, egy új jelenik meg, és a folyamat zökkenőmentesen folytatódik egy végtelen ciklusban . Ennek elkerülése érdekében egy másik megközelítést alkalmaznak, az Inkrementális Integrációt. Az inkrementális megközelítésről részletesebben később az oktatóanyagban olvashatunk.
Van néhány inkrementális módszer, például az integrációs teszteket a célprocesszoron alapuló rendszeren hajtják végre. Az alkalmazott módszertan a Black Box Testing. Alulról felfelé vagy felülről lefelé történő integráció használható.
A teszteseteket csak a magas szintű szoftverkövetelmények alapján lehet meghatározni.
A szoftverintegráció nagyrészt a gazdagép környezetében is megvalósítható, a célkörnyezetre jellemző egységeket továbbra is szimulálva a gazdagépen. A megerősítéshez ismételten meg kell ismételni a teszteket a célkörnyezetben.
Az ezen a szinten végzett megerősítő tesztek azonosítani fogják a környezettel kapcsolatos problémákat, például a memóriaelosztási hibákat és az elosztást. A szoftverintegráció gyakorlati megvalósítása a fogadó környezetben attól függ, hogy mennyi a célspecifikus funkcionalitás. Egyes beágyazott rendszerek esetében a kapcsolás a célkörnyezettel nagyon erős lesz, ami miatt nem praktikus a szoftverintegráció végrehajtása a gazda környezetben.
A nagy szoftverfejlesztések a szoftverintegrációt számos szintre osztják. A szoftverintegráció alacsonyabb szintjei főleg a gazda környezetben alapulhatnak, a későbbi szoftverintegrációs szintek pedig egyre inkább a célkörnyezettől függenek.
Megjegyzés: Ha csak a szoftvert tesztelik, akkor ezt Szoftverszoftver-integráció tesztelésnek (SSIT) hívják, és ha hardvert és szoftvert is tesztelnek, akkor Hardverszoftver-integrációs tesztelésnek (HSIT).
Belépési és kilépési kritériumok az integráció teszteléséhez
Az integrációs tesztelés során általában az ETVX (belépési feltételek, feladat, érvényesítés és kilépés kritériumok) stratégiát alkalmazzák.
Belépési kritériumok:
- Az egység tesztelésének befejezése
Bemenetek:
- Szoftverkövetelmények adatai
- Szoftvertervező dokumentum
- Szoftverellenőrzési terv
- Szoftverintegrációs dokumentumok
Tevékenységek:
- A Magas és Alacsony szintű követelmények alapján teszteseteket és eljárásokat hozhat létre
- Kombinálja az alacsony szintű modulokat, amelyek közös funkcionalitást valósítanak meg
- Fejlesszen ki egy tesztköteget
- Tesztelje a felépítést
- A teszt sikeres teljesítése után a buildet más buildekkel kombinálják, és addig tesztelik, amíg a rendszer teljes egészében integrálódik.
- Végezze el újra az összes tesztet a célprocesszor-alapú platformon, és szerezze meg az eredményeket
Kilépési feltételek:
- A szoftver modul integrációjának sikeres befejezése a cél hardveren
- A szoftver megfelelő teljesítménye a megadott követelményeknek megfelelően
Kimenetek
- Integrációs tesztjelentések
- Szoftverteszt esetek és eljárások [SVCP].
Hardveres szoftverintegrációs tesztelés
A hardverszoftver- integráció tesztelése a számítógépes szoftver-alkatrészek (CSC) tesztelése a cél hardver-környezet magas szintű funkcionalitása szempontjából. A hardver / szoftver integráció tesztelésének célja a hardver komponensre integrált fejlesztett szoftver viselkedésének tesztelése.
Igényalapú hardver-szoftver integrációs tesztelés
A követelményalapú hardver / szoftver integrációs tesztelés célja annak biztosítása, hogy a célszámítógépen lévő szoftver kielégítse a magas szintű követelményeket. A tesztelési módszer által feltárt tipikus hibák a következők:
- Hardver / szoftver interfész hibák
- A szoftver particionálásának megsértése.
- Képtelenség beépített teszttel észlelni a hibákat
- Helytelen válasz a hardverhibákra
- Hiba a szekvenálás, a tranziens bemeneti terhelések és a bemeneti teljesítmény tranziensei miatt
- A visszacsatolás hibás viselkedést eredményez
- A memóriakezelő hardver helytelen vagy helytelen vezérlése
- Adatbusz-versenyprobléma
- A helyileg betöltött szoftver kompatibilitásának és helyességének ellenőrzésére szolgáló mechanizmus hibás működése
A hardveres szoftverintegráció a magas szintű követelmények ellenőrzésével foglalkozik. Az összes tesztet ezen a szinten a cél hardveren hajtják végre.
- A fekete doboz tesztelése az elsődleges tesztelési módszer, amelyet ezen a tesztelési szinten alkalmaznak.
- Csak a magas szintű követelmények alapján határozza meg a teszteseteket
- Tesztet kell végrehajtani a gyártási szabvány hardverén (a célon)
Fontos szempontok a HW / SW integráció teszteseteinek megtervezésekor
- Az összes adat helyes megszerzése a szoftver által
- Az adatok skálázása és tartománya a várakozások szerint hardvertől szoftverig
- Helyes adatkimenet szoftverről hardverre
- Adatok a specifikációkon belül (normál tartomány)
- Adatokon kívüli adatok (rendellenes tartomány)
- Határadatok
- Megszakítja a feldolgozást
- Időzítés
- Helyes memóriahasználat (címzés, átfedések stb.)
- Állapotátmenetek
Megjegyzés: A megszakítás teszteléséhez minden megszakítást a kezdeti kéréstől függetlenül, a teljes szervizeléssel és a befejezésig ellenőrizni kell. A teszteseteket kifejezetten a megszakítások megfelelő tesztelésére tervezik.
Szoftver a szoftverintegráció teszteléséhez
Ez a gazdagépen / célszámítógépen működő számítógépes szoftver-alkatrész tesztelése
Környezetvédelem, miközben a teljes rendszert [más CSC-ket] szimulálja, és a magas szintű funkcionalitást.
A CSC viselkedésére összpontosít egy szimulált gazda / cél környezetben. A szoftverintegrációhoz alkalmazott megközelítés lehet inkrementális (felülről lefelé, alulról felfelé irányuló megközelítés vagy mindkettő kombinációja).
Inkrementális megközelítés
Az inkrementális tesztelés az integrációs tesztelés egyik módja. Ebben a típusú tesztelési módszerben először a szoftver minden modulját külön-külön teszteljük, majd folytatjuk a tesztelést más modulok, majd egy másik modulok hozzáfűzésével.
Az inkrementális integráció ellentétben áll az ősrobbanás megközelítésével. A programot kis szegmensekben készítik és tesztelik, ahol a hibákat könnyebb elkülöníteni és kijavítani. Az interfészeket valószínűleg teljesebben tesztelik, és szisztematikus vizsgálati megközelítést lehet alkalmazni.
Az inkrementális tesztelésnek két típusa van
- Felülről lefelé irányuló megközelítés
- Alulról felfelé építkező megközelítés
Felülről lefelé irányuló megközelítés
Ebben a típusú megközelítésben az egyén csak a felhasználói felület tesztelésével kezdi, az alapul szolgáló funkcionalitást csonkokkal szimulálja, majd lefelé mozog az alsó és alsó rétegek integrálásával, amint az az alábbi képen látható.
- A fő vezérlőmodultól kezdve a modulokat úgy integrálják, hogy lefelé haladnak a vezérlési hierarchiában
- A fő vezérlőmodul almoduljai szélességi vagy mélységi szempontból épülnek be a szerkezetbe.
- A mélység-első integráció az összes modult integrálja a struktúra fő vezérlőpályájára, az alábbi ábrán látható módon:
A modulintegrációs folyamat a következő módon történik:
- A fő vezérlőmodult tesztvezetőként használják, és a csonkokat az összes modul helyettesíti, amelyek közvetlenül a fő vezérlőmodul alárendeltjei.
- Az alárendelt csonkokat egyenként cseréljük le tényleges modulokkal, a választott megközelítéstől függően (először szélesség vagy először mélység).
- A teszteket az egyes modulok integrálásával hajtják végre.
- Az egyes tesztkészletek befejezése után az egyes tesztkészletek befejezésekor egy másik csonkot egy valós modulra cserélnek
- Annak érdekében, hogy új hibákat ne vezessenek be, regressziós tesztet lehet végrehajtani.
A folyamat a 2. lépéstől a teljes programstruktúra kiépítéséig tart. A fentről lefelé irányuló stratégia viszonylag bonyolultnak tűnik, de a gyakorlatban logisztikai problémák merülnek fel.
E problémák közül a leggyakoribb akkor fordul elő, amikor a hierarchia alacsony szintjén történő feldolgozásra van szükség a felső szintek megfelelő teszteléséhez.
A csonkok kicserélik az alacsony szintű modulokat a felülről lefelé történő tesztelés kezdetén, és ezért a programstruktúrában nem áramolhatnak jelentős adatok.
A tesztelő kihívásaival szembesülhet:
- Késleltessen sok tesztet, amíg a csonkokat nem cserélik ki a tényleges modulokra.
- Fejlesszen ki olyan csonkokat, amelyek korlátozott funkciókat látnak el, amelyek a tényleges modult szimulálják.
- Integrálja a szoftvert a hierarchia aljától felfelé.
Megjegyzés: Az első megközelítés miatt elveszítünk némi ellenőrzést a konkrét tesztek és a specifikus modulok beépítése közötti megfelelés felett. Ez nehézségekbe ütközhet a hibák okának megállapításában, amelyek általában sértik a fentről lefelé irányuló megközelítés erősen korlátozott jellegét.
A második megközelítés működőképes, de jelentős általános költségekhez vezethet, mivel a csonkok egyre összetettebbé válnak.
Alulról felfelé építkező megközelítés
Az alulról felfelé történő integráció a programstruktúra legalacsonyabb szintjén lévő modulokkal kezdi meg az építkezést és tesztelést. Ebben a folyamatban a modulok alulról felfelé integrálódnak.
Ebben a megközelítésben az adott szintnek alárendelt modulok számára szükséges feldolgozás mindig rendelkezésre áll, és a csonkokra nincs szükség.
Ez az integrációs tesztfolyamat négy lépésből áll
- Az alacsony szintű modulokat klaszterekké egyesítik, amelyek egy adott szoftveres alfunkciót hajtanak végre.
- Az illesztőprogramot a teszteset bevitelének és kimenetének koordinálásához írják.
- A fürt vagy összeállítás tesztelve van.
- Az illesztőprogramokat eltávolítják, és a fürtöket felfelé haladva kombinálják a programszerkezetben.
Amint az integráció felfelé halad, külön tesztvezetői órákra van szükség. Valójában, ha a programstruktúra legfelső két szintjét felülről lefelé integrálják, a meghajtók száma jelentősen csökkenthető, és a klaszterek integrációja jelentősen egyszerűsödik. Az integráció az alábbiakban bemutatott mintát követi. Amint az integráció felfelé halad, külön tesztvezetői órákra van szükség.
Megjegyzés: Ha a programstruktúra felső két szintjét integrálják felülről lefelé, akkor az illesztőprogramok száma jelentősen csökkenthető, és a buildek integrációja jelentősen leegyszerűsödik.
Big Bang megközelítés
Ebben a megközelítésben az összes modul csak akkor van integrálva, ha az összes modul készen áll. Miután elkészültek, az összes modult integrálják, majd végrehajtják, hogy megtudják, hogy az összes integrált modul működik-e vagy sem.
Ebben a megközelítésben nehéz megismerni a kudarc kiváltó okát, mert mindent egyszerre integrálnak.
Emellett nagy eséllyel fordulnak elő a kritikus hibák a termelési környezetben.
Ezt a megközelítést csak akkor alkalmazzák, amikor az integrációs tesztet egyszerre kell elvégezni.
Összegzés:
- Az integrációt a szoftverrendszer moduljai közötti kölcsönhatások ellenőrzésére hajtják végre. Segít a hiba korai felismerésében
- Az integráció tesztelése elvégezhető hardver-szoftver vagy hardver-hardver integráció esetén
- Az integrációs tesztelés két módszerrel történik
- Inkrementális megközelítés
- Big bang megközelítés
- Az integrációs tesztelés során általában az ETVX (belépési feltételek, feladat, érvényesítés és kilépés kritériumok) stratégiát alkalmazzák.