200 likes | 377 Views
Testování aplikací. Michael Juřek Software Architect Microsoft s.r.o. Agenda. Proč testovat aplikace? Funkční testování Zátěžové testování. Stokr át více. Zdroj : Ron Patton , Software Testing, SAMS , 2005. Pro č funkční testování?. Funguje aplikace podle požadavků?
E N D
Testování aplikací Michael JuřekSoftware ArchitectMicrosoft s.r.o.
Agenda Proč testovat aplikace? Funkční testování Zátěžové testování
Stokrát více... Zdroj: Ron Patton, Software Testing, SAMS, 2005
Proč funkční testování? Funguje aplikace podle požadavků? Počítám se všemi alternativami? Fungují nové věci dobře? Nepřestaly kvůli novým věcem fungovat staré věci?
Proč zátěžové testování? Je moje aplikace dostatečně rychlá? Zvládne moje aplikace dostatečný počet uživatelů? Co když bude něco špatně – zvládne to má aplikace? Vydrží moje aplikace pod zátěží dostatečně dlouho?
Agenda Proč testovat aplikace? Funkční testování Zátěžové testování
Definici testování tvoří… Testovací případy(test case) • Mají vazbu na požadavky (requirement, user story) Statické nebodynamické množiny testovacích případů (test suite) Testované konfigurace • Např. Windows XP US, Windows 7 CZ Testovacích plány • Konfigurace sběru dat a dalších věcí • Jeden nebo více testovacích běhů (test run) • Běh tvoří sada testovacích případů, testovací konfigurace a nastavení Spouštění testů z testovacího plánu Sledování průběhu testů a monitorování chyb
Vlastní spuštění testu Vykonává testovací případy Sbírá informace ze systému • Diagnostika, konfigurace, protokol událostí, analýza dopadu Volitelně zachycuje videozáznam a snímky obrazovky Sbírá informace od testera • Výsledky kroků, uživatelské akce, komentáře Formulář pro zadání chyby včetně kontextu Při opakovaném spuštění je možné automaticky vykonat kroky vykonané při prvním spuštění („fast forward“)
Sledování a vyhodnocení testů Průběh testování • Veškerá data ukládána v datovém skladu • Připravené reporty anebo vlastní analýzy Dokumentace chyb • Čím více informací o chybě, tím lepší kontext • Čím lepší kontext, tím větší šance na zjištění příčiny • Vytvořit dostatečné informace ručně je pracné • Automatický sběr dat řeší tento problém
demo Funkční testování aplikace
Virtualizace testovacího prostředí Sdílení kontextu chyby mezi vývojářem a testerem • Pomocí snapshotu virtuálního stroje Výrazné snížení času a pracnosti přípravy testovacího prostředí • Automatické klonování • Samoobslužné vytváření bez nutnosti znalosti virtualizačních produktů Paralelní běh více instancí testovacího prostředí Aneb upoutávka na moji zítřejší prezentaci
Agenda Proč testovat aplikace? Funkční testování Zátěžové testování
Zátěžové testování Mnohonásobné paralelní provádění: • unittestů – testují cokoliv, co je vývojář schopen testovat • web testů – testují web stránky Sběr hodnot přednastavených výkonových čítačů Porovnání hodnot s nastavenými mezními hodnotami Možnost nastavení mixu scénářů, prohlížečů, kvality síťového spojení Flexibilní nastavení zátěže: • Konstantní • Postupné zvyšování • Zvyšování až do splnění nějakého cíle
Do 250 současných uživatelů VSUltimate
Pro tisíce uživatelů… VSUltimate Test Controller Test Agent Test Agent Test Agent Test Agent
Zátěž – unit testy Lze testovat cokoliv, co je vývojář schopen zavolat z kódu: • Výkonnost databáze • Rychlost výpočtů • Rychlost čtení z diskového pole • …
Zátěž – web testy Nahraná posloupnost webových stránek, tj. HTTP komunikace prohlížeč – web server Možnosti: • Validace výsledků • Extrakce hodnot pro další použití • Veškerá HTTP komunikace (web služby, AJAX apod.) • Variace zádavaných hodnot (data-driven test) • Simulace šířky pásma, latence, ztráty paketů • Absolutní rozšiřitelnost průběhu testu
demo Zátěžové testování aplikace
Zdroje a jiné Zkušební verze Visual Studia • http://www.microsoft.com/visualstudio/en-us/download Krátká instruktážní videa • http://www.mstv.cz Pozvání na zítřek: • Testujeme aplikace ve vevirtualizovaném prostředí, 11:20 – 12:20
Závěrem Testování není zadarmo… … ale problémy, které dokáže eliminovat by stály mnohem víc Snižuje rizika Posiluje důvěru a právní jistoty dodavatele i odběratele Kontakt - mjurek@microsoft.com