Známé manažerské moudro říká, že co nelze měřit, nelze ani řídit. Proces testování je potřeba měřit a řídit stejně jako jiné procesy, protože co není změřeno, často není uděláno a může být jednoduše ignorováno. Proto je důležité, aby byla sestavena sada metrik i pro proces testování. Metrika je dle [ISTQB, 2012c, s. 28] definována jako „rozsah měření a metoda používaná pro měření“. Pomocí vhodné sady metrik je možné kontrolovat, jakým směrem se testování ubírá z hlediska času, rozsahu, nákladů a kvality a včas zasáhnout, pokud jsou zjištěny odchylky od plánu testování. Používání metrik také testerům usnadňuje konzistentní reportování stavu testování na projektu ostatním členům projektového týmu a na projektu zainteresovaným stranám. Metriky testování jsou také obvykle prezentovány na projektových mítincích, kterých se účastní výkonný management.
Je důležité, aby metriky byly správně pochopeny a interpretovány. Nesprávná interpretace metrik může vést k chybným rozhodnutím a nenaplnění mise testování, strategie a cílů. Pro publikaci metrik jsou vhodné grafy, tabulky a různá schémata, ve kterých se lze snadno zorientovat a porovnávat jednotlivé hodnoty v čase nebo podle jiných parametrů.
Výběr konkrétních metrik a způsob jejich získávání, analýzy a reportování závisí na specifikách daného projektu a potřebách jeho členů. Při výběru metrik a stanovování jejich cílových hodnot je třeba zvážit, jak se daná měření využijí. Není účelem navrhnout vyčerpávající sadu metrik, které budou testovací tým jen zatěžovat a které nebudou mít pro řízení testování přínos, ale naopak navrhnout takovou kombinaci metrik, která s minimálním úsilím efektivně pokryje potřeby řízení testování.
Základní metriky, resp. skupiny metrik, které navrhuji sledovat v každém projektu, jsou popsány v následující tabulce.
Základní metriky procesu testování, zdroj: [Hutcheson, 2003; Doležel, 2013a; ISTQB, 2012a, Borovcová, 2008]
Metrika nebo skupina metrik |
Popis |
Pokrytí požadavků testovacími případy |
Při návrhu testovacích případů jsou jednotlivé testovací případy propojovány s požadavky, které pokrývají. Metrika slouží ke sledování nárůstu pokrytí požadavků testy oproti časovému plánu a k finální kontrole, zda před zahájením provádění testů jsou všechny požadavky pokryty alespoň jedním testovacím případem. |
Stav provádění testovacích případů |
Při provádění testů jsou do test logů zaznamenávány výsledky jednotlivých testů. Z výsledků testů je vidět, kolik z připravených testovacích případů již bylo provedeno, kolik z nich skončilo úspěšně či neúspěšně a kolik testovacích případů ještě provedeno nebylo. Tyto informace slouží ke sledování pokroku testování oproti časovému plánu a přispívají k vyhodnocení kvality produktu. |
Hustota defektů na komponentu |
Při vytváření defekt reportů jsou jednotlivé defekty klasifikovány mimo jiné dle zasažené komponenty a závažnosti, viz koncept klasifikace defektů. Rozložení počtu aktuálně otevřených defektů dle závažnosti a podle jednotlivých komponent produktu je užitečným nástrojem pro určování, kam přednostně soustředit úsilí a zdroje na další vývoj a testování na projektu. Terčem zájmu budou ty komponenty, ve kterých je ve srovnání s ostatními komponentami nejvíce defektů vysokého stupně závažnosti. |
Bug fix rate |
Nalezené defekty jsou v průběhu testování postupně opravovány. Bug fix rate vyjadřuje, kolik procent defektů bylo opraveno.
Bug fix rate = (počet opravených defektů / počet nalezených defektů) * 100
V praxi se místo s počtem opravených defektů často počítá spíše s počtem uzavřených defektů, což zahrnuje jak opravené, tak i zamítnuté defekty. [Borovcová, 2008, s. 66] Sledování trendu nalézání nových defektů a uzavírání nahlášených defektů pomáhá zjistit, jak rychle se defekty stíhají uzavírat a zdali jsou více nalézány nové defekty a nebo projekt spěje k vyřešení stávajících defektů a nové defekty už příliš nepřibývají. |
Při sestavování sady metrik konkrétního projektu lze vybírat z širokého spektra metrik různého zaměření. Podle zaměření lze metriky kategorizovat na projektové, produktové, procesní a metriky zaměřené na lidi [ISTQB, 2012a, s. 38]. Projektové metriky měří pokrok testování směrem ke stanoveným výstupním kritériím. Produktové metriky jsou zaměřeny na měření některých atributů produktu, jako je například hustota defektů. Procesní metriky jsou zaměřeny na měření účinnosti procesu testování, jako je například procento defektů detekované testovacím týmem. Metriky zaměřené na lidi hodnotí schopnosti a úsilí jedinců a skupin.
Jiným způsobem klasifikace metrik jsou dimenze, které mohou být předmětem monitorování. Pět hlavních dimenzí, na které se mohou vázat metriky, jsou produktová rizika, defekty, testy, pokrytí a důvěra [ISTQB, 2012a, s. 39]. Metriky založené na rizicích, defektech, testech a pokrytí jsou monitorovány a reportovány na základě objektivních informací z nástrojů pro řízení testování. Důvěra je měřitelná skrze průzkumy a jedná se o subjektivní pocity členů testovacího týmu z průběhu projektu a z kvality produktu, který testují.
Pokročilá měření mohou být zaměřena dále na hodnocení kvality práce testerů a vývojářů, rychlost nalezení a reportování defektů, efektivnost testu, procentuelní přínos testu, cenu hlášení defektu a další charakteristiky.
Podrobné vysvětlení zde uvedených metrik je možné nalézt např. v [Hutcheson, 2003] nebo v [Borovcová, 2008]. Pro načerpání inspirace pro pokročilá měření doporučuji článek „Effective Test Metrics for Strategy Evolution“ [Chen, 2004], který shrnuje měření procesu testování na reálném projektu týmu testování IBM Electronic Commerce Development a analyzuje účinnost použité sady metrik. Měření procesu testování je zde zaměřeno na náklady, čas a kvalitu produktu.