Vývojářské týmy stráví více než polovinu veškerého produktivního času na odstraňováních chyb softwaru, které byly v průběhu jeho vývoje do produktu zavlečeny nebo zjištěny v průběhu jeho nasazení a používání. Naučte se tuto dobu minimalizovat a tvořte již od začátku kvalitní software.

1. Vyberte správnou metodiku
Je vlastně jedno jakou vyberete, ať již formální jako je CMMI nebo agilní, např. Scrum. Vždy si však všímejte části „testování “. Pokud někde chcete ušetřit na zdrojích, pak vězte, že zde není vhodné místo. Na začátku možná trochu ušetříte, ale celkově nikoliv. 

2. Použijte jednotnou infrastrukturu pro podporu životního cyklu aplikací
Vývoj není jen programování. Je třeba řídit celý jeho cyklus a k tomu používat jednotné nástroje, které pomáhají a nepřidělávají práci. Je možné sestavit vývojovou infrastrukturu z pěti různých navzájem méně či více provázaných produktů a replikovat data mezi nimi. Jen si dejte pozor, aby vám jejich správa a rozšiřování nedalo více práce než tvorba vašich aplikací.   

3. Používejte vývojářské IDE které vám pomáhá psát bez syntaktických chyb
Napsat aplikaci lze i pomocí Notepadu nebo vi editoru. „Lepší Notepady“ zvýrazňují syntaxi používají makra atd. Pro rychlou tvorbu kvalitního kódu však potřebujete něco navíc. Hledejte nástroje, které obsahují inteligentní syntaktickou nápovědu spojenou s automatickým dokončováním. U Visual Studia se jmenuje IntelliSense.

4. Nechte si otestovat kód dříve než ho uložíte nebo spustíte
Dalším stupněm zajišťující kvalitu kódu je Statická analýza. Slouží k identifikaci možných problémů ještě před spuštěním aplikace – od celkem banálního nedodržování jmenných konvencí až po konstrukce, které mohou mít negativní vliv na stabilitu a bezpečnost produktu. Při integraci Visual Studia se serverovou částí můžete povolit uložení nové verze zdrojového kódu do TFS úložiště pouze po úspěšným proběhnutí statické analýzy, případně můžete provádět statickou analýzu jako součást automatického buildu.

5. Unit testing – nezbytnost
Každý vývojář by měl být schopen dodávat vyzkoušené a ověřené dílčí bloky nebo jednotky. Ověřování nezávislé a správné funkčnosti malých dílčích částí neboli jednotek zdrojového textu se nazývá Unit testing – testování jednotek. Visual Studio obsahuje unit testy přímo v sobě a to i pro databázové projekty, není třeba žádných doplňků. Vše je navíc velmi komfortně integrováno.

6. Ověřte pokrytí kódu testy - Code Coverage
Jedním z indikátorů kvality testů je to, kolik kódu se testy pokryje a otestuje. Tento indikátor se nazývá Code Coverage. Probíhá jako simulace skutečného nasazení aplikace, monitoruje provádění programu a zjišťuje, kolik procent kódu bylo ověřováno, případně které části nebyly nikdy spuštěny a testovány.

7. Analyzujte výkon pomocí profiling nástrojů
Visual Studio Profiling Tools umožňují testovat, měřit a ověřovat výkonové parametry aplikací a hledat slabá místa v kódu a vytížení operačního systému nebo jiných komponent. Jsou plně integrované do IDE prostředí Visual Studia.

8. Zaveďte pravidla a měřte kvalitu kódu aplikace
Prostředky Code Metrics Tools slouží pro měření indexu udržovatelnosti kódu. Pomáhají kvantitativně měřit a porovnávat jednotlivé části řešení a jsou důležitým indikátorem pro velikost budoucích nákladů.

9. Manuální testování UI a dohledatelnost chyb
Uživatelské prostředí aplikace je první věc, se kterou se běžný uživatel setká. Nepodceňujte manuální testování funkčnosti UI. Pomocí Visual Studia Test Professional dokáže tester zaznamenat jakoukoli chybu a ve spojení s TFS ji velmi rychle předat vývojáři k opravě, a to včetně různých forem dokumentace chyby – od videozáznamu až po odkrokované provádění programu.

10. Automatizace testů ušetří čas a práci
Všechny testy, které ve Visual Studiu tvoříte, jdou připravit pro jejich automatické spouštění. Mohou to být jak unit testy tak i zaznamenané funkční testy UI. Samozřejmě můžete parametry a vstupní hodnoty plnit z databáze.

11. Nezapomeňte na Load testing  - zátěžové/výkonové testování
Mnoho společností nyní tvoří webové aplikace, ale neprovádí ověřování jejich výkonu vzhledem ke konfiguraci celého systému. To vede často k výkonnostním problémům po nasazení do produkce a dodatečnému velmi drahému rozšiřování HW vybavení. O co levnější a produktivnější by bylo pustit celý systém pod simulovanou zátěží tisícovek virtuálních uživatelů a odstranit slabá místa v architektuře aplikace již v prvních fázích vývoje.

12. Komplexní pohled na aplikaci a systém  v daném okamžiku
Intellitrace - možnost zaznamenávat komplexní stav aplikace v definovaných okamžicích, například při stisknutí tlačítka, čtení z disku nebo provádění konkrétního databázového dotazu. Tyto informace pak využije vývojář pro diagnostiku případných chyb a detailní debugging. Je vhodný zejména pro netriviální chyby, jejichž příčiny nastala dlouho předtím, než se projevily.

13. Kontrolujte kvalitu automaticky – zaveďte průběžnou integraci (Continuous Integration) nebo alespoň denní buildy
Používejte systém průběžné integrace nebo denních buildů vašich aplikací, který je plně integrovaný s repository zdrojových kódů, požadavků, testů a všech dalších položek projektu. Kvalita je tak kontrolována průběžně a problémy s kvalitou jsou odhaleny velmi brzy

14. Virtualizované prostředí pro profesionální testery - již nikdy více „NoRepro“ bug
Dohledat chyby a odstranit je v složitém a distribuovaném prostředí nebylo nikdy jednodušší.  Visual Studio Lab Management umožňuje týmům rychle vytvořit testovací prostředí pro nasazení aplikace a automatizované spouštění testů, testovat v různých verzích a konfiguracích a eliminovat nereprodukovatelné chyby pomocí virtuálních časových snímků (snapshotů).

15. Zkušební prostředí pro akceptační testy hotových aplikací 
V mnoha scénářích je třeba poté, co aplikaci vyvinete, ji nasadit do ověřovacího provozu běžným uživatelům a v praxi zjistit, že vše funguje jak má, a uživatelé jsou s ní spokojeni. Tento provoz však může mít dlouhodobější charakter a mnoho firem si udržuje paralelní testovací prostředí vedle svého produkčního. Toto je však potřeba také zalicencovat! Vývojáři s MSDN to mají mnohem jednodušší…

Nevíte jak začít?
Zúčastněte se série on-line seminářů o testování „Leden – měsíc testování aplikací". Bude se zabývat mnoha výše uvedenými aspekty testování aplikací.
1x týdně, vždy v úterý odpoledne, živá on-line prezentace a live ukázky i odpovědi na otázky z publika přímo na místě. Navíc malý dárek - účastníci, kteří se zúčastní alespoň 4 z 5 setkání, od nás obdrží českou knihu Řízení životního cyklu aplikací ve Visual Studiu 2010.

Srdečně vás zveme k účasti na tomto unikátním online školení, zaregistrovat se můžete zde.