Mi a rendszerintegrációs tesztelés (SIT) a példával

Tartalomjegyzék:

Anonim

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:

  1. 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.
  2. 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).
  3. A teszteket az egyes modulok integrálásával hajtják végre.
  4. Az egyes tesztkészletek befejezése után az egyes tesztkészletek befejezésekor egy másik csonkot egy valós modulra cserélnek
  5. 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

  1. Az alacsony szintű modulokat klaszterekké egyesítik, amelyek egy adott szoftveres alfunkciót hajtanak végre.
  2. Az illesztőprogramot a teszteset bevitelének és kimenetének koordinálásához írják.
  3. A fürt vagy összeállítás tesztelve van.
  4. 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.