Úvod

Spousta lidí, ať už na mých kurzech, přednáškách nebo i setkáních, se mě ptá, co vlastně tester dělá. Jak vypadá jeho běžný pracovní den? Můžu se takovým testerem stát taky? Na tyto otázky se zaměřím v dnešním článku. Cílem je dát odpovědi spíše začínajícím testerům a lidem mimo vývoj, tak aby si dokázali lépe představit co práce testera obnáší. Způsobů, jak tester nebo quality assurance specialista vykonává svou práci je mnoho. Já se pokusím poukázat na to, co je nejběžnější a to, jak u nás tak v zahraničí.

Co dělá tester? 

Co tedy tester vlastně dělá? Odpověď je jednoduchá, testuje. 🙂 No dobře, to jsem to zjednodušil až moc. Tak pojďme na to postupně. Tester pracuje v týmu – vývojovém týmu. Cílem vývojového týmu je vytvořit software, který splňuje požadavky. Požadavky jsou zjednodušeně řečeno to, co software musí dělat, tedy to, co požaduje zákazník (ten kdo za sw platí) nebo uživatel (ten co jej používá). Dále budu už jen používat označení zákazník. 

Každodenní prací testera je ověřit, že to, co programátor a další členové týmu vytvořili obsahuje to, co zákazník chce. K tomu potřebují znát požadavky. Prvním úkolem každého testera je tedy seznámit se s požadavky a pochopit je. Představte si, že váš vývojový tým vytváří třeba nový eshop. Požadavky jsou potom registrace a přihlášení uživatele, zobrazení zboží, vyhledání zboží, vložení zboží do košíku, objednání zboží. Tyto požadavky musí každý tester v týmu pochopit, to se děje např. na plánování, kde také dává svoje odhady časové náročnosti (tzv effort estimation). To znamená, jak dlouho práce bude testerovi trvat. Po plánování se vývojáři pustí do programování a jakmile mají nějakou část hotovou, mohou ji předat právě testerovi na ověření. Tester začne testovat (zkoušet, ověřovat, více ve článku Co je testování softwaru). Pro náš eshop to například znamená, že tester ověří,  jestli se dá registrovat nový uživatel. Když tester zjistí, že při registraci někdy dochází k chybě, musí přijít na to, kdy k chybě dochází. Provádí tzv. analýzu chyby. A zjistí, že k chybě dochází pokud člověk při registraci zadá telefonní číslo s mezinárodní předvolbou, tak mu to nedovolí dokončit registraci. Nahlásí tedy chybu vývojáři, třeba tak, že si s ním o tom promluví nebo zadá chybu do seznamu chyb (typickým nástrojem pro evidenci chyb je Jira).  Vývojář ji opraví a vrátí testerovi. Teď se pustí do další důležité činnosti – ověří, že chyba byla opravena

Pokud takto vyzkouší všechny požadavky a ověří opravy všech chyb, má hotovo a může s úsměvem ohlásit vedoucímu, že nová verze produktu se může předat zákazníkovi (tzv. release).

Tester také píše testovací scénáře nebo dělá průzkumné testování (tzv. exploratory testy).  Často také využívá různé testovací nástroje a testovací techniky k tomu aby si práci usnadnil.

Přehled základní činností testera

  • pochopení požadavků zákazníka/uživatele
  • odhady náročnosti (effort estimation)
  • testování – vykonávaní kroků podle testovacích scénářů
  • testování – exploratory, „hraní si s app“, zkoumání SW produktu
  • návrh testovacích scénářů
  • analýza chyb
  • ověření, že chyba byla opravena
  • poskytuje zpětnou vazbu, komu? vývojářům o kvalitě jejích práce, manažerům o kvalitě celého produktu a celkově všem členům týmu.
  • zaměřuje se na rizika která mohou ohrozit zákazníka/uživatele softwaru

Činnosti pokročilých testerů

  • tvorba automatizace
  • studuje technologie
  • navrhuje změny v architektuře
  • stanovuje strategie jak kvalitu zajistit
  • stanovuje strategie automatizace
  • a další

Omyly a mýty o testerech

Tester jen hledá chyby

Častou odpovědí na to “Co dělá softwarový tester?”  je „Tester se jen snaží najít chyby“. 

Toto je ale velký omyl v přístupu k testování. Ano, tester odhaluje chyby, ale to je až na 2. místě priorit.

Nejpodstatnější je, že tester zjišťuje zda daný software dělá to, co zákazník potřebuje.

Příklad: Představte si našeho testera, který pracuje pro eshop. Jeho cílem není nalézt všechny chyby, ale soustředit se na to, zda se dá zboží vybrat, přidat do košíku objednat a zaplatit. Tedy v podstatě hledá rizika, která budou uživateli nebo zákazníkovi stěžovat online nákup.

Je to nuda, tester je „klikač“

Testování není o klikání. Ano, existují firmy, které nabírají lidi kteří jen klikají podle předepsaných scénářů, takových firem je ale minimum a já sám to nepovažuji za skutečné testování. Testování je neskutečná zábava, pokud máte rádi IT a technologie, pro mě osobně je to práce snů.

Nedá se tím uživit

Plat začínajícího testera je výrazně nadprůměrným platem v ČR i zahraničí. A pokud získáte zkušenosti, jde váš plat rychle nahoru. Uživit se tím tedy dá více než dobře. 🙂

Výhody práce jako tester

Volná pracovní doba – do práce si přijdete kdy chcete. 🙂 Ne, tak skvělé to zase není, ale znamená to, že máte pevně danou část pracovní doby (např od 9 – 13h) a zbytek do 8h můžete pracovat, kdy chcete. Někomu vyhovuje chodit do práce brzy, jiný tam je zase raději navečer.

Práce z domu – v dnešní „Covid“ době naprosto nezbytná věc, ale i před Covidem bylo běžné, že není třeba jezdit do práce každý den.

Plat – protože tester je součástí vývoje a IT, je jeho plat stejně jako u jiných pracovníků vývoje softwaru výrazně vyšší než v jiných profesích

Smysl – větší spokojenost a smysluplná práce – testeři mají větší svobodu a volnost práce. Také se v této profesi uplatní kreativní lidé. 

„Druhy“ testerů (testerské role)

Prosím berte tyto „kategorie“ testerů pouze jako orientační. Spousta firem testery nějak zásadně nerozlišuje a v moderních týmech to ani není třeba.

Může to ale pomoci pochopit do jakých všech oblastí se tester pouští. V závorce uvádím časté alternativní názvy pro danou pozici.

Junior tester

  • začínající tester, který nemá ještě tolik zkušeností a potřebuje dohled a pomoc s testerskou prací
  • obvykle testuje podle testovacích scénářů, identifikuje bugy, sepisuje nové testovací scénáře, které jsou ověřovány zkušenějšími kolegy (review)

Test Analytik

  • tato role bývá často ve firmách které ještě plně nepřešli na agilní vývoj
  • cílem analytika je zjistit požadavky zákazníka a vytvořit testovací scénáře podle kterých pak testeři ověřují kvalitu sw

Manuální tester (tester, quality assurance engineer)

  • v dnešní době se říká, že nic jako manuální tester neexistuje, i přesto se tato role ve firmách objevuje
  • používá se pro testery kteří neprogramují ani se nepodílejí na tvorbě automatických testů
  • píší testovací scénáře
  • testují podle nich
  • využívají exploratory testování

Automatizační tester (automatizační inženýr, test automation developer)

  • jeho hlavním cílem je připravit automatické testy pro zajištění kvality
  • musí umět programovat nebo alespoň základy skriptovacích jazyků (python, javascript, bash…)

Quality assurance specialist

  • je širší pojetí testera a jeho role, kde se obvykle více spojují všechny dovednosti analytika, testera a často i automatizačního specialisty
  • někdy tím firmy také hledají někoho seniornějšího, kdo jim pomůže i s celkovou strategii testování

Senior tester

  • zkušený tester s několikaletou praxí
  • dělá všeho co test analytik a tester + obvykle stanovuje strategii testování a zajištění kvality
  • často bývá také zodpovědný za vedení a kontrolu práce ostatních (pak již není rozdíl mezi Test leadem a senior testerem)

Test lead (Test manager, QA lead, QA manager, vedoucí testování)

  • hlavní tester zodpovědný za vedení jak lidí, tak pracovních cílů
  • stanovuje testovací strategie
  • stanovuje automatizační strategie
  • pracovní cíle všech svých podřízených
  • je také zodpovědný za inovace, nasazená nových nástrojů, postupů, technologii atd.

Pro koho je práce testera vhodná?

Ideálním kandidátem je člověk, kterého baví IT a nové technologie. Rád si hraje se softwarem, s aplikacemi, stránkami. Osobnostně se na to hodí lidé, kteří jsou komunikativnější, perfekcionisté a systematičtí v práci. Také ten, koho baví využívat kreativitu.

Stát se testerem může každý. Pokud o změně kariéry uvažujete a chcete vědět, jak to chodí na pohovoru na testera, doporučuji článek Jak zabodovat při pohovoru na testera. Pokud si ještě na pohovor netroufáte a zajímá vás jak začít, máte několik možností.

  1. Je třeba začít testovat, pustit se do toho. Zkoušet psát testovací scénáře, zkoušet hledat chyby 
  2. Pokud nevíte jak. Začněte hledat na internetu návody, jak se testuje, také tento web je plný takových rad.
  3. Chcete to rychleji? Doporučuji najít kurz, kde vás to naučí. Já sám nabízím kurz Jak se stát testerem, existují ale i kurzy od Czechitas nebo online kurzy v angličtině na Udemy a podobných platformách.