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

Podobné dokumenty
Zátěžové testy aplikací

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

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

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

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

Testování software. Jaroslav Žáček

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

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

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

Softwarové komponenty a Internet

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

Analýza a Návrh. Analýza

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

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

TECHNICKÉ POŽADAVKY NA NÁVRH, IMPLEMENTACI, PROVOZ, ÚDRŽBU A ROZVOJ INFORMAČNÍHO SYSTÉMU

Agenda. Smysl teoretických cvičení Klasifikace Obecná pravidla Bugzilla Klasické problémy Poznámky k jednotlivým pojmům Antipatterns Testování testů

A7B36SI2 Tematický okruh SI08 Revidoval: Martin Kvetko

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

Manažerská informatika - projektové řízení

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

Vývoj řízený testy Test Driven Development

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části:

Specifikace. Odevzdání do

PŘÍLOHA C Požadavky na Dokumentaci

Ročníkový projekt. Jaroslav Žáček

Implementace informačního systému pro knihovnu Jiřího Mahena v Brně

ČMSS: CRM systém pro efektivní práci s klienty

Řízení SW projektů. Lekce 3. Projektové procesy a znalostní oblasti. přednáška pro studenty FJFI ČVUT. zimní semestr 2012

Nebojte se přiznat, že potřebujete SQA

Testování použitelnosti co to obnáší

Project management. Příprava projektu Zahájení High level plánování. Vykonávání Detailní plánování Vykonávání Řízení a monitorování

Návrh IS - UML. Jaroslav Žáček

SIEM Mozek pro identifikaci kybernetických útoků. Jan Kolář , Praha, Cyber Security konference 2014

SOFTWAROVÉ INŽENÝRSTVÍ 1

Praktické zkušenosti s nasazením. na KÚ Vysočina v oblasti ehealth. Libor Neumann, ANECT a.s. Petr Pavlinec, KÚ Vysočina. Pojednání o PEIGu 1

Tvorba informačních systémů

End User Experience Monitoring Měření kvality IT služeb , Brno Jiří Vozňák. information technology

X36SIN: Softwarové inženýrství. Životní cyklus a plánování

Architektury informačních systémů

Architektury informačních systémů

Vývoj informačních systémů. Přehled témat a úkolů

Testování software. Jaroslav Žáček

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

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

Vývoj informačních systémů. Přehled témat a úkolů

Projekt Partner ČSOB Leasing. 02/12/2013 Jaromír Mayer Domain Process Manager Head of Department

Návrh IS - UML. Jaroslav Žáček

Obsah. Úvod 9 Poděkování 10 Co je obsahem této knihy 10 Pro koho je tato kniha určena 11 Zpětná vazba od čtenářů 11 Errata 11

Udělá to, proč přišel/najde co hledal? Navštivte nás na adrese

Automatizace testování

Proces vývoje HRIS Vema (Human Resources Information System) Jaroslav Šmarda

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.

Náklady na odstranění chyby stoupají, v čím pozdější fázi životního cyklu aplikace je chyba nalezena.

Automatické testování GUI

Obsah. Zpracoval:

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

7 Jazyk UML (Unified Modeling Language)

Základy programovaní 3 - Java. Unit testy. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. 26.,27.

PERFORMANCE TESTŮ SEZNÁMENÍ S PROBLEMATIKOU. David Růžička

Testing as a Service. Přístupné, flexibilní a cenově výhodné řešení pro ověření kvality softwaru. Kompletní portfolio služeb testování softwaru

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

Informační systémy ve strojírenství

Návrh softwarových systémů - úvod, motivace

RIZIKA IMPLEMENTACE SKORKOVSKÝ. Přednášející : ESF MU 1/209

Tvorba informačních systémů

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

Sísyfos Systém evidence činností

Architektura GIS KMA/AGI. Karel Jedlička

Architektura softwarových systémů

Citace článku. Alena Buchalcevová, Jan Kučera. Katedra informačních technologií VŠE Praha nám. W.Churchilla 4, Praha 3

Rozptylový model těžkého plynu pro zkvalitnění havarijní odezvy

Moderní metody automatizace a hodnocení marketingových kampaní

Nové jazykové brány do Caché. Daniel Kutáč

Prezentace 2. Slide 1. Slide 2. Slide 3. Slide 4. Prezentace pdf. nazev projektu jmena atd.. Obsah

7 Jazyk UML (Unified Modeling Language)

Příloha č. 3 Smlouvy Součinnost stran při poskytování některých plnění

Joelův test. 12 kroků k lepšímu programování. Jaroslav Šnajdr

Převod 4GL aplikací do webového prostředí. Ing. Jan Musil, IBM ČR Community of Practice for

Vytvoření procesně integrační nástavby KUBIKI pro ERP systém MAX+

Alternativy k SAP HANA appliance? Představení možnosti TDI a cloudové infrastruktury

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

Sledování výkonu aplikací?

Dobré UX jako nejlepší marketingový nástroj mobilních aplikací. Vladimír Korbel

Tvorba informačních systémů

Testování prakticky Otakar Ertl 17. ledna 2018

E LEARNINGOVÁ WEBOVÁ APLIKACE PRO VÝUKU BIOMEDICÍNSKÉHO INŽENÝRSTVÍ Petr Huňka

Michal Krátký, Miroslav Beneš

KATALOG SLUŽEB NÁSLEDNÉ PODPORY

Metodický pokyn k uvedení registru do produkčního provozu

Procesní dokumentace Process Management. Pavel Čejka

ENTERPRISE INFORMATION PORTALS

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

O NÁS. Specializujeme se na návrh a vývoj v následujících oblastech:

Uživatelské hodnocení kvality a dostupnosti ICT služeb. Zbyšek Chvojka, Mylène Veillet

Ročníkový projekt. Jaroslav Žáček

1 Úvod 1.1 Vlastnosti programového vybavení (SW)

Projektování informačních systémů - Restaurace

Testování aplikací I a II

Řešení ochrany databázových dat

1. VYMEZENÍ ODBORNÉ STÁŽE

Transkript:

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

Testování aplikací Testování aplikací Ověřuje soulad implementace se specifikací a s očekáváním zákazníka. Je důležitou součástí procesu řízení kvality vývoje software Na rozdíl od formální verifikace neumožní odhalit všechny potenciální chyby

Testování aplikací Základní pravidla Testy by měly být reprodukovatelné. Testy by měly být deterministické, tj. měly by mít na začátku vždy stejné vstupní podmínky. Testy by měly být nezávislé, tj. nebýt ovlivněny ostatními testy. Testy by měly být levně opakovatelné.

Druhy testování podle metody Druhy testování podle metody Ruční testování: nízké vstupní náklady; drahé opakování; obtížné zajištění reprodukovatelnosti, determinismu a nezávislosti Automatizované testování: vysoké vstupní náklady; levné opakování; snadné zajištění reprodukovatelnosti, determinismu a nezávislosti.

Druhy testování podle cíle Druhy testování podle cíle Jednotkové testování Integrační testování Funkční testování Akceptační testování Testování výkonu a škálovatelnosti Testování uživatelské přívětivosti Testování bezpečnosti

Jednotkové testování U jednotkového testování se snažíme otestovat jednotlivé komponenty vyvíjeného systému na té nejnižší úrovni. Jednotlivé testované komponenty by měly být izolovány od svého okolí, aby se zamezilo vlivu tohoto okolí na testovanou komponentu. Interakce s okolím je simulována pomocí falešných objektů, které simulují chování okolí v konkrétním testovacím scénáři (viz Mock Objekty). Čím je lépe provedená dekompozice, tím je snadnější jednotkové testování.

Jednotkové testování v prostředí Java EE U Java EE aplikací je nutné vzít v úvahu existenci kontejneru. Testy mimo kontejner otestuje se pouze business logika, nikoliv chování závisející na kontejneru (např. řízení transakcí, autorizace apod.) Testy v kontejneru otestuje se vše, ale tento druh testování se pro jednotkové testy moc nehodí. Při testování mimo kontejner se používá koncept mock objektů, které simulují chování kontejneru.

Jednotkové testování v prostředí Java EE Jak testovat vrstvu perzistence dat: Mock Objekty (snadné u JPA nebo jiných knihoven a rámců, komplikované u low-level JDBC). Datábaze uložená v paměti (snadné u JPA, u low-level JDBC může být problém s SQL dialektem). Nezapomenout na zajištění stejných počátečních podmínek (uvést databázi vždy do stejného počátečního stavu).

Jednotkové testování nástroje Nástroje pro jednotkové testování JUnit TestNG Artima SuiteRunner MockRunner dbunit

Integrační testování Integrační testování slouží k ověření správné interakce jednotlivých komponent a zda se sestavený systém chová tak, jak očekává specifikace. Viz též continuous integration

Funkční testování Funkční testování slouží k ověření funkcionality z pohledu koncového uživatele. Většinou se jedná o testování na úrovni uživatelského rozhraní. Nástroje Rational Functional Tester gui + web http://www-01.ibm.com/software/awdtools/tester/functional/index.html Selenium IDE web http://selenium.openqa.org/ Marathon gui http://marathonman.sourceforge.net/ Rational Robot gui (pro staré aplikace), Rational Quality Manager, JWebUnit

Akceptační testování Akceptačním testováním zákazník ověřuje, zda aplikace odpovídá jeho požadavkům a představám. Absence akceptačního testování (případně jeho podcenění a nedostatečné provedení) téměř spolehlivě vede k pozdějším sporům a problémům. Zákazníci mají bohužel tendenci tuto věc velmi podceňovat a na nesoulad implementace s požadavky zákazníka se tak často přijde až v okamžiku produkčního nasazení :-(.

Testování výkonu a škálovatelnosti Testováním výkonu se ověřuje propustnost a odezvy systému při vysokém zatížení. Součástí specifikace by měla být i definice požadované propustnosti a reakčních dob systému při předepsaném zatížení. Nástroje Rational Performance Tester (+ extensions) http://www-01.ibm.com/software/awdtools/tester/performance/index.htm Rational Service Tester for SOA Quality (funkční testy + testování výkonu) JMeter http://jakarta.apache.org/jmeter/

Testy uživatelské přívětivosti Testy uživatelské přívětivosti V USA běžná věc, v Evropě to zatím firmy moc nedělají. Např. firma SUN Microsystems má v Praze svůj jediný Usability lab mimo území USA. Definice prototypu cílového uživatele. Výběr skupiny testovacích uživatelů (testovací vzorek). Testovací uživatel dostane seznam úkolů, které se snaží vyřešit bez pomoci někoho jiného. Jeho chování je sledováno a vyhodnocováno. Viz Štefkovič, M.: Použitelnost webových aplikací. (https://is.muni.cz/auth/th/166042/fi_b/)

Testování bezpečnosti Testování bezpečnosti ověřuje odolnost proti různým typům útoků. Nástroje: Rational AppScan bezpečnost webových aplikací http://www-01.ibm.com/software/awdtools/appscan/

Závěr Otázky?