Testování SOA systémů v Oracle SOA Suite



Podobné dokumenty
Správa a sledování SOA systémů v Oracle SOA Suite

Komponenta Human Task v Oracle SOA Suite

Testování Java EE aplikací Petr Adámek

Semináˇr Java X J2EE Semináˇr Java X p.1/23

Úvod do Web Services

Service Component Architecture a komponenty Oracle SOA Suite

Nástroje pro průběžnou integraci a testování

Tvorba podnikových aplikací v jazyce JAVA. Josef Pavlíček KII PEF CZU

A7B36SI2 Tematický okruh SI08 Revidoval: Martin Kvetko

Servisně orientovaná architektura a její aplikace v systémech sledování a řízení výroby

SOAP & REST služby. Rozdíly, architektury, použití

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

X33EJA Web Services. Martin Ptáček, KOMIX s.r.o.

Využití JBoss Fuse ve skandinávské energetice

CASE nástroje. Jaroslav Žáček

CASE. Jaroslav Žáček

Řešení integrace Profinit ESB. Michal Bureš

Procesní dokumentace Process Management. Pavel Čejka

Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz

Elektronická podpora výuky předmětu Komprese dat

Zátěžové testy aplikací

Centrální přístupový bod k informačním zdrojům resortu Ministerstva zemědělství Portál MZe a Portál eagri

(Enterprise) JavaBeans. Lekce 7

Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays

Analýza a Návrh. Analýza

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU

End-to-end testování. 26. dubna Bořek Zelinka

Specifikace. Odevzdání do

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services

Zajištění kvality programového vybavení - testování

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Úvod 9

Servlety a JSP. Petr Adámek, petr.adamek@ibacz.eu

Architektury Informačních systémů. Jaroslav Žáček

Novell Identity Management. Jaromír Látal Datron, a.s.

Zkušenosti nejen z provozu Portálu občana. Jan Vlasák NAKIT Miroslav Vacula Jihomoravský kraj Václav Koudele - Microsoft

Moderní přístup k návrhu produktové nabídky a schvalování úvěrových produktů v reálném čase.


TÉMATICKÝ OKRUH Softwarové inženýrství

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

ŠKOLENÍ PROGRAMOVACÍHO JAZYKA JAVA JAVA - ZÁKLADY

Architektury Informačních systémů. Jaroslav Žáček

Pravidla a plánování

MYBIZ - Řešení pro zpřístupnění dat ze stávajících aplikací na mobilních zařízeních (Mobilize your business!) Požadavky zákazníka.

Metodiky pro automatické testování webové aplikace. Ondřej Melkes, Martin Komenda

Jazz Server osobní nastavení uživatele

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13

Statistica, kdo je kdo?

Architektura orientovaná na služby Návrh orientovaný na služby. Ing. Petr Weiss. VUT v Brně,, FIT, UIFS

Rozšíření systému na sledování státní a veřejné podpory pro Ministerstvo financí

Vývoj řízený testy Test Driven Development

PA165: Úvod do Java EE. Petr Adámek

MBI - technologická realizace modelu

Jak testovat software v praxi. aneb šetříme svůj vlastní čas

Den pro partnery Masarykova universita - Fakulta informatiky

Verze dokumentu 0.1 duben 2016

Testovací protokol. webový generátor PostSignum. sada PIIX3; 1 GB RAM; harddisk 20 GB IDE OS: Windows Vista Service Pack 2 SW: Internet Explorer 9

Úvod. Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne.

I N V E S T I C E D O R O Z V O J E V Z D Ě L Á V Á N Í

O Apache Derby detailněji. Hynek Mlnařík

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o.

Testování software. Jaroslav Žáček

Aktuální otázky provozu datových skladů PAVEL HNÍK

Microsoft Azure Workshop

Wonderware Historian 2017

Zajištění dostupnosti vybraných IT služeb

UML a jeho použití v procesu vývoje. Jaroslav Žáček jaroslav.zacek@osu.cz

Quality assurance a testovací nástroje v praxi. Bohumír Zoubek bohumir.zoubek@profinit.eu

NOVELL AUTORIZOVANÉ ŠKOLICÍ STŘEDISKO. v rámci celosvětového programu Novell Academic Training Partners (NATP) Ing. Marek Ťapťuch

IT v průmyslu. Standardizované komunikační rozhraní mezi MES systémem a jeho okolím Leoš Hons Leo.Hons@mescentrum.cz

SAP Solution Manager. Verze 7.2 a mnohem víc 1

2. Systémová analýza SA návrhová část projektu = příručka projektu - systémový přístup k analýze problémů, nejdůležitější etapa projektu - podrobné st

TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY

Michal Andrejčák, Seminář Energetika v průmyslu, Hotel Vista Dolní Morava, Možnosti monitorování a ovládání Zpracování dat z rozvoden


Tabulka Nabídková cena za předmět plnění *uchazeč vyplní cenu za celý kurz nebo cenu za 1 účastníka dle zadávací dokumentace a nabídky uchazeče

GINIS na KrÚ Středočeského kraje

Výtisk č.: Počet listů 9. Přílohy: 0 ÚZIS ČR

Implementace SOA v GE Money

Implementace a využití automatizovaného testování. Staňková Gabriela Home Credit International a.s. 4.listopadu, 2009

Vývoj informačních systémů. Obecně o IS

zswi/pc-testování.d 10. května

Automatické testování GUI

Java/QE Akademie - Osnova

Příprava dokumentů pro archivaci v souladu s platnou legislativou. Vladimír Střálka Adobe Systems Praha

Workshop Exact Software CEE

1. Integrační koncept

<Insert Picture Here> Jak garantovat bezpečnost systémů ve státní správě

[ 1 ] Seminář Centrální úložiště elektronických receptů, Praha, Státní ústav kontrolu léčiv

Jak spustit provoz v DR lokalitě snadno a rychle

Portál občana jede téměř rok bez odstávky, jak je to možné? Jan Vlasák NAKIT Václav Koudele - Microsoft

Základy databází. O autorech 17 PRVNÍ ČÁST. KAPITOLA 1 Začínáme 19

Vybraná zajímavá Lotus Notes řešení použitelná i ve vašich aplikacích. David Marko TCL DigiTrade

Nasazení webových služeb do enterprise prostředí. Petr Steckovič

SQL Server Data Tools (SSDT) RNDr. David Gešvindr MVP: Azure MCSE: Data Platform MCSD: Windows Store

Praktické zkušenosti s Azure DevOps

ADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server

Testování softwaru. 10. dubna Bořek Zelinka

Aplikace IS, outsourcing, systémová integrace. Jaroslav Žáček

Seznámení s prostředím dot.net Framework

Formy komunikace s knihovnami

Transkript:

Testování SOA systémů v Oracle SOA Suite Marek Rychlý Vysoké učení technické v Brně Fakulta informačních technologií Ústav informačních systémů Přednáška pro IOA 3. prosince 2014 Marek Rychlý Testování SOA systémů v Oracle SOA Suite Přednáška pro IOA, 3. prosince 2014 1 / 23

Obsah 1 Testování služeb a komponent SOA a SCA aplikací Testování jako součást životního cyklu služby/komponenty Principy a problémy testování komponentových aplikací Automatizované jednotkové i integrační testy 2 Automatizované testování komponent v Oracle SOA Automatizované testování web-services v soapui 3 Marek Rychlý Testování SOA systémů v Oracle SOA Suite Přednáška pro IOA, 3. prosince 2014 2 / 23

Testování jako součást životního cyklu služby/komponenty Principy a problémy testování komponentových aplikací Automatizované jednotkové i integrační testy Vývoj, nasazení a testování SOA/SCA aplikace (opakování ze 3. přednášky) 1 Vývoj jednotlivých komponent. (konfigurace předpřipravených, adaptace převzatých a vývoj nových komponent) 2 Testování jednotlivých komponent. (testy jednotek samostatně a integrované v běžných kontextech) 3 Vývoj komponentové aplikace. (kompozice komponent, konfigurace jejich rozhraní a vlastností, spojení, atp.) 4 Sestavení a release verze komponentové aplikace. (SCA aplikace je sestavována a nasazována jako celek) 5 Nasazení a testování komponentové aplikace. (potřeba SCA kontejner s napojením na požadované služby a zdroje) Marek Rychlý Testování SOA systémů v Oracle SOA Suite Přednáška pro IOA, 3. prosince 2014 4 / 23

Testování jako součást životního cyklu služby/komponenty Principy a problémy testování komponentových aplikací Automatizované jednotkové i integrační testy Vývoj, nasazení a testování SOA/SCA aplikace (opakování ze 3. přednášky) 1 Vývoj SCA aplikace jdeveloper, BP Composer 2 Sestavení balíčku jdeveloper, ant, WLST 3 Nasazení na server... + Enterprise Manager 4 Testování a sledování Enterprise Manager (diagram převzat z Life Cycle of a SOA Composite Application ) Marek Rychlý Testování SOA systémů v Oracle SOA Suite Přednáška pro IOA, 3. prosince 2014 5 / 23

Testování jako součást životního cyklu služby/komponenty Principy a problémy testování komponentových aplikací Automatizované jednotkové i integrační testy Principy testování komponentových aplikací obecně Testování funkčnosti vs. testování provedení black-box testování testy funkčnosti (test adekvátnosti výstupů pro vstupy, případně na viditelnou změnu stavu) white-box testování testy provedení (test průběhu zpracování vstupů na výstupy a vlivu na vnitřní stav) Testování samostatných jednotek vs. testování jejich spolupráce testy jednotek každá část samostatně, bez vlivu okolí (ověření funkčnosti dané komponenty, izolace pro odstranění vlivu okolí) integrační testy jednotky v kompozici, bez vlivu okolí (ověření funkčnosti dané kompozice, izolace pro odstranění vlivu okolí) Mock objekty/služby/komponenty pro izolaci (nahrazují závislosti; omezeně, většinou staticky, emulují jejich funkčnost) Test-driven Development (testy jako specifikace, tzn. nejdřív testy kompletní funkčnosti, pak implementace) Marek Rychlý Testování SOA systémů v Oracle SOA Suite Přednáška pro IOA, 3. prosince 2014 6 / 23

Testování jako součást životního cyklu služby/komponenty Principy a problémy testování komponentových aplikací Automatizované jednotkové i integrační testy Problémy testování SOA/SCA aplikací Obvykle řešení pro celý podnikový IS, nutná funkčnost. (služby a jejich kompozice nelze hned testovat v produkčním prostředí, hrozí ztráty) Silné závislosti na spolupráci s okolím a na sdílených zdrojích. (nelze kompletně otestovat v izolaci, při testování lze těžko ovlivnit chvální okolí) Heterogenní a distribuované prostředí. (různé implementační technologie a platformy nasazení, vliv komunikace) Souběžnost a časté asynchronní volání. (nelze otestovat věchny serializace, více práce se sessions v rámci testů) Specifickace a přinos dán businessem. (testy, zejmena v rámci TDD, vyžadují kvalitní specifikaci, tzn. kvalitní BP model) Marek Rychlý Testování SOA systémů v Oracle SOA Suite Přednáška pro IOA, 3. prosince 2014 7 / 23

Automatizované testování Testování jako součást životního cyklu služby/komponenty Principy a problémy testování komponentových aplikací Automatizované jednotkové i integrační testy Testy často opakovaně verifikují SW vůči jeho specifikaci. (testy během vývoje, po změnách při údržbě, změnách ve způsobu integrace, atp.) Auto-testování ověřuje výstupy/stav SW nad danými vstupy/daty. (porovnává skutečné výsledky z testovacích dat s dle testů očekávanými výsledky) Rámce pro automatizované testování, např. (rámce poskytují podporu pro vytváření a spouštění testů a pro kontrolu výsledků) junit (testy jednotek pro třídy/objekty v jazyce Java) soapui (testy jednotek a integrační testy pro web-services, vč. Mock služeb) Marek Rychlý Testování SOA systémů v Oracle SOA Suite Přednáška pro IOA, 3. prosince 2014 8 / 23

Funkční části automatizovaných testů Testování jako součást životního cyklu služby/komponenty Principy a problémy testování komponentových aplikací Automatizované jednotkové i integrační testy generování generuje vstupní data pro testované komponenty, spouští testované komponenty nad vstupními daty. verifikace 1 ověřuje data vystupující z testovaných komponent, porovnává s očekávanými a rozhoduje shodu/neshodu. mock poskytuje komponentu simulující funkčnost, na které závisí testovaná komponenta. (diagram převzat z Best Practices for testing SOA Suite 11g based systems ) 1 angl. assertion, tj. vynucení platnosti něčeho v rámci testu, jinak chyba Marek Rychlý Testování SOA systémů v Oracle SOA Suite Přednáška pro IOA, 3. prosince 2014 9 / 23

Testování jako součást životního cyklu služby/komponenty Principy a problémy testování komponentových aplikací Automatizované jednotkové i integrační testy Izolace při automatizovaném testování Komponenty se testují samostatně, jako jednotky. (závislosti na okolí nahrazeny napojením na Mock komponenty) Jednotkové testy neodhalí problémy při integraci, ale poskytnou základ pro pozdější integrační testy. Integrační testy se postupně napojují další a další komponenty. (odspodu, tj. od komponent k celkům; testy jednotek zaručují funkčnost integrovaných komponent nejnižší vrstvy i integrujících komponent vyšších vrstev) (diagramy převzaty z Best Practices for testing SOA Suite 11g based systems ) Marek Rychlý Testování SOA systémů v Oracle SOA Suite Přednáška pro IOA, 3. prosince 2014 10 / 23

Automatizované testování komponent v Oracle SOA Automatizované testování web-services v soapui (opakování ze 3. přednášky) 1 Oracle SOA Suite 11g (sputěný WebLogic AdminServer a managed server soa_server1) 2 Načtení stránky Oracle Enterprise Manager 3 Přihlášení, výběr SOA / soa-infra / default, služby a tlačítko Test. 4 Výběr operace, sestavení XML požadavku a tlačítko Test Web Service. Marek Rychlý Testování SOA systémů v Oracle SOA Suite Přednáška pro IOA, 3. prosince 2014 12 / 23

Automatizované testování komponent v Oracle SOA Automatizované testování web-services v soapui Sledování služeb v Enterprise Manager, FMW Control (opakování ze 3. přednášky) Logy a statistiky celé SOA infrastruktury. (výběr SOA / soa-infra a menu SOA Infrastructure vpravo) Výpis stavu instancí, chyb a odmítnutých zpráv zůčastněných komponent. (výběr SOA / soa-infra / default a položky s názvem služby) Výběr Launch Flow Trace po provedení Test Web Service. Marek Rychlý Testování SOA systémů v Oracle SOA Suite Přednáška pro IOA, 3. prosince 2014 13 / 23

Automatizované testování komponent v Oracle SOA Automatizované testování web-services v soapui Automatické testování komponent v Oracle SOA Pro komponentovou aplikaci lze zadefinovat auotmatické testy. (nad composite v prostředí jdeveloper, tzv. Composite Test v dané TestSuite ) Resty lze vystavět pomocí funkčních částí initiation spuštění webové služby nad danými daty (volání dané operace dané webové služby s danými vstupními XML daty) assertion kontrola dat přenášených na spojeních komponent (kontroly XML vstupů i výstupů volání, callbacks a výskyt chybových zpráv) emulation emulace dat na spojích na závislosti testované komp. (emulace výstupního XML volané Mock komponenty, chyby či callback) Lze spustit pouze testy webových služeb, ne přímo komponent. (pro test komponenty bez rozhraní webové služby, musí se toto vytvořit) Marek Rychlý Testování SOA systémů v Oracle SOA Suite Přednáška pro IOA, 3. prosince 2014 14 / 23

Popis komponentových testů Automatizované testování komponent v Oracle SOA Automatizované testování web-services v soapui Komponentové testy se definují nad speciálním zobrazením composite. Na rozhraní web-service její iniciace, na spojeních pak aserce a emulace. Testy v XML souborech v rámci SCA, jsou součástí nasazované aplikace. (diagramy převzaty z Best Practices for testing SOA Suite 11g based systems ) Marek Rychlý Testování SOA systémů v Oracle SOA Suite Přednáška pro IOA, 3. prosince 2014 15 / 23

Provádění komponentových testů Automatizované testování komponent v Oracle SOA Automatizované testování web-services v soapui Testy součástí SCA aplikace a s ní i nasazovány na server. (klasický deploy to SAR zabalí do archivu i XML soubory testů) Po nasazení lze testy spustit v Enterprise Manager. (lze také pomocí WLST/ant, začlenit do nástrojů pro deploy na testovací servery) Spuštění na záložce Unit Tests v zobrazení služby. (zadává se počet instancí, čas pro timeout a jméno běhu testu) Marek Rychlý Testování SOA systémů v Oracle SOA Suite Přednáška pro IOA, 3. prosince 2014 16 / 23

Příklady komponentových testů Automatizované testování komponent v Oracle SOA Automatizované testování web-services v soapui (diagramy převzaty z Best Practices for testing SOA Suite 11g based systems ) Marek Rychlý Testování SOA systémů v Oracle SOA Suite Přednáška pro IOA, 3. prosince 2014 17 / 23

Automatizované testování komponent v Oracle SOA Automatizované testování web-services v soapui Ukázka testů komponent v prostředí jdeveloper 1 V jdeveloper otevřeme SOA projekt a v něm testovaný compoiste.xml. 2 Vlevo dole v podokně Structure zvolíme složku TestSuites. 3 V kontextovém menu složky TestSuites vytvoříme Test Suite. 4 V TestSuites vytvoříme podobně Test, který pak otevřeme. 5 V otevřené testu máme před sebou reprezentace složené SCA aplikace. 6 Dvojkikem na rozhraní WS či na spojení komponent můžeme přídávat fce. (inicializace volání služby, aserce a emulace zasílaných zpráv) Marek Rychlý Testování SOA systémů v Oracle SOA Suite Přednáška pro IOA, 3. prosince 2014 18 / 23

soapui & loadui Automatizované testování komponent v Oracle SOA Automatizované testování web-services v soapui soapui je nástroj pro testování funkčnosti webových služeb. (open-source a v základní verzi zdarma dostupný program) Podporuje různé druhy black-box testů služeb funkční testy od jednotek pro komplikované scénáře s návaznostmi, nastavitelné Mock s programovatelnými generátory, různé bezpečnostních testy typu SQL injection, XML bomb, atp. loadui pro zátěžové testy, tj. kontrolu poskytování služeb. Podpora různých technologií (nejen) webových služeb. (SOAP/REST, HTTP/HTTPs, JDBC, JMS, WS-* standardů, atd.) Integrace s různými nástroji pro sestavení i prostředími pro vývoj. (Maven, Ant, junit,... ; Netbeand, Eclipse, InteliJ,... ) Marek Rychlý Testování SOA systémů v Oracle SOA Suite Přednáška pro IOA, 3. prosince 2014 19 / 23

Automatizované testování komponent v Oracle SOA Automatizované testování web-services v soapui Kdy použít soapui namísto Oracle SOA Suite? Pokud potřebujeme složitější Mock služby. (např. dynamické generování, ne vracení stále stejného výstupu) Pro integrační testy, např. testy služeb v choreografii. (snažíme se testovat spolupráci služeb dle daného scénaře) Potřebujeme testovat službu stojící mimo Oracle SOA Suite. (tj. cizí službu, ke které nemáme zdrojový kód/implementaci) Potřebujeme testovat službu pod zátěží, tzv. stress testing. (zejména cizí službu, abychom ověřili její kvalitu) Chceme větší automatizaci a lepší integraci s běžnými nástroji. (např. spuštění testů při commitu do repozitáře, integrace s junit pro jednotnost) Marek Rychlý Testování SOA systémů v Oracle SOA Suite Přednáška pro IOA, 3. prosince 2014 20 / 23

Testování black-box white-box, jednotek integrační. Testování samotných komponent, snazší lokalizace chyby, nutno izolovat. Generátor/iniciace, validátor/aserce a Mock služby/komponenty. Testování tvorbou Test Suites a jejich Composite Tests v Oracle SOA. Automatické testování webových služeb pomocí soapui a loadui rámců. Příště? Bezpečnost webových služeb (bezpečnostní politiky a jejich přiřazení službám, sledování systémů s architekturou SOA a ohledem na bezpečnost,... ) Marek Rychlý Testování SOA systémů v Oracle SOA Suite Přednáška pro IOA, 3. prosince 2014 22 / 23

Poděkování Tento předmět byl podpořen projektem MŠMT CZ.1.07/2.2.00/15.0163 Vzdělávání v IT pro praxi. Marek Rychlý Testování SOA systémů v Oracle SOA Suite Přednáška pro IOA, 3. prosince 2014 23 / 23