Odborníci v oblasti testování a kontroly jakosti mají dva hlavní cíle, ověřit kvalitu aplikace a zlepšit celkovou kvalitu software. Avšak nadbytečné opakování testů, nejasné stanovení jejich priorit nebo lidský omyl vyplýtvají zbytečně mnoho energie. Sada nástrojů Visual Studio Test Professional 2010 umožňuje dosáhnout tyto cíle účinně a efektivně. Nabízí ideální testovací a diagnostické nástroje pro vytvoření vynikajících řešení a pro kvalitní komunikaci. Analyzuje rezervy týmů a poskytuje klíčové funkce pro integraci. Díky tomu jsou týmy produktivnější a ze životního cyklu aplikace ubude balastu.
Na této stránce:
Profesionální testeři mají dva hlavní cíle, ověřit kvalitu aplikace a tuto kvalitu zlepšit. Do hry ale vstupuje mnoho problémů, které dosažení těchto cílů velmi ztěžují. Značné úsilí se vyplýtvá zbytečným opakováním testů, nejasným stanovení jejich priorit nebo kvůli lidskému omylu. Tyto obvyklé problémy způsobují, že testování je málo výkonné a někdy i neúčinné. Například co znamená dobrý záznam chyby? Proč je jeden záznam chyby akční a jiný ne? 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. Toto je však jen jedna ze stránek testování. Ani na kvalitu aplikace neexistuje celistvý pohled, proto vývojáři často zápolí s hlášeními o kvalitě. Takovéto mezery má mnoho týmů. Sada Visual Studio Test Professional 2010 je navržena tak, aby tyto mezery vyplnila, a tím umožnila produkovat software nejvyšší kvality.
Mnoho chyb nebylo možné spolehlivě reprodukovat
Jedním z důvodů nespokojenosti vývojářů a testerů je fakt, že mnoho chyb není možné spolehlivě reprodukovat. Pokud není možné chyby spolehlivě reprodukovat, je těžké je opravit. To vede k nepřátelství mezi vývojáři a testery a také ke ztrátě času, protože testeři se pokouší chybu reprodukovat a vývojáři se snaží najít nereprodukovatelnou chybu. Pokud testeři nejsou schopni dodat akční záznam chyby, vývojáři si jejich práce neváží. Microsoft Test Manager 2010, základní testovací nástroj sady Visual Studio Test Professional 2010 (je rovněž součástí prostředí Visual Studio 2010 Ultimate), dokáže ve většině případů vytvořit akční záznamy chyb, jejichž příčiny je možné dohledat a vyřešit.
Běžným důvodem, proč chyby nelze reprodukovat, je kvalita záznamů. Správné vytvoření záznamu vyžaduje určitý čas, a to i tehdy, kdy je k dispozici dostatek informací. V mnoha případech ale testeři nemají dostatek informací a nemohou si pamatovat vše, co udělali. Toto je znát zvláště tehdy, kdy tester dělá náhodné testování a nemá přesně stanovenou sérii kroků. Čas je v testování kritickým činitelem.
Reprodukovat chybu je ještě mnohem obtížnější v situaci, kdy ji způsobí určité konkrétní nastavení prostředí. Pokud problém způsobuje jeden parametr v určitém prostředí a pokud vývojář nemá možnost přístupu k tomuto konkrétnímu prostředí, šance na reprodukci problému se ještě zmenšují. Důvodů je více, ale jeden z nich je evidentní. Vývojář nemá přístup k zařízení, na kterém test běžel, ani nezná jeho charakteristiky.
Jeden testovací manažer upozornil ohledně testerů na toto: „V době, kdy by měli dělat víc věcí, stráví značné množství času testováním téže funkce znova a znova, protože jsou nuceni vracet se a ověřovat opravy chyb.“ Testeři mají k dispozici pouze omezený čas. Proto musí být co nejvýkonnější a měli by spouštět jenom ty testy, které s velkou pravděpodobností odhalí chyby. Někdy vývojáři změní kód jen nepatrně a testeři potřebují prostředek pro vyřazení těch testů, které změnou kódu pravděpodobně nebudou ovlivněny. Při tak velkém počtu testů a tak krátkém čase se testeři někdy nedostanou k těm testům, které jsou nejkritičtější.
Záznam o každé chybě přijde nyní přímo k zodpovědnému programátorovi
Microsoft Visual Studio Test Professional 2010 nabízí nástroje pro řešení všech problémů, které zde byly zmíněny. Tyto mocné a přesto praktické nástroje 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í. Protože tyto nástroje jsou součástí serveru 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. Pro sestavení přehledů jsou k dispozici také vyspělejší prostředky datového skladu a analytické kostky. Jak to však zvýší výkonnost testerů?
Microsoft Test Manager (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. Místo toho se připojuje k serveru Team Foundation Server 2010, který integruje testování přímo do procesu vývoje a umožňuje snadnou komunikaci mezi vývojáři a testery. Toto je onen nástroj, pomocí nějž testeři spouští jednotlivé testy, vytvářejí záznamy o chybách a ověřují opravy chyb. Pomáhá zvýšit jejich výkonnost při vytváření akčních záznamů chyb.
Rozhraní nástroje Test Manager je moderní a úsporné. Je navrženo stylem pracovního postupu plánovat - testovat - sledovat a dává tak možnost orientovat se na nejčastější požadavky. Na obrázku 1 je zachycen Test Manager v módu Plan.

Obrázek 1: Rozhraní nástroje Microsoft Test Manager 2010 ve stylu pracovního postupu plánovat - testovat - sledovat
Co znamená akční záznam chyby? Z pohledu vývojáře je rozhodující vědět, jaké kroky testera vedly k chybě. Potřebuje znát data zadaná do aplikace, nastavení prostředí, ve kterém test běžel, a konkrétní sestavení software, se kterým test proběhl. Ruční zadávání těchto informací je časově náročné a chybové, což je důvod, proč tradiční metody selhávají. Test Manager vám tuto práci ušetří a udělá ji za vás. Na obrázku 2 jsou zachyceny kroky pro reprodukci chyby, jejíž záznam byl vytvořen tímto nástrojem.

Obrázek 2: Kroky pro reprodukci chyby, jejíž záznam byl vytvořen
nástrojem Test Manager 2010

Obrázek 3: Kroky pro reprodukci chyby (pokračování)
Jak vidíte, vývojář přesně ví, který test běžel (chyba je připojena k testu), které kroky proběhly úspěšně a které neúspěšně. Součástí tohoto testu bylo pořízení videozáznamu (videozáznam je jen jedním z datových kolektorů, které má tester k dispozici). Záznam je časově indexován až do místa, kde došlo k selhání, takže vývojář může přesně zjistit, co se stalo. Tester přiložil také snímek obrazovky s chybou, která je spojena s konkrétním krokem ve videozáznamu.

Obrázek 4: Informace o systému je do záznamu chyby
zachycena automaticky

Obrázek 5: Zachycené iterace datově vázaného testu
využije funkce rychlý pohyb vpřed pro ruční testování
Pokud tester vytvoří záznam o chybě, má vývojář přístup také k dalším informacím. Jde o informace, které získaly na pozadí datové kolektory. Například na obrázku 4 jsou údaje o testovaném systému.
Avšak pro organizace nebo pro testování samotné mohou být důležitá i jiná data. Jestliže uvedené údaje nestačí, lze vytvořit další kolektory dat, které požadované informace získají. Datové kolektory poskytují rozvinuté diagnostické prostředky, proto je možné pomocí jednoduchého mechanizmu rozšíření zachytit ze zařízení jakékoli informace.
Test Manager dále nabízí novou funkci zvanou IntelliTrace™, která zaznamenává průběh celé relace ladění testované aplikace. Vývojář může doslova přehrát relaci testování a projít tak jednotlivé kroky i bez spuštění aplikace. Vidí tedy nejen konečný výsledek, což je záznam o chybě, ale díky funkci IntelliTrace™ také všechny hodnoty všech proměnných a všechny výjimky, ke kterým v průběhu testu došlo.
Celý proces je možné udělat ještě elegantnějším, a to díky začlenění nástroje Lab Management. Tento nástroj urychluje nastavení, odstranění nebo obnovení komplexního virtuálního prostředí do výchozího stavu. Problém nereprodukovatelných chyb řeší tím, že testerům dovoluje vytvořit podrobné záznamy o chybách s odkazy na kontrolní body. Tyto slouží vývojářům k reprodukci chyb v komplexním prostředí. Stačí jedno kliknutí a vývojář může spustit virtuální prostředí, které přesně odpovídá tomu, v němž byla nalezena chyba. Umožňuje automatickou konfiguraci virtuálních počítačů, automatické nasazení a ověření sestavení, a tím výrazně rozšiřuje možnosti automatizace. Takovýto přístup týmům umožňuje, aby se v dnešním náročném světě měnily a staly se agilnějšími.
Jak bylo zmíněno dříve, testeři tráví příliš mnoho času testováním téhož znovu a znovu. Důvodem je nutnost ověřit opravy chyb a otestovat možný výskyt nově vytvořené (zavlečené) chyby. Test Manager redukuje čas, který je k tomu potřeba. Účinnost a výkonnost zvyšují dva základní prostředky, rychlý pohyb vpřed pro ruční testování a vyhodnocení dopadu změn a relevantních testů. Tyto prostředky redukují čas, který je potřeba k ověření oprav chyb, přičemž je zachována opakovatelnost. Testeři proto mohou v daném časovém intervalu ověřit mnohem více oprav.
Pomocí nástroje Microsoft Test Runner zachytává Test Manager iterace testu řízeného daty při prvním průchodu. Tyto zaznamenané a s daty svázané akce používá v následných průchodech funkce rychlý pohyb vpřed pro ruční testování, která vás rychle dostane tam, kam potřebujete.
Co se stane v situaci, kdy vývojář neúmyslně vytvoří (takzvaně zavleče) novou chybu? Jak testeři zjistí, co mají testovat? Zde zazáří integrace testovacích a vývojových nástrojů ve formě funkce vyhodnocení dopadu změn a relevantních testů. Není potřeba celé hodiny nebo dny zjišťovat, které testy je nutné spustit. Stačí se podívat do seznamu testů doporučených v důsledku změn v kódu. Snadno poznáte, se kterými chybami je v daném sestavení potřeba se vypořádat. Není nutné plýtvat časem ani energií, a přitom máte možnost správně rozhodnout o tom, kdy začít používat nové sestavení.
Podávat hlášení o kvalitě aplikací je obtížné. 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 obchodní logiky nabízí souhrnné nástěnky celkové kvality aplikace, které jsou do systému vestavěny. Tyto přehledy těží z možností služby SharePoint a lze je 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ým testům a počtem chyb. Kvality aplikací se týká celkem patnáct standardních přehledů. Jedním z nejpodmanivějších je přehled scénářů Stories Overview (znázorněn na obrázku 5), a to kvůli své schopnosti nahlížet na sloučená data z různých pohledů.

Obrázek 6: Příklad přehledů testování
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 sestaveních 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ějším způsobem.
Zredukuje zbytečnou práci a zlepšete komunikaci mezi testery a vývojáři
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 ještě více přispívají k dodání kvalitních aplikací zákazníkovi.