C# - Testování a ladění aplikací Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí
Ladění aplikace (Debugging) Zkoumání a odstraňování chyb různých úrovní Syntaktické (odstraní kompilátor) Logické (nemusí bránit spuštění programu, ten ale nepracuje korektně) Různá vývojová prostředí poskytují různé prostředky ladění (PHP v notepadu vs. PHP ve Visual Studiu) Prostředky ladění (Debugger, Watches, Breakpoints,…)
Testování Úkolem testování je: zajistit kvalitu výsledného vyvíjeného produktu zajistit shodu se zadáním Nákladná a opomíjená činnost Trendy sběr dat Virtualizační technologie pro simulaci prostředí Automatizace Microsoft support Microsoft support Pro pokročilé Pro pokročilé
Syntaktické a typové chyby
Jsou zobrazeny v editoru v Error list(u) Jejich popis obsahuje informaci důležitou k jejich odstranění C# je case sensitive jazyk tzn.: myintValue x myIntValue jsou dvě různé proměnné Většinou snadno detekované a odstranitelné chyby kódu Provázání Error listu s nápovědou:
Běhové chyby programu Vznikají až za běhu programu: Přetečení mezní hodnoty datového typu proměnných Dělení číslem 0, atd …. Použití zarážky (Breakpoint) na „podezřelém“ kusu programu Insert Breakpoint (F9) Při ladění se na této zarážce běh programu zastaví
Prezentace využívá již naprogramovanou konzolovou aplikaci BMI index Breakpoint je možné smazat, či vypnout :
Debugging start – F5
Okna pro sledování hodnot proměnných Autos – výčet několika posledně použitých proměnných Local - výčet aktuálně zpracovávaných lokálních proměnných Watch - zde můžeme zadat libovolný výraz pro vyhodnocení, nebo proměnnou, kterou chceme sledovat
Krokování programu Step Over – přeskakujeme volané metody Step Into – skáče dovnitř volaných metod
Orientaci v krokování pomáhá Call stack – zásobník volání
Práce s výjimkami Použijte objekt Exception – obsahuje všechny výjimky přes Watches je možné specifikovat vyvolanou výjimku a kód programu upravit tak aby reagoval na konkrétní
Pokročilá práce s výjimkami GUI vizuálního prostředí má dvě možná nastavení – přepněte se do „Expert settings“
Zaškrtněte „Thrown“ – pokud je výjimka vyvolána, je Debuggerem vyhozena při procesu ladění
Výjimky můžeme vyhledat podle klíčového slova a nechat vyhodit Debuggerem jen konkrétní výjimku (v našem případě FormatException)
Díky výše uvedenému postupu se můžete přímo dostat k místu, kde je výjimka vyvolána, ne tedy až do sekce catch To umožňuje odhalit přímo zdroj problému a odstranit chybu v místě jejího vzniku
Úkol 1. Všechny výše uvedené postupy vyzkoušejte na jedné z už vytvořených aplikacích. Záměrně udělejte ve zdrojovém kódu chyby a naučte se používat nástroje k jejich nápravě. 2. Zkopírujte si projekt DebuggerSample, který záměrně obsahuje chyby. Pomocí nástrojů na ladění programového kódu tyto chyby detekujte a pomocí prostředků na odstranění chyb a výjimek upravte zdrojový kód tak, aby program byl plně funkční odolný proti chybám.
18 Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí Použité materiály: Kniha: Programujeme profesionálně, nakladatelství WROX, autor: Jay Glynn,… Seriály o programování v jazyce C# :