
Má smysl se rekvalifikovat do IT a stát se testerem/QA?
Tuto otázku si možná pokládá mnoho z vás. Objevují se názory, že IT trh je přesycený, avšak realita je přesně opačná. Proč?
Neustálý vývoj nových softwarových aplikací, platforem a digitálních řešení zvyšuje potřebu IT odborníků, včetně těch, kteří zajišťují kvalitu těchto produktů – tedy testerů a QA expertů. Kvalita softwaru je pro firmy prioritou, což znamená, že poptávka po kvalifikovaných testerech a QA expertech je vysoká a stabilní. To poskytuje jistotu zaměstnání a dobré kariérní vyhlídky, a to i do budoucna.
Jak začít jako tester/QA expert?
Na prvním místě potřebujete vědět, jaké dovednosti musí tester umět ovládat. Viz další kapitola. Poté je porovnáte s tím, co aktuálně umíte. To, co neumíte, se musíte naučit. Jak? Můžete se to učit sami z internetu, je to ale na dlouhou dobu a často zabřednete do rad a návodů od méně zkušených “expertů”, kteří se za experty spíše vydávají.
To vás hodně zdrží a proto se nabízí druhá možnost, vyberte si experta, který testování dělá dlouho, rozumí mu a je v oboru považován za špičku. Tedy, že to o něm říkají druzí a ne on sám o sobě. 🙂
Jaké dovednosti Tester/QA potřebuje ovládat?
Všimněte si, že správný dotaz je, jaké dovednosti tester potřebuje ovládat a ne jen znát. Velice často se totiž lidé i firmy zaměřují především na teorii místo praxe. Tedy, je rozdíl si přečíst článek nebo knihu a nebo umět prakticky testovat a vědět co dělat. Toto je častý problém dokonce i vzdělávacích firem, které učí jen teorii místo praxe.
Jaké jsou tedy základní dovednosti každého testera/QA specialisty?
Naprostý základ bez kterého to dál nejde (Level 1)
Umět základy ovládání počítačů
Pokud vás nebaví nové informační technologie, tak do testování nechoďte. 🙂 Protože v tomto oboru řešíte především nové technologie.
Umět sepsat test (test-case)
Dříve (a stále v některých firmách existuje) byla rozdělena role na testery, kteří testují podle předpřipravený scénářů a test analytiky, kteří připravují, co se má otestovat, tedy vytváří test plány a test-casy. V moderních týmech je ale tester/qa specialista zodpovědný za oboje.
Umět analyzovat chyby
Analyzování chyb je jednou z klíčových schopností, které by měl každý tester nebo QA specialista ovládat. Nejde jen o to najít chybu, ale také pochopit, co ji způsobilo a jak ji reprodukovat. Toto zahrnuje schopnost logicky uvažovat a porozumět fungování testovaného systému.
Reportování chyb
V rámci analyzování chyb by měl tester být schopen jasně a srozumitelně popsat problém, ideálně s příklady a kroky, které vedly k jeho objevení. Tato dovednost je důležitá, nejen pro samotné testování, ale také pro komunikaci s vývojovým týmem, který bude na opravě chyby pracovat. Asi nejpoužívanějším nástrojem pro reportování chyb je Jira.
Reportovat výsledky testování
Reportování výsledků testování je nejen o tom sdělit, jaké chyby byly nalezeny, ale především o tom, jak tyto informace mohou pomoci zlepšit kvalitu produktu. Správně zpracovaný a komunikovaný report je nástrojem, který umožňuje celému týmu lépe porozumět aktuálnímu stavu projektu a jeho kvalitě.
Moderní nástroje, jako je TestRail, Zephyr nebo Xray, umožňují testerům efektivně sledovat průběh testování a generovat reporty, které mohou být snadno sdíleny s týmem. Obecně se tyto nástroje nazývají Test Management Tooly (správně česky: „nástroje pro správu testování“😀, což se ale moc nepoužívá).
Znát základní testovací techniky
Práce je moc a vědět, jak testovat efektivně je dnes nutností. Tedy, díky testovacím technikám jste schopni za méně času toho otestovat více. Je dobré znát pojmy a terminologii kolem testování – abyste rozuměli ostatním členům týmu.
Smysl pro detail
Tohle je častá vlastnost lidí, kteří chtějí jít do testingu. Testování a zajištění kvality je především o práci s kvalitou a tak se v tom oboru více daří lidem, kteří mají sklony k perfekcionismu.
Komunikace
V neposlední řadě je důležitá komunikace. Tester/QA specialista musí být schopný efektivně komunikovat nejen s ostatními testery, ale i s vývojáři, projektovými manažery a dalšími členy týmu. Jasná a stručná komunikace je klíčová pro úspěšné odhalování a opravování chyb, stejně jako pro zajištění, že všichni v týmu mají stejné pochopení pro to, co se testuje a jaké jsou očekávané výsledky.
Pro výuku a trénink těchto dovedností jsem vytvořil speciálně kurz Jak se stát testerem, tento kurz vznikl, protože velké množství lidí se mě ptalo, jak se stát testerem. Co se mají naučit, jak se to mají naučit a jak to mají trénovat. Strávil jsem několik let vylepšováním tohoto kurzu, aby se díky němu dostal do IT a testingu každý, kdo o to vážně stojí. Více jak 70% účastníku kurzu získalo práci testera/QA experta.
Nejnovější akce
Algoritmické uvažování a programování (Level 2)
Začněme se zásadní otázkou: “Musím jako tester umět programovat?” Nemusíte. Je to ale nutnost pokud chcete automatizovat testy. A také to může být výhoda, protože algoritmické uvažování vám pomůže při řešení spousty odborných problémů a také vám usnadní komunikaci s programátory. Dá se programování naučit i pokud nemám, žádné zkušenosti? Ano, dá a ve většině případů stačí jen základy:
- základy algoritmizace
- algoritmizovat problémy
- syntaxe jazyka, jak se program zapisuje
- umět pracovat s proměnnými
- umět problémy vyřešit pomocí podmínek
- umět problém vyřešit pomocí cyklu
- umět komentovat zdrojové kódy
- umět přepsat problém do programátorské funkce
- umět využívat již existující programátorské knihovny
Jaký programovací jazyk zvolit? Pokud se naučíte jeden, naučit se další, již není tak složité. Volba jazyka, tedy není až tak zásadní. Pro začátek ale doporučuji jednodušší programovací jazyky, které vám odpustí některé chyby začátečníků, mezi top dnes patří Python. Podobně je ale dobrou volbou i Java Script nebo Type Script. Podotýkám, že se stále bavíme o testerské profesi.
Pro výuku základů programování a to i bez praxe jsem vytvořil kurzu Jak se naučit programovat
Verzovací systém (Level 3)
Pokud chcete automatizovat testy nebo vytvářet různé pomocné skripty, případně pracovat s testovacími daty ve větších skupinách testerů. Je nutné umět ovládat verzovací systém. V dnešní době je nejpoužívanější GIT.
Co byste měli umět:
- vědět co je GIT a GitHub a jak je používat
- umět se připojit k repozitáři a pracovat s ním
- umět díky GITu spolupracovat na zdrojových kódech
- znát základní příkazy GITu
- umět synchronizovat lokální a remote repozitáře
- umět přidávat, mazat a editovat soubory v GITu
- vědět kdy použít merger a kdy rebase a jak řešit konflikty verzí
- umět pracovat s GITem v IDE (např. PyCharm nebo Visual Studio Code)
A jak v předchozích kapitolách, tak i pro tuto dovednost, jsem pro vás připravili krátký kurz: Jak ovládat GIT, který vás všechny potřebné dovednosti naučí prakticky.
Automatizované testování (Level 4)
Pokud se rozhodnete, že se chcete naučit automatizovat testy. Prvně musíte ovládat prakticky všechny předešlé dovednosti (Level 1 – 3). Bez předchozích znalostí, by vám tento level zabral velké množství času a nejspíš nevedel k úspěšnému konci, tedy pracovat jako tvůrce automatizace testů. Není nutné být super dokonalý programátor, abyste začali automatizovat testy. Důležité je umět následující:
- vědět co je automatizovaný test a jak se vytváří
- vědět jaké nástroje k tvorbě použít
- umět psát automatické testy pro GUI i pro API
- umět psát automatické testy pro weby nebo desktopové aplikace nebo mobilní aplikace, není nutné umět vše stačí si vybrat jednu oblast
- umět postupy jak automatizovat, je třeba vědět jaké jsou základní strategie
- umět vyhodnocovat automatické testy – chyba v automatické testu nutně nemusí znamenat chybu v produktu ale může se jednat o chybu v samotné automatizaci. Je důležité umět rozpoznat co chyby způsobuje.
I pro tuto dovednost jsem pro vás připravil kurz Jak automatizovat testy, který vás všechny základní dovednosti naučí a to postupně na praktických úlohách.