Zákazník, který vyvíjí software, se na nás obrátil s dotazem, jaký nástroj bychom doporučili pro jeho testovací tým. Protože zákazník již používal Jiru pro obchodní požadavky a vývoj, zaměřili jsme se na doplňky pro Atlassian.
Zákazník potřeboval nástroj pro menší tým (30 testerů), ve kterém by mohl provádět manuální testy, ale důraz kladl na automatizované testy a snadnou integraci se systémy CI. Z portfolia dostupných nástrojů jsme si vybrali Xray díky jeho uživatelsky přívětivému grafickému rozhraní, mnoha integracím s testovacími frameworky a také široké škále nastavení.
Xray – stručný přehled
Xray je zásuvný modul systému Jira určený pro správu testovacích týmů, řízení testů, testovacích plánů a zaznamenávání výsledků testů. Xray je postaven na předpokladu, že co je možné a má smysl zaznamenat jako úkol JIRA, má vytvořený typ úkolu. Díky tomu je možné mít vlastní nastavení procesů pro úlohy, což může být výhodou zejména při návrhu a plánování testů. V základním nastavení pracuje Xray s následující sadou úloh:
- Test Set – balíček testů, které spolu souvisejí.
- Test – samostatný test
- Pre-Condition – podmínka, která musí být splněna před provedením testu
- Test Plan – plán, který definuje sadu testů, jež mají být provedeny pro určitou verzi
- Test Execution – konkrétní provedení testů a zaznamenání výsledků
Kromě těchto typů úloh můžeme v Xray pracovat s požadavky, jejichž implementaci chceme otestovat. Propojením úloh typu Požadavek s Testy a Testů s úlohami typu Chyba je možné vytvářet mapy pokrytí, kde je možné vidět, který Bug/Test má vliv na který požadavek.
Samotný systém Xray obsahuje různé pohledy na provádění testů. Tvůrce Xray, společnost Xpand IT, dodává také plugin Xporter, který poskytuje možnost reportovat testy také s možností exportovat reporty do formátů .xlsx, .docx, .pdf, .docm, .dotm, .rtf, .odt, .svg, .png. V případě, že spolu s Jirou používáte zásuvný modul EazyBI (blog ZDE), přidává Xray do tohoto zásuvného modulu předdefinované rozměry a naměřené hodnoty.
Začínáme s Xray
Než začneme vytvářet testy v Xray, musíme Xray nastavit. Protože Xray umí pracovat i s propojením s požadavky a úlohami s chybami, doporučuje Xpand IT (tvůrce Xray) vybrat si z následujících nastavení projektu:
- Vše v jednom projektu – v tomto režimu jsou systémové požadavky včetně implementačních úloh, testů a chyb v jednom projektu.
- Oddělit implementační projekt od testovacího projektu – v tomto režimu jsou implementační věci: požadavky, implementační úlohy, chyby v „Implementačním projektu“ a úlohy související s testováním: testy, podmínky, sady testů, plány testů, provádění testů v „Testovacím projektu„.
- Specializovaný projekt pouze pro testy – v tomto režimu jsou 3 projekty: implementační projekt (požadavky, implementační úlohy), projekt s testy (testy, sady testů a podmínky) a projekt pro testování (plány testů, provedení testů, chyby)
- Úplné oddělení – oproti „Specializovanému projektu pouze pro testy“ je v tomto režimu odděleno také zaznamenávání chyb do externího projektu.
- Požadavky v izolovaném systému – toto nastavení umožňuje napájet testy na požadavky, které jsou evidovány v jiných systémech, jako jsou: Enterprise Architect apod.
Po výběru a konfiguraci Xray a testovacího projektu můžeme zahájit fázi návrhu testů.
Navrhování testů
Xray umožňuje zaznamenávat dva typy testů, manuální a automatizované. Tyto testy lze kombinovat do sad testů nebo od verze 3.0 do testovacího repozitáře, kde lze testy třídit do složek. Testy nebo sady testů lze propojit s požadavky, přičemž stav pokrytí testů lze zobrazit přímo na stránce požadavku. Někteří mohou také ocenit možnost přidávat vstupní podmínky pro testy spolu s jejich opětovným použitím pro jiné testy.
Manuální testy se skládají ze seznamu kroků, z nichž každý se skládá z popisu kroku, vstupních dat a očekávaného výsledku. Kroky lze přeuspořádat, odstranit a přidat přílohy. Další výhodou je použití formátování značek wiki pro popis testu i popis kroků, dat a požadovaných výsledků.
Xray také umožňuje zaznamenávat automatizované testy. Speciální kategorií, na které vývojář pracuje, jsou testy Cucumber, kde je přímá podpora skriptování v systému Jira s podporou zvýraznění klíčových slov jazyka Gherkin. Tyto testy lze později exportovat do souborů funkcí Cucumber, které lze spustit v testovacím prostředí.
Ostatní automatizované testy lze vytvářet v systému Jira za předpokladu, že známe identifikátor testu v daném jazyce, nebo jednodušším způsobem – prvotním importem výsledků testu do systému Jira. Xray pak každý další import výsledků daného testu propojí s existujícím testem.
Plánování testů
Plánování se provádí vytvořením testovacích plánů spojených s testy nebo sadami testů, které mají být v plánu testovány. Od verze 3.0 je možné při používání úložiště testů používat zobrazení plánování. V tomto zobrazení je možné přidávat testy z úložiště a upravovat tak plán testů.
Spuštění testů
Abychom mohli v Xray spustit testování, musíme nejprve vytvořit úlohu Test Execution. Pokud jsme testování předem naplánovali prostřednictvím testovacích plánů, je možné takovou úlohu vytvořit přímo z plánu testů. Odkazy na testy obsažené v plánu se automaticky zkopírují do úlohy Test Execution. Pokud jsme testování neplánovali nebo potřebujeme provést testování mimo plán, je možné tuto úlohu vytvořit přímo a přidat do ní požadované testy.
Vlastní provedení testů se u manuálních testů provádí na speciální obrazovce, která se zobrazí po kliknutí na tlačítko Spustit test z úlohy Provedení testu. Na této obrazovce se zobrazí informace o právě prováděném testu s popisem testu, případnými vstupními podmínkami a kroky tohoto testu. Tester má možnost hlásit chyby přímo z této obrazovky nebo po úspěšném provedení testu pokračovat dalším testem přímo z této obrazovky.
Výsledky automatizovaných testů lze importovat přímo do úlohy Provedení testu. Testy, které se nepodařilo spárovat s existujícími testy, jsou automaticky vytvořeny a přiřazeny k danému Test Execution.
Report o výsledcích
Xray obsahuje několik miniaplikací v systému Jira, kde můžete sledovat průběh testování, ale také obsahuje reporty související s testováním, jako jsou: Mapa pokrytí testů, Pokrytí testů v čase, Zpráva o plánu testů, Zpráva o provedení testů a Zpráva o průběhu testů.
S čím vám můžeme pomoci
Na začátku je třeba nastavit Xray. K tomu jsou nutné následující kroky:
- Shromáždění a analýza požadavků na testování – jaké projekty se budou testovat, jak často, jaké jsou cykly vydání, jaká je struktura testovacího týmu atd.
- identifikace přístupů k testování – každý typ projektu má svá specifika, a proto obvykle existuje více typů přístupů.
- sjednocení přístupů k testování – z důvodu zjednodušení řízení Xray je v tomto kroku poměrně důležité redukovat typy přístupů na minimální počet
Na základě těchto kroků můžeme nakonfigurovat Jiru a Xray tak, aby co nejvíce vyhovovaly požadavkům klienta.
Pomáháme klientům integrovat se systémy CI, kde lze dosáhnout reportování výsledků automatických testů přímo do systému Jira po dokončení sestavení na CI.
Maroš Strmenský
programátor/analytik
Kontaktujte nás