Testování Softwaru

Výukový program pro testování integrace pro začátečníky

30. října 2021

Obsah

Co je integrační testování?

Integrační testování je popsáno jako proces testování softwaru, ve kterém je logicky integrováno a testováno několik softwarových modulů. V tomto procesu je nejprve testováno několik modulů jednotlivě a poté testovány jako jeden integrovaný celek. Celá skupina je zkontrolována, zda integrovaný modul funguje podle očekávání.

Jedná se o pragmatický přístup k vývoji softwaru, který vyžaduje pečlivý proces vývoje produktu prostřednictvím neustálého testování a revizí. To se provádí postupnou integrací modulů nebo komponent aplikace.

Tento typ testu je aplikován a agregován k testování a definován v rámci plánu integračního testování prováděného lokálně. Integrační testy poskytují integrační systém a systém připravený na test. Primárním cílem těchto testů je otestovat interakci mezi různými komponentami.

Integrační testy jsou nesmírně důležité, protože všechny komponenty a moduly jsou kombinovány a testovány. Integrační test se stává životně důležitou potřebou každé společnosti, když plánuje přejít na nový obchodní model, nové technologie nebo dokonce nové produkty nebo služby. Integrační testy jsou nezbytnou součástí testovacího cyklu a umožňují testerům najít nedostatky po integraci více jednotek.

Máme různé typy testování, jako je Testování jednotek , Testování systému , a Přijímací testování .

Integrační testování

Proč Integrační testování?

  • Testy jsou spolehlivější a pohodlnější při izolování poruch.
  • Lze použít figuríny nebo pahýly a ovladače.
  • Testování integrace přináší důvěru ve vývojáře.
  • Rychlejší testovací běhy.
  • Testování integrace začíná ve velmi rané fázi životního cyklu vývoje a vývojáři mohou zachytit chyby dříve než pozdě.
  • Integrační testy zachycují chyby na úrovni systému, jako je nefunkční schéma databáze a nesprávná integrace mezipaměti.
  • Pohodlnější testování ve vývojovém prostředí.
  • Vytvoření správného testu poskytuje přesný mechanismus zpětné vazby mezi vývojáři a testovacími inženýry.
  • Lepší pokrytí kódem.
  • Pohodlnější sledování pokrytí kódem.
  • Především pomáhá vytvářet případy použití v reálném čase během testování od začátku do konce.

Co jsou útržky a ovladače v testech integrace?

Stubs a drivery jsou pseudokódy nebo fiktivní kódy používané k testování integračních komponent, když jeden nebo více modulů není vyvinuto a je potřeba k testování jiných modulů. Je to program, který poskytuje pevně zakódované kódy, když vstup přijímá výstup modulu v integračním testu.

Běžně označované jako volací programy, pahýly a ovladače jsou v metodologii integračních testů žádoucí odshora dolů. Naproti tomu řidiči žádají o přístup zdola nahoru. Stubs a testery ovladačů mohou využívat a stimulovat chování modulů, které ještě nejsou integrovány do softwaru. Navíc pomáhají simulovat činnost chybějících komponent.

Jaké jsou typy/přístupy k integračnímu testování?

Testování integrace velkého třesku:

Integrační test velkého třesku je prospěšný přístup k testování softwaru; na začátku integračních testů vybavuje vývojáře úplnou sadou integračních testů pro jejich software, systémy a aplikace.

Testování integrace velkého třesku je nepřetržité testování, ke kterému dochází předtím, než segmenty systému vytvoří systém. Je to jeden z nejslibnějších přístupů testování softwaru , kde neustálá integrace systémů a komponent vede k vytvoření kompletního systému nebo aplikace.

výhody:

  • Užitečné pro malé systémy.
  • Hlavní výhodou je, že vše je dokončeno před zahájením integračního testování.

Nevýhody:

  • Velmi časově náročné
  • Je obtížné vysledovat příčinu selhání kvůli opožděné integraci.
  • Pravděpodobnost kritických poruch je větší, protože při testování velkého třesku jsou všechny komponenty testovány současně.
  • Existuje vysoká pravděpodobnost výskytu kritických chyb v produkčním prostředí.
  • Pokud je nalezena jakákoliv chyba, je velmi obtížné odpojit všechny moduly a určit její hlavní příčinu.

Inkrementální integrační testování

V testech přírůstkové integrace programátoři integrují moduly pomocí pahýlů nebo ovladačů, aby odhalili defekty jeden po druhém. V tomto přístupu se testování provádí smícháním dvou nebo více modulů, které spolu logicky souvisí, a poté se testuje jejich správné fungování. Ostatní související moduly jsou integrovány postupně a proces pokračuje, dokud nejsou všechny logicky související moduly integrovány a úspěšně otestovány. Na rozdíl od toho je velký třesk další technikou testování integrace, kde jsou všechny moduly integrovány do jednoho záběru.

Inkrementální testování je dvou typů.

1. Přístup shora dolů:

Integrační testování shora dolů je přístup, kdy je komponenta vytvořena na nižší úrovni a integrována do komponenty na vyšší úrovni. Integrační testy shora dolů se zaměřují více na integraci komponent nahoře než dole. Vývojář může pro tento přístup použít útržky. Tento přístup je určen pro širokou škálu činností, jako je stanovování cílů, rozpočtování a prognózování.

Přístup top-down integračního testu nejprve testuje moduly na vysoké úrovni a poté moduly stále nižší úrovně. Tato metoda umožňuje provádění testů shora dolů, sledování řídicích toků a architektonických struktur, přičemž integrační testy začínají shora dolů. Nejběžnější aplikací je přístup shora dolů pomocí útržků pro integrační testy a výstup testu.

výhody:

  • Tato metoda neovlivňuje zdroje provozu a údržby tak vážně, jako přístup zdola nahoru.
  • Lokalizace závad je snadná.
  • Raný prototyp lze získat snadno.
  • Nejprve bylo možné najít a opravit hlavní konstrukční chyby.
  • Prioritní moduly lze nejprve otestovat.
  • Výhodou tohoto přístupu je, že rozhodnutí lze učinit a realizovat velmi rychle.

Nevýhody:

  • Tento přístup vyžaduje mnoho útržků.
  • Moduly na nižší úrovni jsou testovány neefektivně.
  • Poskytuje omezené pokrytí v prvních fázích.
  • Vývojáři možná budou muset vyvinout vlastní adaptéry v rané fázi.
  • Náklady na implementaci budou pravděpodobně vyšší.

2. Přístup zdola nahoru:

Přístup zdola nahoru je opakem testu integrace shora dolů: moduly v nejnižší vrstvě jsou nejprve testovány a integrovány a poté integrovány postupně s ostatními moduly na cestách.

Integrační testy zdola nahoru začínají jednotkovými testy, po kterých následuje modulární konstrukce. Nejprve se testuje nadřazený modul, poté podřízený modul a tak dále, dokud není integrován.

Testovací ovladač je řízen a předává odpovídající data z nízkoúrovňového modulu, a když je kód v druhém modulu připraven, ovladač nahradí skutečný modul. Testuje se nižší modul a moduly vyšší úrovně se testují stejným způsobem jako při dobíjecím integračním testu, ale s jiným ovladačem.

výhody:

  • Snazší lokalizace závady.
  • Čas potřebný k provedení přístupu zdola nahoru je mnohem kratší než u jiných testovacích metod.
  • Povědomí uživatelů o produktu.
  • Automatizace může nahradit mnoho manuálních procesů.
  • Nákladově efektivní.
  • Jednodušší testovací pozorování.
  • Výhodné, pokud se ve spodní části programu vyskytnou velké chyby.

Nevýhody

  • Program jako celek neexistuje, dokud není přidán poslední modul.
  • Raný prototyp není možný.
  • Strategie zdola nahoru je řízena stávající infrastrukturou namísto obchodních procesů.
  • Povinné moduly (na nejvyšší úrovni softwarové architektury), které řídí tok aplikací, jsou testovány jako poslední a mohou být náchylné k defektům.

Sendvičové/hybridní testování

Sendvičové testování je spojením přístupu zdola nahoru a shora dolů, takže využívá výhody přístupu zdola nahoru i přístupu shora dolů.

Během této fáze se testuje rozhraní a komunikace mezi jednotlivými moduly. Je také známý jako hybridní integrační testování. Upravené sendvičové testy jsou neuvěřitelně přínosné a pomáhají testerům testovat různé systémové komponenty, zatímco jsou integrovány.

výhody:

  • Sendvičový testovací přístup je užitečný pro rozsáhlé projekty, které mají dílčí projekty.
  • Umožňuje paralelní testování.
  • Je to časově efektivní.
  • Vývojáři tento přístup oceňují, protože kombinují výhod ze všech přidružených testování frameworky, které pomáhají profesionálům využít vše, co je na nich nejlepší, jasným způsobem.

Nevýhody:

  • Sendvičové testování je poměrně drahé.
  • Sendvičové testování nelze použít pro systémy, které jsou hodně závislé na různých komponentách/modulech.
  • Při sendvičovém testování/testování hybridů je potřeba pahýlů a ovladačů velmi vysoká.
  • Testování se může zkomplikovat.
  • Obtížná lokalizace závad.
  • Smíšené testování vyžaduje vysoké náklady.
  • Tento přístup není vhodný pro malé projekty.

Jak provést integrační testování?

Obvykle integrační testování následuje po testování jednotky. Jakmile jsou všechny jednotlivé jednotky otestovány, vývojáři začnou tyto testované moduly kombinovat a začnou provádět integrační testování. Hlavním cílem tohoto procesu je otestovat rozhraní mezi jednotkami/moduly.

  • Připravte si design.
  • Vyberte typ testovacího přístupu ze seznamu výše.
  • Podle toho vyberte testovací případy, osnovy a skripty.
  • Nasaďte vybrané jednotky společně a spusťte integrační testy.
  • Sledujte defekty a chyby a zaznamenejte výsledky testů.
  • Opakujte výše uvedené body, dokud nebude testován celý systém.

Priorita procesu musí být na propojeních rozhraní, která jsou integrována mezi moduly.

Nejlepší nástroje pro testování integrace:

VectorCAST/C++ je řešení pro automatizované testování jednotek a integrace používané pro ověřování bezpečnostních a tržně kritických vestavěných systémů. Toto řešení dynamického testování je široce používáno v průmyslových odvětvích, jako je avionika, lékařská zařízení, automobilový průmysl, průmyslové ovládací prvky, železnice a finanční sektory.

Citrus je open-source framework, který může vývojářům pomoci automatizovat testování integrace pro jakýkoli protokol zasílání zpráv nebo datový formát. Citrus je rámec volby pro testování integrací zpráv vaší aplikace. Pokud používáte přenos zpráv, jako je HTTP, REST, SOAP nebo JMS.

LDRA umožňuje vývojářům provádět testy jednotek a integrace na hostitelském a cílovém zařízení. S LDRA mohou vývojáři rychle a snadno generovat a provádět testy na úrovni jednotky a integrace, a to jak na hostiteli (samostatném nebo s cílovou simulací), tak na cílovém hardwaru.

V současné době několik podniků podporuje obchodně orientovanou architekturu. Tradiční metoda integračního testování, stejně jako přístup zdola nahoru, vyžaduje značné úsilí při vytváření testovacích dat. Wipro Smart Integration Test Accelerator (SITA) pomáhá vývojářům překonat tyto výzvy. Tento rámec umožňuje vývojářům urychlit generování testovacích dat a návrh testu.

Rational Integration Tester (RIT) je nástroj pro testování integrace dříve známý jako Green Hat. IBM získala Green Hat v roce 2012. S produktem IBM Rational Integration Tester mohou vývojáři získat prostředí bez skriptování a je možný vývoj pro testy zpráv SOA a integrační projekty. Rational Integration Tester brání problémům s integrací pomocí iterativních a agilních vývojových metod. Nástroj je nyní součástí Rational Test Workbench.

Tipy pro testování integrace:

  • Spouštějte integrační testy, dokud nenajdete alespoň jednu chybu.
  • Po izolaci závady ji ihned vyřešte přidáním nebo úpravou kódu.
  • Testování integrace provádějte pouze po správném provedení testování jednotek.
  • Zaznamenávejte svůj pokrok pomáhá; vývojáři lépe analyzují selhání a uchovávají záznamy o možných důvodech selhání.
  • Protokolování vám pomůže analyzovat selhání a udržovat záznamy o potenciálních důvodech selhání a také vyloučit jiná vysvětlení a zúžit skutečnou příčinu.
  • Ujistěte se, že se vaše testovací a vývojové prostředí shoduje.
  • Použijte cenná testovací data.
  • Používejte společné úložiště pro chyby a testy.

Související články

Testování jednotek Testování systému Přijímací testování