V článku Visual Studio Team Foundation Server 2010 jsem vám představoval Team Foundation Server v aktuální verzi 2010 a jeho báječné využití mini týmy i samostatnými vývojáři. V tomto článku představíme zajímavý přírůstek ve skupině vývojářských nástrojů Visual Studio 2010, a to edici Visual Studio Test Professional 2010. Tato edice totiž může oslovit i zmiňované mini týmy, ba dokonce i vývojáře „solitéry“, má velmi přijatelnou cenu a nabízí funkcionalitu, kterou jinak najdete jen v nejvyšší edici Ultimate. Pojďme si tedy něco říci o testování aplikací a v závěru si ukážeme, co nám z tohoto pohledu edice nového studia přinášejí.
Efektivita
Jednou z oblastí, která může brzdit profesionální vývojářské týmy v práci a zvyšovat režijní náklady, je heterogenita nástrojů. Týmy používají jeden nástroj pro správu verzí zdrojového kódu, druhý pro sledování chyb, třetí pro řízení projektu, další pro návrh architektury, pro testování, a takto můžeme pokračovat dál. Seznam kombinací je nekonečný, což způsobuje, že tým stráví mnoho času údržbou nesourodých nástrojů. Stojí to dost peněz a navíc není jednoduché přijmout nové vývojáře, protože se musí se všemi těmito nástroji seznámit. V mnoha případech všechny nástroje dobře nespolupracují a je potřeba používat alternativní postupy. Ovšem i když žijí vedle sebe celkem dobře, je tu problém se vzájemnou kompatibilitou různých verzí nástrojů. Team Foundation Server a Microsoft Visual Studio 2010 všechny zmíněné problémy odstraňují pomocí sady integrovaných nástrojů.
Microsoft Visual Studio 2010 obsahuje celou řadu metodik, nástrojů a infrastruktury pro podporu kompletního vývojového cyklu softwarových aplikací a pro vzájemnou komunikaci a spolupráci architektů, vývojářů, testerů, vedoucích pracovníků i budoucích uživatelů vyvíjených aplikací. Většina organizací zabývajících se vývojem aplikací se nedívá na vývojový proces jako na kompletní celek. Chytne se do pasti tím, že se snaží optimalizovat pouze jedinou jeho část a sáhne po tom, co je momentálně nejsnáze dostupné.
Team Foundation Server umožňuje sledovat postup prací, evidovat chyby v kódu, řídit zanesení změn do databáze zdrojového kódu, dále umožňuje správu testů a celkové řízení projektu (znázorněno na obrázku). Opírá se o SQL Server 2008 a spolupracuje s produkty Visual Studio, Microsoft Office SharePoint Server, Microsoft Test Manager a Microsoft Expression Blend. Pokud přidáme modul pro prostředí Eclipse (Visual Studio Team Explorer Everywhere 2010), mohou i vývojáři v tomto prostředí využívat stejných výhod jako vývojáři v prostředí Visual Studio. A když tyto nástroje nestačí, je k dispozici úplné aplikační rozhraní, takže si můžete napsat vlastní rozšiřující moduly. Tyto moduly budou bez problémů spolupracovat jak s prostředím Visual Studio, tak i se serverem Team Foundation Server.
Kvalita
Již dlouho je známo, že pokud závady nejsou zachyceny včas, náklady s nimi spojené značně rostou. Přesto až do nedávna nebylo zvykem řadit testery mezi členy vývojových týmů. Nemluvíme přitom o hazardérech, kteří první testy a pokusy dělají až na uživatelích po předání aplikace. I profesionální testování představovalo činnost, která se odehrávala až po dokončení vývoje. Teprve v poslední době si organizace uvědomují, že testeři jsou integrální součástí vývojových týmů. Visual Studio 2010 je plně zapojuje do všech projektů. Nabízí Test Case Management a profesionální nástroj pro správu a spouštění testů Microsoft Test Manager. Tým pro kontrolu kvality může hned na začátku projektu přiřadit přímo k požadavkům jednotlivé testy. Vývojáři tedy vědí, jaké testy budou spuštěny. Později kód otestují testeři, kteří ověří, zda odpovídá kritériím zákazníka. Pro zajištění kvality aplikace existuje mnoho typů testů. Asi 70 % všech testů, které dnes organizace provádějí, tvoří ruční a obecné testy. K dispozici jsou ovšem i jiné typy testů včetně automatizovaných. Pohybují se v rozmezí od standardních testů modulů přes testy výkonnosti až po zátěžové testy. Testeři mohou v průběhu testování získat detailní statistická data a pořídit „videozáznamy“ běhu testů. Záznam o případné chybě je potom takový, že vývojář má k dispozici veškeré informace, které mu pomáhají chybu co nejrychleji odstranit.
Vyhodnocení dopadu změn a relevantních testů je nová funkce, která poskytuje testerům důležité informace. Na základě těchto informací mohou vybrat ty testy, které jsou vzhledem ke změnám, jež v kódu provedl vývojář, nejdůležitější. Pokud dojde ke změně již otestovaného kódu, testeři budou upozorněni a mohou tyto testy znova spustit; tím je možné snížit počet chyb zavlečených při opravách.
Visual Studio Test Professional 2010
Profesionální testeři mají dva hlavní cíle, ověřit kvalitu aplikace a zlepšit ji. Do hry ale vstupuje mnoho problémů, které dosažení těchto jednoduše formulovaných cílů velmi ztěžují. Značné úsilí se vyplýtvá zbytečným opakováním testů, nejasným stanovením jejich priorit nebo kvůli lidskému omylu. Proto je testování často málo výkonné a někdy i neúčinné. Například: co znamená dobrý záznam chyby? Proč je informace nedostatečná pro jeden problém, když je dostatečná pro jiný? Nedostatečný popis chyb narušuje vztahy mezi vývojáři a testery, což spouští sestupnou spirálu v oblasti komunikace a spolupráce. Sada Visual Studio Test Professional 2010 je navržena tak, aby vyplnila mezery, a tím umožnila produkovat software nejvyšší kvality.
Jak reprodukovat chyby
Jedním z důvodů nespokojenosti vývojářů a testerů je fakt, že mnoho chyb se nedá spolehlivě reprodukovat. Pokud nelze chybu spolehlivě reprodukovat, je těžké ji opravit. To vede jednak k „nepřátelství“ mezi vývojáři a testery a také ke ztrátě času, protože tester se pokouší chybu reprodukovat a vývojář se snaží najít nereprodukovatelnou chybu. Nástroje sady Visual Studio Test Professional 2010 dokáží ve většině případů vytvořit takový záznam o chybě, že její příčiny je pak možné dohledat a vyřešit.
Záznam o chybě přímo ke správnému programátorovi
Mocné a přesto praktické nástroje produktu Microsoft Visual Studio Test Professional 2010 umožňují týmům řídit plány testování, spouštět testy, vytvořit akční záznamy chyb nebo ověřit, zda byly chyby odstraněny. Nabízí rovněž možnost sestavit přehledy o různých charakteristikách efektivnosti testování. Nástroje jsou integrovány s Team Foundation Server 2010, vypůjčují si jeho možnosti a dovolují sledovat vztahy požadavků k testům, testů k chybám a chyb ke kódu. Microsoft Test Manager je základem prostředí Microsoft Visual Studio Test Professional 2010. Testovacím týmům umožňuje plánovat testování, připravovat sady testů a mít přehled o jednotlivých testech až k výsledkům konkrétních běhů. Nevyžaduje Visual Studio, neboť se připojuje přímo k serveru Team Foundation Server 2010, který integruje testování rovnou do procesu vývoje a umožňuje snadnou komunikaci mezi vývojáři a testery. Rozhraní nástroje Microsoft Test Manager je moderní a úsporné. Ctí jednoduchý a účinný pracovní postup: plánovat – testovat – sledovat.
Jak si stojí aplikace?
Získat přehled o kvalitě vývoje a aplikace je docela obtížné a náročné na čas a trpělivost. Většinou je to kvůli tomu, že chybí integrace kódu, výsledků testování a požadavků do jednoho systému. Visual Studio Test Professional 2010 plně využívá výhody takovéto integrace a společně s nástroji business intelligence nabízí souhrnné nástěnky o celkové kvalitě aplikace. Tyto přehledy těží z možností služby SharePoint a lze je i zveřejnit pro ty zákazníky, kteří takovéto informace potřebují. K dispozici jsou standardní přehledy, jako je počet neúspěšných testů ve srovnání s počtem úspěšných testů a počtem chyb.
Tento přehled zobrazuje stav testování jednotlivých požadavků systému, počet záznamů o chybách souvisejících s těmito požadavky, jejich stav a vývoj plnění požadavků. Uživatelům stačí letmý pohled a vědí, jaký je počet testů požadavku, kolik testů již bylo spuštěno, kolik proběhlo úspěšně a kolik neúspěšně a také kolik je aktivních, vyřešených a uzavřených chyb jednotlivých požadavků. Pokud toto zkombinujeme s přehledy o buildech a množství změn v kódu, získáme celkový přehled o kvalitě aplikace. Testeři jasně vidí, které oblasti se mají věnovat, aby aplikaci otestovali co nejužitečněji.
Šetřete práci a zlepšete komunikaci
Microsoft Visual Studio Test Professional 2010 dává testerům možnost udělat s menší námahou více. Umožňuje jim soustředit se na to, co je potřeba testovat, a dává jim nástroje pro vytváření akčních záznamů chyb. Redukuje zbytečnou práci, zlepšuje komunikaci mezi testery a vývojáři a výrazně zvyšuje produktivitu. Podstatně redukuje časově náročné aktivity, jako jsou psaní přehledů o chybách, ověřování oprav chyb nebo zjišťování, které testy je potřeba spouštět v rámci sady testů pro zavlečené chyby. V důsledku toho mají testeři více času na řešení složitějších požadavků, jako je náhodné testování, nebo mohou pracovat na dalších testech a pokrýt více oblastí aplikace. Díky sadě nástrojů Microsoft Visual Studio Test Professional 2010 testeři urychlí dodání aplikací zákazníkovi v žádoucí kvalitě.
A to je zřejmě důvodem, proč sem Microsoft začlenil i původně samostatný nástroj Visual Studio Team Lab Management 2010. Ten podporuje automatizovanou správu virtualizovaných prostředí, takže usnadňuje testování softwaru v nejrůznějších konfiguracích. Umožňuje týmům rychle vytvořit laboratorní prostředí určitého stavu pro automatizované spouštění testů a sestavování; rychle nastavit a zase odstranit složité konfigurace, testovat v prostředích podobných tomu produkčnímu a zrychlit cykly sestavování; eliminovat nereprodukovatelné scénáře pomocí snímků (snapshotů) prostředí a zkrátit vývojové cykly díky testům; zjednodušit konfigurace a prohlížení laboratorních prostředí.
Kterou edici zvolit?
Zdokonalená podpora pro testování softwaru patří mezi jedny z nejzajímavějších věcí, na které se Microsoft ve Visual Studio 2010 zaměřil. Asi nejmarkantnější změnou je kompletně předělaná podpora pro psaní, spouštění a správu manuálních testů (tedy testování, které vyžaduje vstup a ověřování lidmi). Jedná se o zdaleka nejběžnější typ testů, které se při vývoji provádějí. Pro testery, kteří jsou zaměřeni na tuto oblast, se vžilo označení „tester generalist“, tedy něco jako „tester obecný“. Je jen přirozené, že rodina produktů Visual Studia se rozšířila a změnila tak, aby těmto testerům poskytla lepší nástroje a testovací frameworky.
Předchozí verze Visual Studia stavěla na poměrně striktně oddělených rolích, ale studiem práce v různých týmech vývojářů se zjistilo, že zejména v menších týmech nejsou tyto role nikdy tak striktně oddělené. Někteří jedinci mohou vykonávat více než jednu roli a v takovém případě lze s největší pravděpodobností očekávat, že takový člen týmu bude používat i více nástrojů – proto integrace testovacích nástrojů v nové verzi Visual Studia doznala takových změn.
Pro rozhodování, kterou edici z pohledu testování pořídit, je dobré vědět, že testeři, kteří se soustřeďují na manuální testování, patrně vystačí s levnější edicí Visual Studio Test Professional 2010, zatímco testeři, kteří mají na starost vývoj automatizovaných testů, by se měli poohlédnout po edici Premium nebo Ultimate. Také členové týmů, kteří mají na starosti správu a monitorování testovacích plánů (například vedení testu), mohou bez obav sáhnout po edici Test Professional.
Každopádně ať si vyberete kteroukoliv součást prostředí Visual Studio 2010, najdete zde jedinečnou integraci testovacích nástrojů, která jednoznačně vede k vyšší kvalitě a efektivitě vytvářeného softwaru.
Visual Studio Test Professional 2010
Tato edice ze skupiny produktů Visual Studio 2010 je primárně zaměřená na testery „generalisty“, kteří budou psát, spouštět a spravovat manuální testy. Obsahuje nástroje Microsoft Test Manager a Microsoft Test Runner, nově sem byl zařazen i nástroj Visual Studio Team Lab Management, podporující testování ve virtuálních prostředích.
Visual Studio 2010 Premium a Visual Studio 2010 Ultimate
Tyto nejvyšší edice obsahují funkcionalitu související s testováním aplikací, která se obrací k testerům „specialistům“. Obvykle se jedná o softwarové vývojáře, kteří se soustřeďují na psaní softwaru určeného na testování vyvíjených aplikací. K tomu patří vytváření testů, které simulují rozsáhlé zatížení kladené na nějakou webovou aplikaci, nebo převod ručních testů na automatizovaný test, který lze spouštět bez lidského zásahu. Visual Studio 2010 Premium zahrnuje výbavu pro psaní testů uživatelského rozhraní (coded UI tests) a databázových unit testů. Nejvyšší edice Visual Studio 2010, edice Ultimate, zahrnuje vše z edice Premium a navíc dává testerům možnost vytvářet webové výkonové a zátěžové testy. Vedle toho tato edice obsahuje vše, co specializovaná edice Visual Studio Test Professional 2010.
Článek vychází z textů společnosti Microsoft a čerpá z českého překladu knihy „Řízení životního cyklu aplikací ve Visual Studiu 2010“, vydaného nakladatelstvím Zoner Press.