soa testing tutorial
Výukový program pro testování SOA:
V tomto článku budeme diskutovat o technikách testování architektury SOA.
Software aktuálního dne je tak všestranný a náchylný k tomu, aby každou chvíli zvládal měnící se očekávání uživatelů, samostatný model není užitečný.
Tam je místo, kde SOA zapadá přímo jako řešení.
To je důvod, proč se mnoho společností přizpůsobuje nebo se snaží přizpůsobit přístup SOA kvůli jeho výhodám, jako jsou; Snižování nákladů, obchodní agilita, snadná údržba atd. S blížícím se trhem plným architektury SOA bude pro testery moderní doby nezbytné získat poctivý nápad na testování SOA.
jak přehrávat video soubor matroska
V tomto článku se budeme zabývat základy SOA s příklady.
To by čtenářům poskytlo základní představu o SOA. Na to by navazoval přístup implementace webových služeb. Nakonec se dostaneme do procesu testování, který lze použít pro model architektury SOA.
Co se naučíte:
- Co je to SOA?
- Příklady SOA
- Webové služby
- Proces testování SOA
- Výzvy v testování SOA
- Nástroje pro testování SOA
- Doporučené čtení
Co je to SOA?
SOA nebo Sevice-Oriented-Architecture je flexibilní / agilní / efektivní metoda integrace různých aplikací / služeb za účelem dosažení určitých obchodních potřeb.
- Na rozdíl od jiných komplikovaných systémů se SOA skládá z menších komponent / služeb / mikro služeb spojených dohromady tak, aby vyhovovaly obchodním potřebám.
- Služby jsou jednotky, díky nimž je systém celistvý, a když je potřeba změna, namísto změny celého systému se konkrétní služba upraví.
- Služba je součást, která je schopna vykonat úkol.
- Tato architektura je prodejnější než starší systém, protože koncový uživatel dostává pouze služby potřebné k uspokojení svých potřeb. Nemusí dostat celý systém.
- Služby / mikroslužby jsou volně spojené, opakovaně použitelné a bez státní příslušnosti, což činí systém ještě robustnějším.
- Tento model je vysoce nákladově efektivní z hlediska nasazení, vývoje a údržby.
Příklady SOA
Obchodní potřeba: Aplikace, do které se Uživatel může přihlásit a vyhledávat Restaurace na základě Geolokace, Stáhnout údaje o restauraci a Menu ze serveru, jakmile je vyhledávání dokončeno, a nakonec lze provést platbu za zadání objednávky.
Této obchodní potřeby lze dosáhnout implementací SOA.
K provádění různých úkolů mohou existovat následující služby / mikroslužby:
- Během přihlášení se použije služba „Ověřovací služba“
- Vyhledávání restaurací by prováděla „služba geo-lokátoru“
- Stahování nabídky by mělo být prováděno pomocí služby „Menu Downloader“
- Nakonec by platba proběhla prostřednictvím „platební služby“
Každá z výše uvedených služeb dělá něco jedinečného, aby systém fungoval a poskytoval to, co má dělat. Nyní, pokud zákazník potřebuje vidět pouze restauraci a její nabídku, ale nepotřebuje rozhraní Platební brány, zakoupí / nasadí pouze první tři služby.
Díky tomu je práce jednoduchá pro vývoj, nasazení, prodej, údržbu a pro všechny zákazníky / koncové uživatele.
Webové služby
- Jedná se o API (Application Programing Interfaces), které usnadňují interakci mezi různými softwarovými programy.
- Službu na webu hostuje poskytovatel služeb. Jako součást hostování je poskytovatelem hostován WSDL.
- Když klient pošle zprávu s požadavkem poskytovateli služeb, je komunikace navázána pomocí adresy URL / WSDL.
- V níže uvedeném příkladu je server geolokace hostitelem webové služby, kterou používá žadatel o službu.
Proces testování SOA
Každý produkt, model, infrastruktura musí projít fází testování, aby uspokojil koncového uživatele z hlediska kvalitního produktu. Testování SOA se neomezuje pouze na testování vrstvy / testování protokolu webové služby. Toto je celkové testování architektury a její každou minutovou část.
Přístup k testování může být podobný jako u běžného procesu testování. tj.
- Proces kontroly požadavků
- Plánování testů
- Zkušební design
- Nastavení prostředí
- Fáze provádění
- Fáze hlášení
Proces testování SOA se točí kolem 3 vrstev architektury:
- Spotřebitelé služeb
- Zpracovat vrstvy
- Servisní vrstvy
Ve stejném příkladu výše můžeme mít naše vrstvy takto:
- Vrstva zákazníka služby pomáhá při interakci se spotřebitelem. To pomáhá při čtení vstupu od koncového uživatele a vrátí příslušnou odpověď pro obdržený požadavek. Jinými slovy to má v zásadě uživatelské rozhraní.
- Toto je vrstva, která se zaměřuje na přední část implementace. Tato vrstva v našem příkladu bude mít metody autentizace, vytvoření uživatele atd.
- Servisní vrstvy jsou obchodní funkce z hlediska služeb. V této vrstvě jsou všechny služby, které jsou skutečně volány při provádění konkrétního úkolu.
Testování lze v zásadě rozdělit do 4 různých fází;
Úroveň 1
1) Testování úrovně služeb:
- Každá služba zapojená do systému je testována individuálně na základě metody požadavku a odpovědi.
- Tento test je povinný a je velmi důležitý pro další testování.
2) Funkční testování:
- Test se provádí u služeb podle jejich obchodních potřeb, aby se zjistilo, zda je přijatá odpověď správná.
- Obchodní potřeby se nejprve převedou na testovací případy a vytvoří se příkazy požadavků.
- Poté jsou zpracovány příkazy žádosti, aby se zjistilo, zda jsou získané odpovědi správné.
- V případě neplatných vstupních dat by měl být vyvolán správný chybový kód nebo by měla být spuštěna správná chybová zpráva.
- Je třeba provést formáty odpovědi i negativní scénáře.
3) Testování zabezpečení:
- Kdykoli jde o webovou službu, hraje testování zabezpečení klíčovou roli v úspěchu procesu testování.
- Při analýze dat by měly být ověřovací brány, platební brány atd. Šifrovány.
- Pokud jde o XML, měly by být ověřeny chyby zabezpečení, jako je CSRF, SQL injection.
4) Testování výkonu:
- Služby používané v architektuře jsou hostovány, takže ji může využívat spousta dalších aplikací. Testování výkonu zajišťuje důvěryhodnost těchto služeb.
- Testování služeb by mělo být provedeno za účelem zjištění následujících sad výsledků;
- Zjistit stabilitu služeb.
- K ověření škálovatelnosti služeb.
- Chování služby za podmínek špičkového zatížení
- Chcete-li zjistit dobu odezvy napříč službami
Úroveň 2
1) Testování procesu:
- Tento proces zahrnuje testování různých obchodních procesů.
- To by mělo zahrnovat integrační scénáře webových služeb a aplikací pokrývajících obchodní požadavky
- Pro generování vstupních dat vzorku by mělo být použito simulátorů a pro příslušné výstupy by měla být provedena validace.
- Tok dat z různých vrstev by měl být prováděn, aby se prokázalo hladké fungování systému, pokud je integrován.
Úroveň 3
1) Testování typu end to end:
vytvořit kopii pole
- Tato fáze je určena k ověření funkčních i nefunkčních obchodních požadavků.
- Uživatelské rozhraní aplikace je ověřeno.
- Příslušný obchodní proces je testován.
- V této fázi je ověřen datový tok typu end-to-end.
- Práce se všemi službami, když jsou služby vzájemně integrovány, je ověřena.
Úroveň 4
1) Regresní testování:
- Stabilita systému v přírůstkových verzích sestavení je ověřena tímto testováním.
- Toho lze dosáhnout buď manuálním testováním / automatizačním testováním.
Výzvy v testování SOA
Někdo správně řekl: „Větší síť; Větší je nepořádek! “. SOA se může stát opravdu složitým dítětem hladovým po pozornosti.
Jinými slovy, s tolika drobnými částmi tvořícími architekturu SOA se stává skutečnou těžkou prací certifikovat ji v Testování.
- Je těžké simulovat testovací prostředí, aby bylo možné pokračovat v procesu testování.
- Produkty zahrnuté v modelu mohou být stejné technologie / dodavatele. Ale také se mohou lišit. Další problémy?
- Testovací kombinace vystřelí NAHORU s počtem zapojených služeb / komponent.
- Složitost modelu
- Reprodukce / testování vydání je těžká práce.
- Na rozdíl od jiných modelů by testování mělo být primárně zaměřeno spíše na obor podnikání než na službu a její funkce.
Nástroje pro testování SOA
Existuje mnoho aplikací pro testování SOA. Nástroje pro testování SOA jsou vybírány na základě jejich přesných výsledků a lepší produktivity.
- SoapUI: Toto je bezplatný nástroj zaměřený na testování webových služeb. SoapUI je schopen provádět funkční testování, testování výkonu a testování zátěže
- Apache Jmeter: Toto je také obslužný program OPEN SOURCE, který se používá k analýze výkonu vyvolání SOAP.
- JProfiler: Používá se k zastavení nebo detekci úniku paměti, hledání zúžení výkonu atd.
- Test služeb HP: To je integrováno do HP QC. Toto je funkční testovací nástroj, který také podporuje uživatelské rozhraní a testování sdílených služeb
Prostřednictvím tohoto článku jsme pochopili jedinečnost modelu. To se velmi liší od staršího modelu a článek o něm dává dobrý nápad. Tento článek také vysvětluje postup SOA a způsoby, jak pokračovat v testování.
O autorovi: Toto je příspěvek od Subhasis. Pracuje jako týmový vedoucí s více než 8letou firemní zkušeností s prací pro IT společnosti z žebříčku Fortune 500.
Níže pošlete své dotazy / komentáře týkající se testování SOA.
Vše nejlepší!
Doporučené čtení
- Nejlepší nástroje pro testování softwaru 2021 (QA Test Automation Tools)
- Testování stahování e-knih Primer
- Výukový program pro destruktivní testování a nedestruktivní testování
- Funkční testování vs. nefunkční testování
- Výukové programy pro zatmění do hloubky pro začátečníky
- Top 15 nástrojů pro testování SOA pro testery
- Výukový program pro testování párů nebo testování všech párů s nástroji a příklady
- Výukový program pro testování přístupnosti WAVE