Vývoj bez testování je jako auto bez kol

Jak na testovací proces?

Vyvíjíte novou aplikaci, webovou stránku anebo software? Jedním z klíčových bodů celého vývojového procesu je testování. Můžeme dokonce říct, že bez testování by žádný pořádný vývojový proces ani nemohl existovat. Naše zkušenosti v RSM Technology CZ při implementaci ERP systémů nebo implementaci řešení při revizi procesu to jen potvrzují – bez testování se jednoduše neposuneme. Nebo možná posuneme, ale časem, když se do procesu zapojí další uživatelé nebo se řešení dostane k zákazníkům, nastanou problémy.

Všechny aplikace, SW nebo stránky, které jste kdy použili či navštívili, si předtím, než se dostaly k vám, musely projít důkladným testováním. To slouží primárně k tomu, abychom detekovali, našli a opravili možné chyby, zajistili kvalitu testovaného procesu a poskytli uživateli bezchybnou verzi. Developeři samozřejmě testují správnost jednotlivých procesů již během jejich vývoje, ale tento typ testování se liší od testování finálního produktu. Náš newsletter se zaměří na testování software a webové stránky z pohledu budoucího uživatele – tedy na testování a zjišťování potenciálních problémů ve finální verzi, nikoliv v průběhu vývoje produktu. Tento konkrétní proces se nazývá „quality assurance“ neboli zaručení kvality výsledného produktu.

Celý tento proces začíná tvorbou testovacích scénářů. Je důležité, aby testovací scénáře byly dostatečně konkrétní a pro testera (testující osobu) pochopitelné a byly zorganizované do přehledného celku. V ideálním případě by testovací scénáře měly přesně popisovat, jaký úkon má tester udělat, aby zkontroloval, zda je vše v pořádku. Při testování se většinou využívají softwarové programy jako JIRA, Asana a Testrail, kde si můžeme ukládat testovací scénáře, zaznamenávat problémy, na které narazíme a aktivně komunikovat s vývojáři na jejich řešení. Při menších testovacích procesech nebo při testování opravdu specifických procesů můžete vytvořit kvalitní a přehledné prostředí i v Excelu.

Při testování je důležité stanovit si priority, požadavky a cíle, které se od testování odvíjejí. Následující otázky by vám mohly pomoci stanovit si nároky na testování jako takové:

  1. Jak rozsáhlé bude testování? Jakou kapacitu lidí budeme potřebovat?
  2. Je testovaná aplikace/stránka zaměřená na konkrétní okruh lidí s určitými kvalifikacemi? (Je potřeba na testování využít vhodně kvalifikovaných lidí, anebo je tato aplikace/stránka určená pro širokou veřejnost?)
  3. Jaký máme předpoklad na délku testovacího období? Jaký velký rozpočet na to máme?
  4. Máme možnost a kapacitu udělat si část testování sami?
  5. Můžeme vymezit kvalifikovaného člověka na vedení testování, anebo bude třeba někoho na tuto pozici zabezpečit?

Organizace testování může být poměrně stresující – je třeba zkoordinovat skupinu lidi s různými kvalifikacemi tak, aby spolupracovali. Je proto výhodné mít k dispozici člověka, který se v těchto procesech vyzná a zároveň je zběhlý v projektovém a change managementu neboli managementu změn. Projektový management je pro celý proces naprosto zásadní – můžete si testovat, jak chcete, ale pokud testování nemá řád a organizaci, k vytouženým výsledkům se nedostanete. Důležitá je také správná a včasná komunikace a vykazování otestovaných výsledků. A to hlavně ve chvíli, kdy testování vykazuje negativny výsledky, tj. testovací scénáře nejsou úspěšné a je zřejmé, že se někde vyskytla chyba. V takovém případě je potřeba komunikovat s více stakeholdery.

Na základě našich mnohaletých zkušeností s testovacími procesy jsme pro vás připravili přehled základních rad, čemu se vyhnout a na co se naopak zaměřit. Věříme, že pro vás budou užitečné:

Komunikace

Komunikace je samozřejmě důležitá vždy, ale při testovacích procesech je skutečně klíčová. Testeři a vývojáři spolu při řešení detekovaných problémů musí aktivně komunikovat a spolupracovat. Díky tomu se vše vyřeší rychleji a efektivněji.

Správný zápis problému

Možná to zní banálně, ale každý objevený problém je třeba detailně popsat, ideálně doplnit i printscreeny/fotkami či videem. Nám se osvědčila šablona pro zapisování problémů, která se skládá ze tří bodů:

  • Steps to reproduce – zde zapíšete postup, jak se dostat k problému
  • Actual results – zde popíšete, co se stalo, jaký problém nastal
  • Expected results – zde popíšete, co by se stát mělo, pokud by aplikace/stránka fungovala správně

Průběžné testování

Nenechávejte si testování na poslední chvíli. V ideálním případě testujte průběžně už během vývoje. Zabráníte tak časové tísni a přetížení vývojářů – ti budou moci nalezené chyby řešit postupně a díky tomu mohou také zamezit jejich opakování a vršení.

Správná organizace testovaní

Organizace testování je nedílnou součástí testovacího procesu. Bez organizace by se jednalo jen o hromadné nahodilé testování, které by při vyšším objemu dat ztratilo přidanou hodnotu a smysl. Z pohledu organizace dělíme testování do různých skupin. Například při testování aplikací máme skupinu testů pro notifikace, další skupinu pro obsah („kategorie A má 4 pod odkazy a nyní jenom 3“ = bug) a v neposlední řadě pak funkční skupinu („klikne se na tento odkaz a ten nás přesměruje na tento odkaz, pokud ne, vytváří se bug atp.“)

Ať už vyvíjíte software, aplikaci nebo webovou stránku, testování se prostě nevyhnete. Tedy za předpokladu, že chcete mít kvalitní produkt. Proces testování není náročný a nemusíte se ho obávat. Pokud ho dobře zorganizujete, můžete ho ukončit velmi rychle a efektivně. Pokud byste v tomto ohledu potřebovali pomocnou ruku nebo radu, neváhejte se na nás obrátit. Budeme rádi i za vaše zkušenosti s testováním při implementaci nových systémů, aplikací či stránek u vás ve firmě.

Autoři

Zuzana Kubíková

Head of Management Consulting
Zobrazit detail

Daniel Páv

Junior Consultant
Zobrazit detail