420 likes | 612 Views
Zajištění kvality aplikací IBM Rational Zdeněk Borůvka IBM Česká republika. Agenda. SQA jako kompletní řešení Řízení a vyhodnocování testů Testy funkčnosti a výkonnosti Bezpečnostní testování Příklady využití platformy IBM Rational. Software Quality Assurance jako KOMPLETNÍ ŘEŠENÍ.
E N D
Zajištění kvality aplikacíIBM RationalZdeněk BorůvkaIBM Česká republika
Agenda • SQA jako kompletní řešení • Řízení a vyhodnocování testů • Testy funkčnosti a výkonnosti • Bezpečnostní testování • Příklady využití platformy IBM Rational
Řešení testování na platformě IBM Rational • Kompletní řešení v oblasti testování • Příprava a plánování testovacích aktivit, testovacích dat a testovacího prostředí • Systematické řízení testů s návazností na projektové požadavky • Realizace testování kvalitními nástroji s využitím nejlepších zkušeností v oblasti testování • Automatizované funkční testování • Ruční funkční testování • Automatizované testování výkonnosti/zátěže • Testování bezpečnosti webových aplikací • Navazující odstranění chyb • Zajištění konzistence mezi verzemi jednotlivých artefaktů • Vazba na ostatní části projektu • Audit bezpečnosti a dalších norem na úrovni SW vývoje
IBM Rational - Řešení orientované na PROCES • Klíčovou součástí je proces • Návaznost testování na ostatní projektové i meziprojektové aktivity • Testování souvisí se správou požadavků • Jednotlivé testovací případy vycházejí z projektových požadavků • Odhalené chyby souvisí s konkrétními požadavky • Výsledky testování musí být efektivním zdrojem informací pro opravu chyb • Na projektové i nadprojektové úrovni je nutné mít přehled o stavu testování i ve vztahu k ostatním projektovým aktivitám • Na vývoji se často podílí externí firmy => potřeba propojit systém se systémem pro řízení dodavatelů • Testování je jedním z klíčových pilířů vývoje aplikací a systémů
Testování s IBM Rational – využití nástrojů • Řízení testů a chyb • IBM Rational ClearQuest • Automatizované funkční testování • IBM Rational Functional Tester /(IBM Rational Robot) • Ruční funkční testování • IBM Rational Manual Tester • Automatizované testování výkonnosti • IBM Rational Performance Tester • Testování bezpečnosti • IBM Rational AppScan • Verzování testovacích artefaktu • IBM Rational ClearCase
Automatizovaný Test Management Konkrétní testovací případy organizovány do testovacích plánů Spouštění testů je promyšlené Konkrétní chyby jsou propojeny na projektové požadavky Přehled o stavu testování IBM GPS v testování pomáhá Znát svoji polohu Znát svůj směr Mít možnost předvídat Řízení testůPlánování testů, Realizace, Vyhodnocení, Reporting a návaznost na zbytek projektu
Test Management na Eclipse Umožňuje rozšířit testovací nástroje (Functional a Performance Tester) o oblast řízení testů Windows klient stále k dispozici Klíčové funkční oblasti Plánování testů Práce s testovacími plány a testovacími případy Spouštění testů Tvorba souhrnných testovacích sad nebo spouštění jednotlivých testovacích případů Reportování Široké možnosti měření stavu projektu Test Management pomocíRational ClearQuestEclipse, Windows a Web klienti
Projektové artefakty spolu souvisíVyužijte vazeb, které v projektu stejně existují • Příklady dotazů • Výsledky testů podle projektových požadavků • Chyby zadané z konkrétních výsledků testu • Požadavky, které dosud nebyly otestovány • Díky stopovatelnosti požadavků, testů a chyb lze projekt lépe řídit a zároveň rychleji zapracovávat změny, opravovat chyby apod. Chyby Požadavky Testy
Metriky a jejich využitíVyužijte informací z ClearQuestu i na projektovém portálu • Komplexní projektové reporty • Veškerá data z ClearQuestu mohou být začleněna do projektového portálu (Rational Project Console a Rational Portfolio Manager) • Jednoduchý přehled všech důležitých projektových metrik • Poskytuje podklady pro projektová rozhodnutí
Vzdálený přístup Různé platformy Možnost přístupu bez licence Ideální pro plánování a reportování testů Webový klient ClearQuestuUmožňuje distribuovaný přístup k plánování a reportování testů
IBM Rational ClearQuest Konfigurovatelný, vynutitelný procesUpravte si sami Váš testovací proces a související workflow • Výhody: • Zajišťuje podporu projektových, firemních, zákonných a dalších pravidel • Konfigurovatelný proces podle specifik projektu s automatizací workflow • Standardizovaný, vynutitelný proces, který odpovídá daným pravidlům • Auditovatelná historie změn • Podpora elektronického podpisu
Automatizované funkční testováníIBM Rational Functional TesterIBM Rational Robot
IBM Rational Functional Tester Nástroj pro automatizované regresní testování Web, J2EE, .Net aplikací, ... Klíčové přínosy Minimalizuje čas při správě testů při změnách testovaných aplikací Sada průvodců přispívá ke zrychlení práce s nástrojem zejména novým uživatelům Neomezené skriptování a kvalitní IDE umožňují zkušeným testerům téměř cokoli Podpora paralelní týmové práce Funkční testování s IBM Rational Functional TesterAutomatizace testů pro nováčky i profesionály
Efektivní automatizace testůTvorba automatizovaných testů se typicky skládá ze 3 kroků Nahrání Rozšíření Spuštění • Nahrávání skriptů • Záznam interakcí uživatele s testovaným systémem • Rozšíření skriptů • Úprava nahraných skriptů vzhledem ke specifickým podmínkám testů • Spouštění skriptů • Ověření, že skript funguje podle požadavků lokálně i vzdáleně
Efektivní automatizace testůNahrávání skriptů • Vytvoření testovacího skriptu, který zaznamená všechny interakce uživatele s testovaným systémem • Testovací skripty jsou nahrávány v době, kdy uživatel proklikává aplikaci • V průběhu nahrávání jsou využívaný verifikační body pro ověření vlastností aplikace • Klíčové vlastnosti nahrávání skriptů • Široká podpora prostředí • Záznam testovacích dat bez programování • Ověření statických dat i jejich vlastností • Ověření dynamických dat bez potřeby programování
Efektivní automatizace testůRozšíření skriptů • Využitím základních programovacích prvků lze zvýšit kvalitu a použitelnost testovacích skriptů • Podporuje skriptování pomocí kódu psaného v jazycích VB.net nebo Java • Typické modifikace: podmínky, větvení, načítání dat z databáze, refactoring apod. • Klíčové vlastnosti rozšíření skriptů • Flexibilní programovací jazyk • Výkonný debugger • Flexibilní mapa objektů • Verzování testovacích skriptů
Efektivní automatizace testůSpouštění skriptů • Skipty jsou spuštěny, rozdíly zaznamenány • Po dokončení běhu skriptů jsou vytvořeny testovací logy – záznamy o běhu testu • Testovací logy obsahuji kromě jiného i rozdíly mezi aktuálními a očekávanými výsledky získanými při prvotním nahrávání testů (resp. upravených dle pravidel pro dynamická data) • Klíčové vlastnosti spouštění testů • Technologie ScriptAssure • Lokální i vzdálené spouštění na různých platformách
Ruční testování s nástrojem IBM Rational Manal TesterOd ad-hoc testování k systematickému a efektivnímu testování • Ne všechno může být otestováno automaticky • Testy spouštěné zřídkakdy • Prostředí, kde by automatizace byla příliš složitá nebo nákladná • Velmi složité grafické aplikace • Integrace hardware nebo například testování ručních kopií • Podporuje analytiky, specialisty i testery • Tvorba detailních testů, které je jednoduché uskutečnit • Minimalizace údržby testů se zachováním jejich konzistence • Snížení rizika lidské chyby při ověření dat Analytici Techničtí i netechničtí testeři
Co je testování výkonnosti? • Snaha najít slabá místa aplikace simulováním reálné, maximální nebo jiné významné zátěže dané přístupem konkrétního počtu uživatelů Automat Testovaný systém
IBM Rational Performance Tester Nástroj pro testování výkonnosti web-based aplikací Klíčové přínosy Produktivní již od prvního dne Rozšířené možnosti při práci s daty Automatická variace a synchronizace vstupních dat Nízké náklady na testování Nízké náklady na zdroje Integrace do vývojového prostředí Výkonnostní testování s IBM Rational Performance TesterAutomatizace testů pro nováčky i profesionály
Vyhledávání pomalu se načítajících stránek • Systém informuje o různých dobách odezvy na každou stránku • Reporty jsou dostupné v průběhu i po skončení testování k jejich analýze
Analýza využití hardwarových prostředků • Současně s aplikací je monitorováno i využití systémových prostředků • Zaznamenává se široká sada monitorovaných údajů
SOA Architect’s View An SOA is composed of multiple layers. At the heart of the SOA are services, components that realize services, and service flows. Service Consumer Consumers Business composition process choreography, business state machines QoS, Security, Management & Monitoring Infrastructure Services Services atomic and composite Governance Data Architecture and Business Intelligence Integration (Enterprise Service Bus approach) Service Provider Service components Data Packaged Application Custom Application Data and function
Consumers Biz.Comp. Atomic Services Service Comp. Data and func. Existing IBM Tools for SOA Quality Management • Test Management • Rational ClearQuest TestManager • End-to-End Testing • Rational Manual Tester • Rational Functional Tester • Rational Performance Tester • Tivoli Composite Application Manager for SOA • Tivoli Composite Application Manager for Response Time Tracking • Service Component Testing • Rational Application Developer • WebSphere Integration Developer
Consumers Biz.Comp. Atomic Services Service Comp. Data and func. IBM Rational Tester for SOA Quality • Funkční a výkonnostní testy webových služeb • Testování obchodní logiky co nejdříve • Před vytvořením uživatelského rozhraní • Testy napříč aplikacemi • Zvýšení prediktability v projektu • Zajištění kvality a výkonnosti klíčových B2B services • Validace Service Level Agreements (SLAs) • Podpora standardů pro Web Services • UDDI, WSDL, SOAP, HTTP, JMS, WS-BPEL • HTTPS, WS-Security • Integrace • Rational Software Delivery Platform (Eclipse) • Change & Release Management (ClearCase, ClearQuest) • Rational Test Management tools (ClearQuest TestManager) • Monitoring tools (Tivoli) Techničtítesteři
Bezpečnostní útoky Náklady na ochranu Web Applications 10% 75% Bezpečnost IT Náklady 90% Network Server 25% Sources: Gartner, IDC, Watchfire Bezpečnostní hrozby a zabezpečení aplikací
Build Coding QA Security Production Bezpečnostní testování a vývojový cyklus SDLC Developers Developers Developers Vyspělost týmů vzhledem k bezpečnosti
Jak probíhá test bezpečnosti Resolve Understand Evaluate
Příklady použití testovacího prostředí IBM v SR a ČR • Potřeba zákazníka • Testování připravenosti k adopci Eura • Testování webových aplikací (intranet, B2B, B2E portály) • Testování klíčové platformy pro stavební spořitelny • ... • Testované technologie • Testování Java, .NET aplikací • Testování WebSphere portálu • Testování Siebel, SAP aplikací • Testování aplikací PowerBuilder • ...
Zajištění kvality aplikacíIBM RationalZdeněk BorůvkaIBM Česká republika