soa testing tutorial
Výukový program na testovanie SOA:
V tomto článku sa budeme zaoberať testovacími technikami pre architektúru SOA.
Softvér súčasnej doby je taký všestranný a náchylný na to, aby každú chvíľu zmenil očakávania používateľov, samostatný model nie je užitočný.
Tam je miesto, kde SOA zapadá ako riešenie.
To je dôvod, prečo sa veľa spoločností prispôsobuje alebo sa snaží prispôsobiť prístup SOA kvôli svojim výhodám, ako sú; Zníženie nákladov, obchodná agilita, ľahká údržba atď. S prichádzajúcim trhom plným architektúry SOA bude pre moderných testerov nevyhnutné získať nestranný názor na testovanie SOA.
softvér na kopírovanie DVD z PC
V tomto článku sa budeme zaoberať základmi architektúry SOA a jej príkladmi.
Toto by čitateľom poskytlo základnú predstavu o SOA. Potom by nasledoval prístup implementácie webových služieb. Nakoniec sa dostaneme do procesu testovania, ktorým je možné postupovať v prípade modelu architektúry SOA.
Čo sa dozviete:
- Čo je to SOA?
- Príklady SOA
- Webové služby
- Proces testovania SOA
- Výzvy v testovaní SOA
- Nástroje na testovanie SOA
- Odporúčané čítanie
Čo je to SOA?
SOA alebo Sevice-Oriented-Architecture je flexibilná / agilná / efektívna metóda integrácie rôznych aplikácií / služieb na dosiahnutie určitých obchodných potrieb.
- Na rozdiel od iných komplikovaných systémov, SOA pozostáva z menších komponentov / služieb / mikro služieb, ktoré sú navzájom spojené tak, aby vyhovovali obchodným potrebám.
- Služby sú jednotky, ktoré tvoria celý systém. Ak je potrebné vykonať zmenu, namiesto zmeny celého systému sa zmení konkrétna služba.
- Služba je komponent, ktorý je schopný vykonať úlohu.
- Táto architektúra je predateľnejšia ako starší systém, pretože koncový používateľ dostane iba také služby, ktoré sú potrebné na splnenie jeho potrieb. Nemusí dostať celý systém.
- Služby / mikroslužby sú voľne spojené, opakovane použiteľné a bez štátnej príslušnosti, vďaka čomu je systém ešte robustnejší.
- Tento model je vysoko nákladovo efektívny z hľadiska nasadenia, vývoja a údržby.
Príklady SOA
Obchodné potreby: Aplikácia, do ktorej sa môže používateľ prihlásiť a vyhľadať reštaurácie na základe geografickej polohy. Po dokončení vyhľadávania si stiahnite zo servera podrobnosti reštaurácie a ponuku. Nakoniec je možné uskutočniť platbu za uskutočnenie objednávky.
Túto obchodnú potrebu je možné dosiahnuť implementáciou SOA.
Na vykonávanie rôznych úloh môžu existovať nasledujúce služby / mikroslužby:
- Počas prihlásenia sa použije služba „Autentifikačná služba“.
- Vyhľadávanie reštaurácií by robila „služba geo-lokátora“
- Ponuku na stiahnutie by mala robiť služba „Menu Downloader“
- Nakoniec by sa platba uskutočnila prostredníctvom „platobnej služby“.
Každá z vyššie uvedených služieb robí niečo jedinečné, aby systém fungoval a dodal to, čo má robiť. Ak teraz zákazník potrebuje vidieť iba reštauráciu a jej menu, ale nepotrebuje rozhranie platobnej brány, kúpil by / nasadil iba prvé tri služby.
Vďaka tomu je práca jednoduchá pre vývoj, nasadenie, predaj, údržbu a pre všetkých zákazníkov / koncových používateľov.
Webové služby
- Jedná sa o API (Application Programing Interfaces), ktoré uľahčujú interakciu medzi rôznymi softvérovými programami.
- Existuje poskytovateľ služieb, ktorý je hostiteľom služby na webe. V rámci hostenia je poskytovateľ hostiteľom WSDL.
- Keď klient pošle správu s požiadavkou poskytovateľovi služby, komunikácia sa uskutoční pomocou adresy URL / WSDL.
- V nižšie uvedenom príklade je server geolokácie hostiteľom webovej služby, ktorú používa žiadateľ o službu.
Proces testovania SOA
Každý produkt, model, infraštruktúra musí prejsť fázou testovania, aby bol koncový používateľ spokojný z hľadiska kvalitného produktu. Testovanie SOA sa neobmedzuje iba na testovanie vrstvy / testovanie protokolov webových služieb. Toto je celkové testovanie architektúry a jej každej minútovej časti.
Testovací prístup môže byť podobný ako pri bežnom testovacom procese. t.j.
- Proces kontroly požiadaviek
- Plánovanie testov
- Dizajn skúšky
- Nastavenie prostredia
- Fáza vykonania
- Fáza nahlasovania
Proces testovania SOA sa v architektúre točí okolo 3 vrstiev:
- Spotrebitelia služieb
- Spracovať vrstvy
- Servisné vrstvy
Ak pôjdeme rovnakým príkladom vyššie, môžeme mať naše vrstvy nasledovne:
- Zákaznícka vrstva služieb pomáha pri interakcii so zákazníkom. To pomáha pri načítaní vstupu od koncového používateľa a vráti príslušnú odpoveď na prijatú žiadosť. Inými slovami, toto má v podstate rozhranie UI.
- Toto je vrstva, ktorá sa zameriava na prednú časť implementácie. Táto vrstva v našom príklade bude mať metódy autentifikácie, vytvorenia používateľa atď.
- Vrstvy služieb sú obchodné funkcie z hľadiska služieb. Všetky služby, ktoré sa v skutočnosti volajú pri vykonávaní konkrétnej úlohy, sú v tejto vrstve.
Testovanie možno v zásade rozdeliť do 4 rôznych etáp;
Úroveň 1
1) Testovanie úrovne služieb:
- Každá služba zapojená do systému je testovaná individuálne na základe metódy Požiadavka a odpoveď.
- Tento test je povinný a je veľmi dôležitý pre ďalšie testovacie procesy.
2) Funkčné testovanie:
- Test sa vykonáva pre služby podľa ich obchodných potrieb, aby sa zistilo, či je prijatá odpoveď správna.
- Obchodné potreby sa najskôr prevedú na testovacie prípady a vytvoria sa výkazy požiadaviek.
- Potom sa požiadavky spracujú, aby sa zistilo, či sú získané odpovede správne.
- V prípade neplatných vstupných údajov by mal byť vyhodený správny chybový kód alebo spustené správne chybové hlásenie.
- Je potrebné vykonať formáty odpovede, ako aj negatívne scenáre.
3) Testovanie bezpečnosti:
- Kedykoľvek ide o webovú službu, testovanie zabezpečenia zohráva kľúčovú úlohu v úspechu procesu testovania.
- Pri analýze údajov by mali byť autentifikačné brány, platobné brány atď. Šifrované.
- Pokiaľ ide o XML, mali by sa overiť chyby zabezpečenia ako CSRF, SQL injection.
4) Testovanie výkonu:
- Služby používané v architektúre sú hosťované, takže ich môže využívať mnoho ďalších aplikácií. Testovanie výkonu zaisťuje dôveryhodnosť týchto služieb.
- Testovanie služieb by sa malo vykonať, aby sa zistili nasledujúce súbory výsledkov;
- Zistiť stabilitu služieb.
- Na overenie škálovateľnosti služieb.
- Chovanie služby za podmienok maximálneho zaťaženia
- Vyhľadanie časov odozvy naprieč službami
Úroveň 2
1) Testovanie procesu:
- Tento proces zahŕňa testovanie rôznych obchodných procesov.
- To by malo obsahovať integračné scenáre webových služieb a aplikácií pokrývajúcich obchodné požiadavky
- Na generovanie vstupných údajov vzorky by sa malo používať simulátory a mala by sa vykonať validácia pre príslušné výstupy.
- Tok údajov z rôznych vrstiev by sa mal vykonávať, aby sa preukázalo hladké fungovanie systému, keď je integrovaný.
Úroveň 3
1) Testovanie typu end to end:
rozdiel medzi testovaním bielej skrinky a testovaním čiernej skrinky
- Táto fáza je určená na overenie funkčných aj nefunkčných obchodných požiadaviek.
- Používateľské rozhranie aplikácie je overené.
- Príslušný obchodný proces je testovaný.
- V tejto fáze sa overuje end-to-end dátový tok.
- Je overená práca so všetkými službami, keď sú tieto služby navzájom integrované.
Úroveň 4
1) Regresné testovanie:
- Stabilita systému v prírastkových vydaniach zostavenia je overená týmto testovaním.
- To sa dá dosiahnuť buď manuálnym testovaním / automatizačným testovaním.
Výzvy v testovaní SOA
Niekto správne povedal: „Väčšie pletivo; Väčší neporiadok! “. SOA sa môže stať skutočne zložitým dieťaťom hladným po pozornosti.
Inými slovami, s toľkými minútovými časťami, ktoré tvoria architektúru SOA, je skutočne náročné ju certifikovať pri testovaní.
- Je náročné simulovať testovacie prostredie, aby sa mohol uskutočniť testovací proces.
- Výrobky zapojené do modelu môžu byť rovnakej technológie / dodávateľa. Môžu sa však tiež líšiť. Máte ďalšie problémy?
- Testovacie kombinácie vystreľujú NAHORU s počtom zapojených služieb / komponentov.
- Zložitosť modelu
- Reprodukcia / testovanie problémov je ťažká práca.
- Na rozdiel od iných modelov by sa testovanie malo primárne zamerať na obchodný rozsah, nie na službu a jej vlastnosti.
Nástroje na testovanie SOA
Existuje veľa aplikácií na testovanie SOA. Nástroje na testovanie SOA sa vyberajú na základe ich presných výsledkov a lepšej produktivity.
- SoapUI: Toto je bezplatný nástroj zameraný na testovanie webových služieb. SoapUI je schopné vykonávať funkčné testovanie, testovanie výkonu a testovanie záťaže
- Apache Jmeter: Toto je tiež obslužný program OPEN SOURCE, ktorý sa používa na analýzu výkonu vyvolania SOAP.
- JProfiler: Používa sa na zastavenie alebo detekciu úniku pamäte, hľadanie úzkych miest vo výkone atď.
- Servisný test spoločnosti HP: Toto je integrované do HP QC. Toto je funkčný testovací nástroj, ktorý tiež podporuje testovanie používateľského rozhrania a zdieľaných služieb
Prostredníctvom tohto článku sme pochopili jedinečnosť modelu. To sa veľmi líši od pôvodného modelu a článok o ňom poskytuje dobrú predstavu. Tento článok tiež objasňuje postup SOA a spôsoby, ako pokračovať v testovaní.
O autorovi: Toto je príspevok od Subhasis. Pracuje ako tímový vedúci s viac ako 8-ročnými firemnými skúsenosťami s prácou pre Fortune 500 IT spoločností.
Odošlite svoje dotazy / komentáre týkajúce sa testovania SOA nižšie.
Všetko najlepšie!
Odporúčané čítanie
- Najlepšie nástroje na testovanie softvéru 2021 (QA Test Automation Tools)
- Stiahnutie e-knihy Testing Primer
- Výukový program pre deštruktívne testovanie a nedeštruktívne testovanie
- Funkčné testovanie vs. Nefunkčné testovanie
- Hĺbkové návody pre zatmenie pre začiatočníkov
- Top 15 nástrojov na testovanie SOA pre testerov
- Výukový program pre párové testovanie alebo testovanie všetkých párov s nástrojmi a príkladmi
- Výukový program pre testovanie prístupnosti WAVE