Példa a rendszerintegrációs tesztelésre (SIT).
Mi az a rendszerintegrációs tesztelés?
rendszer Integrációs tesztelés A szoftverteszt egy olyan típusa, amelyet integrált hardver- és szoftverkörnyezetben hajtanak végre a teljes rendszer viselkedésének ellenőrzésére. A tesztelést egy teljes, integrált rendszeren végzik annak értékelésére, hogy a rendszer megfelel-e a meghatározott követelménynek.
A rendszerintegrációs tesztelést (SIT) a szoftverrendszer moduljai közötti interakciók ellenőrzésére hajtják végre. A Szoftverkövetelmény specifikációban/Adatok és a Szoftverterv 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 egyenként tesztelik, majd kombinálják rendszerré. Például a szoftver és/vagy hardver összetevőket kombinálják és fokozatosan tesztelik, amíg a teljes rendszert integrálják.
Miért kell rendszerintegrációs tesztelést végezni?
A szoftverfejlesztésben a rendszerintegrációs tesztelést azért végzik el, mert
- Segít felismerni Disszidál korai
- Korábbi visszajelzések lesznek elérhetők az egyes modulok elfogadhatóságáról
- A hibajavítások ütemezése rugalmas, és átfedhető a fejlesztéssel
- Korrekt adatáramlás
- Megfelelő szabályozási áramlás
- Helyes időzítés
- Megfelelő memóriahasználat
- A szoftverkövetelményeknek megfelelően
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 hajt végre az interfészekkel kapcsolatos hibák feltárására.
Minden modul előre integrálva van, és a teljes program egészét tesztelik. Ám e folyamat során valószínűleg hibák lépnek fel.
Az ilyen hibák kijavítása nehéz, mert az okok elkülönítését bonyolítja a teljes program hatalmas bővítése. 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 körben. Ennek elkerülésére egy másik megközelítést alkalmaznak, a növekményes integrációt. Az oktatóanyag későbbi részében további részleteket fogunk látni a növekményes megközelítésről.
Létezik néhány növekményes módszer, például az integrációs teszteket a célprocesszoron alapuló rendszeren végzik. Az alkalmazott módszertan az Fekete Box Tesztelés. Alulról felfelé és felülről lefelé történő integráció is használható.
A tesztesetek meghatározása csak a magas szintű szoftverkövetelmények alapján történik.
A szoftverintegráció nagyrészt a gazdagép környezetben is megvalósítható, és a célkörnyezetre jellemző egységeket továbbra is a gazdagépben szimulálják. 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ítják a környezetspecifikus problémákat, például a memóriafoglalás és a lefoglalás során fellépő hibákat. A vezénylés gyakorlatiassága szoftver integráció a gazdagép környezetben attól függ, hogy mennyi célspecifikus funkcionalitás található. Egyes beágyazott rendszerek esetében a célkörnyezethez való kapcsolódás nagyon erős lesz, így nem praktikus a szoftverintegráció végrehajtása a gazdagép környezetben.
A nagy szoftverfejlesztések a szoftverintegrációt több szintre osztják majd. A szoftverintegráció alacsonyabb szintjei túlnyomórészt a gazdakörnyezeten alapulhatnak, a szoftverintegráció későbbi szintjei pedig egyre inkább a célkörnyezettől függenek.
Jegyzet: Ha csak szoftvert tesztelnek, akkor azt szoftverszoftver-integrációs tesztelésnek [SSIT] nevezik, ha pedig hardvert és szoftvert is tesztelnek, akkor azt Hardver szoftverintegrációs tesztelésnek [HSIT] nevezik.
Belépési és kilépési kritériumok az integrációs teszteléshez
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ési feltételek) stratégiát alkalmazzák.
Belépési kritériumok:
- Befejezése Egység tesztelése
Bemenetek:
- Szoftverkövetelmények adatai
- Szoftver tervezési dokumentum
- Szoftver-ellenő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 hoz létre
- Kombinálja az alacsony szintű modulokat, amelyek közös funkcionalitást valósítanak meg
- Készítsen próbaköteget
- Tesztelje az összeállítást
- Miután a teszt sikeresen lezajlott, a buildet kombinálják más buildekkel, és addig tesztelik, amíg a rendszert teljes egészében integrálják.
- Végezze el újra az összes tesztet a célprocesszor-alapú platformon, és szerezze meg az eredményeket
Kilépési kritériumok:
- A Szoftver modul integrációja sikeresen befejeződött a célhardveren
- A szoftver megfelelő működése a megadott követelményeknek megfelelően
Kimenetek
- Integrációs teszt jelentések
- Szoftverteszt-esetek és -eljárások [SVCP].
Hardver szoftver integráció tesztelése
Hardver szoftver integráció tesztelése a számítógépes szoftverösszetevők (CSC) tesztelésének folyamata a cél hardverkörnyezet magas szintű funkcionalitása érdekében. A hardver/szoftver integrációs tesztelés célja a hardverkomponensbe integrált fejlesztett szoftver viselkedésének tesztelése.
Követelmény alapú hardver-szoftver integrációs tesztelés
A követelmény alapú hardver/szoftver integrációs tesztelés célja, hogy megbizonyosodjon arról, hogy a célszámítógépen található szoftverek megfelelnek a magas szintű követelményeknek. Az ezzel a vizsgálati módszerrel feltárt tipikus hibák a következők:
- Hardver/szoftver interfész hibák
- A szoftverparticionálás megsértése.
- Képtelenség észlelni a hibákat a beépített teszttel
- Helytelen válasz hardverhibákra
- Szekvenálás, tranziens bemeneti terhelések és bemeneti teljesítmény tranziensek miatti hiba
- A visszacsatolási hurkok helytelen viselkedést mutatnak
- A memóriakezelő hardver helytelen vagy nem megfelelő vezérlése
- Adatbusz-verseny probléma
- A helyszínen betölthető szoftverek kompatibilitását és helyességét ellenőrző mechanizmus helytelen működése
A Hardware Software Integration a magas szintű követelmények ellenőrzésével foglalkozik. Ezen a szinten minden tesztet a célhardveren hajtanak végre.
- A fekete doboz tesztelése az elsődleges tesztelési módszertan ezen a tesztelési szinten.
- Határozza teszt esetek csak a magas szintű követelményektől
- A tesztet gyártási szabványos hardveren kell végrehajtani (a célon)
A HW/SW integráció teszteseteinek tervezésekor figyelembe veendő dolgok
- Az összes adat helyes begyűjtése a szoftver által
- Az elvárásoknak megfelelő méretezés és adattartomány a hardvertől a szoftverig
- Az adatok helyes kimenete a szoftverről a hardverre
- Adatok a specifikáción belül (normál tartomány)
- A specifikációkon kívüli adatok (abnormális tartomány)
- Határadatok
- Megszakítja a feldolgozást
- Időzítés
- Megfelelő memóriahasználat (címzés, átfedések stb.)
- Állapotátmenetek
Jegyzet: A megszakítások teszteléséhez minden megszakítást függetlenül ellenőriznek a kezdeti kéréstől a teljes körű szervizelésig és a befejezésig. A teszteseteket kifejezetten a megszakítások megfelelő tesztelésére tervezik.
Szoftver-szoftverintegrációs tesztelés
Ez a gazda-/célszámítógépen belül működő számítógépes szoftverkomponens tesztelése
Környezet, a teljes rendszer szimulációja [más CSC-k], valamint a magas szintű funkcionalitás.
A CSC viselkedésére összpontosít egy szimulált gazdagép/célkörnyezetben. A szoftverintegrációhoz használt megközelítés lehet növekményes megközelítés (felülről lefelé, alulról felfelé irányuló megközelítés vagy mindkettő kombinációja).
Inkrementális megközelítés
A növekményes tesztelés az integrációs tesztelés egyik módja. Az ilyen típusú tesztelési módszernél először a szoftver minden modulját külön-külön teszteljük, majd folytatjuk a tesztelést úgy, hogy más modulokat csatolunk hozzá, majd egy másikat és így tovább.
Az inkrementális integráció az ősrobbanás megközelítésének ellentéte. A program felépítése és tesztelése kis szegmensekben történik, ahol a hibákat könnyebb elkülöníteni és javítani. Az interfészek nagyobb valószínűséggel teljes mértékben tesztelhetők, és szisztematikus tesztelési megközelítés alkalmazható.
A növekményes 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
Az ilyen típusú megközelítésben egyénileg csak a felhasználói felület tesztelésével kell kezdeni, a mögöttes funkcionalitást csonkok szimulálásával, majd lefelé haladva az alsó és alsó rétegek integrálásával az alábbi képen látható módon.
- A fő vezérlőmodultól kezdve a modulok a vezérlési hierarchiában lefelé haladva integrálódnak
- A fő vezérlőmodul almoduljai vagy szélesség-első, vagy mélység-első módon vannak beépítve a szerkezetbe.
- A mélységi integráció integrálja az összes modult a struktúra fő vezérlési útvonalán, amint az a következő diagramon látható:
A modulintegrációs folyamat a következő módon történik:
- A fő vezérlőmodult teszt-illesztőprogramként használják, és a csonkok helyettesítik a fő vezérlőmodulnak közvetlenül alárendelt összes modult.
- Az alárendelt csonkok egyenként cserélődnek tényleges modulokra a választott megközelítéstől függően (előbb a szélesség vagy a mélység).
- A tesztek végrehajtása az egyes modulok integrálásakor történik.
- Minden tesztsorozat befejezésekor egy másik csonkot egy valódi modulra cserélnek az egyes tesztsorozatok befejezésekor
- Győződjön meg arról, hogy nem vezettek be új hibákat Regressziós teszt elvégezhetők.
A folyamat a 2. lépéstől a teljes programstruktúra felépítéséig folytatódik. A felülről lefelé irányuló stratégia viszonylag egyszerűnek hangzik, de a gyakorlatban logisztikai problémák merülnek fel.
A leggyakoribb ilyen problémák akkor fordulnak elő, ha a hierarchia alacsony szintjein történő feldolgozás szükséges a felső szintek megfelelő teszteléséhez.
A csonkok helyettesítik az alacsony szintű modulokat a felülről lefelé irányuló tesztelés kezdetén, ezért nem áramolhatnak jelentős adatok felfelé a programstruktúrában.
Kihívások, amelyekkel a tesztelő szembesülhet:
- Sok tesztet késleltessen, amíg a csonkokat tényleges modulokra cserélik.
- Olyan csonkok fejlesztése, amelyek korlátozott funkciókat hajtanak végre, amelyek szimulálják a tényleges modult.
- Integrálja a szoftvert a hierarchia aljáról felfelé.
Jegyzet: Az első megközelítés azt eredményezi, hogy elveszítjük az ellenőrzést az egyes tesztek és az egyes modulok beépítése közötti megfelelés felett. Ez nehézségeket okozhat a hibák okának meghatározásában, ami sérti a felülről lefelé irányuló megközelítés erősen korlátozott természetét.
A második megközelítés működőképes, de jelentős többletköltséggel járhat, mivel a csonkok egyre összetettebbé válnak.
Alulról felfelé építkező megközelítés
Az alulról felfelé irányuló integráció megkezdi az építkezést és a tesztelést a programszerkezet legalacsonyabb szintjén lévő modulokkal. Ebben a folyamatban a modulokat alulról felfelé integrálják.
Ebben a megközelítésben az adott szintnek alárendelt modulokhoz szükséges feldolgozás mindig elérhető, és megszűnik a csonkok szükségessége.
Ezt az integrációs tesztfolyamatot négy lépésből álló sorozatban hajtják végre
- Az alacsony szintű modulokat fürtökké egyesítik, amelyek egy adott szoftver-alfunkciót hajtanak végre.
- A teszteset bemenetének és kimenetének összehangolására egy illesztőprogramot írnak.
- A fürt vagy build tesztelve.
- Az illesztőprogramok eltávolításra kerülnek, és a fürtök kombinálódnak a programstruktúrában felfelé haladva.
Ahogy az integráció felfelé halad, külön teszt-illesztőprogram-leckékre van szükség. Valójában, ha a programstruktúra felső két szintjét felülről lefelé integráljuk, az illesztőprogramok száma jelentősen csökkenthető, és a fürtök integrálása jelentősen leegyszerűsödik. Az integráció az alábbi mintát követi. Ahogy az integráció felfelé halad, külön teszt-illesztőprogram-leckékre van szükség.
Jegyzet: Ha a programstruktúra felső két szintjét felülről lefelé integráljuk, akkor az illesztőprogramok száma jelentősen csökkenthető, és a buildek integrálása is jelentősen leegyszerűsödik.
Ősrobbanás megközelítés
Ebben a megközelítésben az összes modul nem integrálódik mindaddig, amíg az összes modul készen nem áll. Ha készen vannak, az összes modult integrálja, majd végrehajtja, hogy megtudja, az összes integrált modul működik-e vagy sem.
Ebben a megközelítésben nehéz megismerni a hiba kiváltó okát, mivel mindent egyszerre kell integrálni.
Emellett nagy az esélye a kritikus hibák előfordulásának az éles környezetben.
Ezt a megközelítést csak akkor alkalmazzák, ha az integrációs tesztelést egyszerre kell elvégezni.
Összegzésként
- Az integrációt a szoftverrendszer moduljai közötti interakciók ellenőrzésére hajtják végre. Segít a hiba korai felismerésében
- Az integráció tesztelése Hardver-Szoftver vagy Hardver-Hardver integráció esetén végezhető el
- Az integrációs tesztelés két módszerrel történik
- Inkrementális megközelítés
- Ősrobbanás 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ési feltételek) stratégiát alkalmazzák.