Co je Testování integrace systému?
Testování integrace systému je definováno jako typ testování softwaru prováděného v integrovaném hardwarovém a softwarovém prostředí za účelem ověření chování celého systému. Jedná se o testování prováděné na úplném integrovaném systému, aby se vyhodnotila shoda systému se specifikovaným požadavkem.
Testování integrace systému (SIT) se provádí k ověření interakce mezi moduly softwarového systému. Zabývá se ověřováním vysokých a nízkých úrovní softwarových požadavků specifikovaných ve specifikaci / datech softwarových požadavků a dokumentu o návrhu softwaru.
Rovněž ověřuje koexistenci softwarového systému s ostatními a testuje rozhraní mezi moduly softwarové aplikace. V tomto typu testování se moduly nejprve testují jednotlivě a poté se zkombinují, aby se vytvořil systém.
Například softwarové a / nebo hardwarové komponenty jsou kombinovány a testovány postupně, dokud nebude integrován celý systém.
V tomto výukovém programu se naučíte
- Co je Testování integrace systému?
- Proč testování integrace systému
- Jak provést testování integrace systému
- Kritéria vstupu a výstupu pro testování integrace
- Testování integrace hardwaru a softwaru
- Testování integrace softwaru na software
- Přístup shora dolů
- Přístup zdola nahoru
- Přístup velkého třesku
Proč testování integrace systému
V softwarovém inženýrství se testování integrace systému provádí, protože
- Pomáhá včas odhalit vadu
- Dřívější zpětná vazba o přijatelnosti jednotlivých modulů bude k dispozici
- Plánování oprav defektů je flexibilní a může se překrývat s vývojem
- Správný tok dat
- Správný regulační tok
- Správné načasování
- Správné využití paměti
- Opravte požadavky na software
Jak provést testování integrace systému
Je to systematická technika pro konstrukci programové struktury při provádění testů k odhalení chyb souvisejících s propojením.
Všechny moduly jsou předem integrovány a celý program je testován jako celek. Ale během tohoto procesu je pravděpodobné, že narazíme na sadu chyb.
Oprava takových chyb je obtížná, protože příčiny izolace komplikuje obrovské rozšíření celého programu. Jakmile jsou tyto chyby opraveny a opraveny, objeví se nová a proces pokračuje bez problémů v nekonečné smyčce . Aby se této situaci zabránilo, používá se jiný přístup, přírůstková integrace. Uvidíme více podrobností o přírůstkovém přístupu později v tomto kurzu.
Existuje několik přírůstkových metod, jako jsou integrační testy prováděné v systému založeném na cílovém procesoru. Použitá metodika je Black Box Testing. Lze použít integraci zdola nahoru nebo shora dolů.
Testovací případy jsou definovány pouze pomocí softwarových požadavků vysoké úrovně.
Softwarové integrace lze také dosáhnout z velké části v hostitelském prostředí, přičemž jednotky specifické pro cílové prostředí se v hostiteli nadále simulují. Opakované testy v cílovém prostředí pro potvrzení budou opět nutné.
Potvrzovací testy na této úrovni identifikují specifické problémy prostředí, jako jsou chyby v alokaci paměti a de-alokaci. Praktičnost provádění softwarové integrace v hostitelském prostředí bude záviset na tom, kolik cílových specifických funkcí tam je. U některých vestavěných systémů bude propojení s cílovým prostředím velmi silné, což znemožňuje provádění softwarové integrace v hostitelském prostředí.
Velký vývoj softwaru rozdělí softwarovou integraci do několika úrovní. Nižší úrovně softwarové integrace by mohly být založeny převážně v hostitelském prostředí, přičemž pozdější úrovně softwarové integrace se staly více závislými na cílovém prostředí.
Poznámka: Pokud se testuje pouze software, pak se nazývá Software Software Integration Testing [SSIT] a pokud se testuje hardware i software, pak se nazývá Hardware Software Integration Testing [HSIT].
Kritéria vstupu a výstupu pro testování integrace
Obvykle se při provádění testování integrace používá strategie ETVX (kritéria vstupu, úloha, ověření a ukončení).
Vstupní kritéria:
- Dokončení testování jednotky
Vstupy:
- Data o softwarových požadavcích
- Dokument o softwarovém designu
- Plán ověření softwaru
- Dokumenty k integraci softwaru
Činnosti:
- Na základě požadavků na vysoké a nízké úrovni vytvořte testovací případy a postupy
- Zkombinujte sestavy nízkoúrovňových modulů, které implementují společné funkce
- Vyvinout zkušební postroj
- Vyzkoušejte sestavení
- Po úspěšném absolvování testu je sestavení kombinováno s dalšími sestaveními a testováno, dokud není systém integrován jako celek.
- Znovu proveďte všechny testy na cílové platformě založené na procesoru a získejte výsledky
Kritéria ukončení:
- Úspěšné dokončení integrace softwarového modulu na cílovém hardwaru
- Správný výkon softwaru podle specifikovaných požadavků
Výstupy
- Protokoly o zkoušce integrace
- Případy a postupy pro testování softwaru [SVCP].
Testování integrace hardwarového softwaru
Testování integrace hardwarového softwaru je proces testování komponent počítačového softwaru (CSC) na vysoké úrovni funkcí v cílovém hardwarovém prostředí. Cílem testování integrace hardwaru a softwaru je otestovat chování vyvinutého softwaru integrovaného do hardwarové komponenty.
Testování integrace hardwaru a softwaru založené na požadavcích
Cílem testování integrace hardwaru a softwaru založeného na požadavcích je zajistit, aby software v cílovém počítači vyhovoval požadavkům na vysoké úrovni. Typické chyby odhalené touto testovací metodou zahrnují:
- Chyby hardwarových / softwarových rozhraní
- Porušení rozdělení softwaru.
- Neschopnost detekovat poruchy vestavěným testem
- Nesprávná reakce na selhání hardwaru
- Chyba způsobená sekvenováním, přechodným vstupním zatížením a přechodnými vstupními výkony
- Nesprávné chování smyček zpětné vazby
- Nesprávné nebo nesprávné ovládání hardwaru pro správu paměti
- Problém sporu o datovou sběrnici
- Nesprávná funkce mechanismu k ověření kompatibility a správnosti softwaru pro načítání v terénu
Hardwarová softwarová integrace se zabývá ověřováním požadavků na vysoké úrovni. Všechny testy na této úrovni se provádějí na cílovém hardwaru.
- Testování černé skříňky je primární metodika testování používaná na této úrovni testování.
- Definujte testovací případy pouze z požadavků vysoké úrovně
- Musí být proveden test na produkčním standardním hardwaru (na cílovém)
Co je třeba vzít v úvahu při navrhování testovacích případů pro integraci HW / SW
- Správné získání všech dat softwarem
- Škálování a rozsah dat podle očekávání od hardwaru po software
- Správný výstup dat ze softwaru na hardware
- Data v rámci specifikací (normální rozsah)
- Data mimo specifikace (abnormální rozsah)
- Mezní data
- Přerušení zpracování
- Načasování
- Správné využití paměti (adresování, překrývání atd.)
- Státní přechody
Poznámka: U testování přerušení budou všechna přerušení ověřována nezávisle na počátečním požadavku prostřednictvím úplného servisu a po dokončení. Testovací případy budou speciálně navrženy tak, aby adekvátně testovaly přerušení.
Testování integrace softwaru na software
Jedná se o testování počítačové softwarové komponenty fungující v hostitelském / cílovém počítači
Prostředí při simulaci celého systému [jiných CSC] a na vysoké úrovni funkčnosti.
Zaměřuje se na chování CSC v simulovaném hostitelském / cílovém prostředí. Přístup používaný pro integraci softwaru může být přírůstkový (přístup shora dolů, přístup zdola nahoru nebo kombinace obou).
Inkrementální přístup
Inkrementální testování je způsob testování integrace. V tomto typu testovací metody nejprve otestujete každý modul softwaru jednotlivě a poté pokračujete v testování připojením dalších modulů k němu, pak k dalšímu atd.
Inkrementální integrace je kontrastem k přístupu velkého třesku. Program je sestaven a testován v malých segmentech, kde je snazší izolovat a opravit chyby. Rozhraní budou pravděpodobně testována úplně a může být použit systematický testovací přístup.
Existují dva typy přírůstkového testování
- Přístup shora dolů
- Přístup zdola nahoru
Přístup shora dolů
V tomto typu přístupu začíná individuální testováním pouze uživatelského rozhraní, přičemž základní funkce jsou simulovány pahýly, poté se přesunete dolů a integrujete spodní a spodní vrstvy, jak je znázorněno na obrázku níže.
- Počínaje hlavním řídicím modulem jsou moduly integrovány pohybem dolů v hierarchii řízení
- Sub-moduly k hlavnímu řídícímu modulu jsou začleněny do struktury buď způsobem šíří, nebo hloubkou.
- Integrace do hloubky integruje všechny moduly na hlavní řídicí cestu struktury, jak je znázorněno v následujícím diagramu:
Proces integrace modulu se provádí následujícím způsobem:
- Hlavní řídicí modul se používá jako testovací ovladač a pahýly se nahrazují u všech modulů přímo podřízených hlavnímu řídícímu modulu.
- Podřízené pahýly jsou nahrazovány jeden po druhém skutečnými moduly v závislosti na zvoleném přístupu (nejprve šířka nebo hloubka první).
- Testy se provádějí, jakmile je každý modul integrován.
- Po dokončení každé sady testů se po dokončení každé sady testů nahradí jiný pahýl skutečným modulem
- Aby bylo zajištěno, že nebyly zavedeny nové chyby, může být provedeno regresní testování.
Proces pokračuje od kroku 2, dokud není vytvořena celá struktura programu. Strategie shora dolů zní relativně nekomplikovaně, ale v praxi vznikají logistické problémy.
Nejběžnější z těchto problémů nastává, když je pro adekvátní testování vyšších úrovní vyžadováno zpracování na nízké úrovni v hierarchii.
Útržky nahrazují nízkoúrovňové moduly na začátku testování shora dolů, a proto ve struktuře programu nemohou proudit žádná významná data.
Výzvy, kterým Tester může čelit:
- Odložte mnoho testů, dokud nejsou pahýly nahrazeny skutečnými moduly.
- Vyvíjejte stuby, které provádějí omezené funkce, které simulují skutečný modul.
- Integrujte software od spodní části hierarchie nahoru.
Poznámka: První přístup způsobí, že ztratíme určitou kontrolu nad korespondencí mezi konkrétními testy a začleněním konkrétních modulů. To může mít za následek potíže s určením příčiny chyb, které mají tendenci porušovat vysoce omezenou povahu přístupu shora dolů.
Druhý přístup je proveditelný, ale může vést k významným režijním nákladům, protože pahýly jsou stále složitější.
Přístup zdola nahoru
Integrace zdola nahoru začíná konstrukci a testování s moduly na nejnižší úrovni ve struktuře programu. V tomto procesu jsou moduly integrovány zdola nahoru.
V tomto přístupu je vždy k dispozici zpracování požadované pro moduly podřízené dané úrovni a eliminuje se potřeba pahýlů.
Tento proces testování integrace se provádí v sérii čtyř kroků
- Nízkoúrovňové moduly jsou kombinovány do klastrů, které provádějí konkrétní softwarovou dílčí funkci.
- Ovladač je zapsán tak, aby koordinoval vstup a výstup testovacího případu.
- Klastr nebo sestavení je testováno.
- Ovladače jsou odebrány a klastry jsou kombinovány a pohybují se nahoru ve struktuře programu.
Jak se integrace posouvá nahoru, je potřeba samostatných lekcí testovacích řidičů. Ve skutečnosti, pokud jsou horní dvě úrovně struktury programu integrovány shora dolů, lze počet ovladačů podstatně snížit a integrace klastrů je výrazně zjednodušena. Integrace se řídí vzorem ilustrovaným níže. Jak se integrace posouvá nahoru, je potřeba samostatných lekcí testovacích řidičů.
Poznámka: Pokud jsou horní dvě úrovně struktury programu integrovány shora dolů, lze počet ovladačů podstatně snížit a integrace sestavení je výrazně zjednodušena.
Přístup velkého třesku
V tomto přístupu nejsou všechny moduly integrovány, dokud nejsou připraveny všechny moduly. Jakmile jsou připraveny, jsou všechny moduly integrovány a poté provedeny, aby se zjistilo, zda všechny integrované moduly fungují nebo ne.
V tomto přístupu je obtížné znát hlavní příčinu selhání z důvodu integrace všeho najednou.
Rovněž bude vysoká šance výskytu kritických chyb v produkčním prostředí.
Tento přístup je přijat pouze v případě, že je nutné provést testování integrace najednou.
Souhrn:
- Integrace se provádí za účelem ověření interakcí mezi moduly softwarového systému. Pomáhá včas odhalit závadu
- Testování integrace lze provést pro integraci hardwaru a softwaru nebo hardwaru a hardwaru
- Testování integrace se provádí dvěma metodami
- Postupný přístup
- Přístup velkého třesku
- Při provádění testování integrace se obecně používá strategie ETVX (vstupní kritéria, úlohy, ověření a ukončení).