Testing je oblast IT, ve které se uplatníš, ať už máš juniorní nebo seniorní dovednosti. Je to typická vstupní pozice nováčků v IT a když se budeš snažit, máš se pořád kam posouvat. Pokud ti nechybí analytické myšlení a těší tě spolupráce a komunikace s dalšími lidmi, bude se ti testing líbit. V tomto článku se dozvíš, co to takový software testing je, co všechno musíš na tuto pozici znát a proč je to tak důležitá role.
Software testing je způsob kontroly kvality a minimalizování potenciálních škod. Úkolem software testera je najít chyby a způsoby, jak „rozbít“ daný produkt. Ano, čteš správně! Je totiž mnohem lepší a pro firmy levnější, když se nevyžádané chování produktu objeví ještě ve výrobě a ne až v okamžiku, kdy ho začnou používat zákazníci.
Testování softwaru je v dnešní digitální době nepostradatelná součást jakéhokoliv vývojového procesu. Čím dřív se testerovi podaří chyby a problematická místa najít, tím levnější je pro klienta výsledný produkt. Opravit defekt den po vývoji, když má vývojář kód ještě v živé paměti, je o dost jednodušší, než když se na chybu přijde až v produkci nebo používáním aplikace či produktu.
Ať už totiž jde o web, streamovací služby nebo dlouho očekávanou počítačovou hru, nároky uživatelů se zvyšují s každým technologickým pokrokem. A pokud je takový produkt po zpřístupnění veřejnosti vysoce chybový, klesá spokojenost i důvěra uživatelů a důsledkem toho prodeje. V důsledku tím firma ztrácí na hodnotě. Jednoduše řečeno – všechno špatně.
Jako junior SW tester obvykle budeš provádět základní testovací činnosti, jako jsou:
Učíš se používat různé testovací nástroje a softwary pod dohledem zkušenějších kolegů. Zapisuješ výsledky testování a pomáháš v přípravě testovacích protokolů a dokumentace. Účastníš se schůzek týmu, kde se učíš od ostatních a reportuješ o svých postupech a výsledcích. Ve zkratce. 😊
Jako seniorní tester budeš mít na starosti plánování testovacích strategií a metodologií.
Na pozici SW seniora rozvíjíš testovací plány a definuješ cíle testování na základě požadavků projektu. Podílíš se na vývoji nebo zlepšování automatizovaných testovacích skriptů a procesů, což zahrnuje programování v testovacích jazycích jako je Python, Java, nebo použití nástrojů jako Selenium.
Kromě toho můžeš vést tým testerů, distribuovat úkoly, provádět revize kódu a být hlavním komunikačním bodem pro ostatní oddělení.
Seniorní SW testeři také analyzují a řeší složitější problémy a bugy, které vyžadují hlubší technické znalosti. Případně mentorují a školí juniorní testery a pomáhají rozvíjet jejich dovednosti.
💡 Obecně se dá říct, že juniorní testeři se soustředí na získávání základních dovedností a vykonávání definovaných testovacích úkolů. Zatímco seniorní testeři přebírají více strategických, vedoucích a technicky náročných úkolů, které vyžadují hlubší znalosti a zkušenosti. |
Kromě toho, že mnoho firem má svoje vlastní testerské oddělení, existuje na trhu i spousta společností, které jsou zaměřené výhradně na testing. Takové firmy pak můžou svoje zkušenosti a know-how nabízet jako ucelený servis vývojovým společnostem, které jednoduše nemají kapacitu nebo prostor pro zavedení vlastních test procesů.
Jednou z firem, která má významné testerské oddělení, do kterého navíc hledá šikovné talenty 😉, je třeba KBC. Kromě jiného se soustředí na testování, aplikační podporu a vývoj pro banky a pojišťovny KBC a ČSOB v Belgii, Bulharsku, České republice, Maďarsku a na Slovensku.
Testing může být specificky zaměřený na designové prvky projektu, na bezpečnostní nebo pouze na funkční prvky vyvíjeného produktu. Může jít o úzkou spolupráci s vývojáři (hledání chyb v kódu) nebo o tzv. end-to-end proces, kdy je produkt testován z pohledu koncového uživatele – od otevření vyvíjeného e-shopu přes výběr produktu až po samotný platební proces.
Software tester a quality assurance tester se často zaměňují, byť je mezi nimi drobný rozdíl, a to hlavně v zaměření a rozsahu odpovědnosti.
Rozdíly v náplni práce SW testera a QA testera | ||
SW tester | QA tester | |
Fokus | Primárně se soustředí na provádění testů softwaru. To zahrnuje nalezení chyb (bugs), testování funkcionalit a ověřování, zda software splňuje stanovené požadavky. | Má širší záběr, který zahrnuje nejen testování, ale celkové zajištění kvality softwarových produktů. Zabývá se procesy, které pomáhají předcházet chybám, nejen je identifikovat. |
Úkoly | Obvykle vykonává manuální testy, vytváří a provádí testovací scénáře, používá softwarové nástroje k automatizaci testů a reportuje výsledky svých testů (chyby a problémy) vývojovému týmu. Po opravách prověřuje, zda byly chyby opraveny. | Kromě provádění testů může pracovat na vytváření a udržování dokumentace, sledování soudržnosti procesů, zlepšování pracovních postupů a spolupracovat s různými týmy (například s vývojáři a provozními týmy) ke zlepšení kvality produktu. |
Cíl | Cílem je identifikace chyb v softwaru před jeho vydáním, aby se zajistila funkčnost a spolehlivost produktu. | Zajistit, že celkový vývojový proces je efektivní a že konečný produkt splňuje všechny požadavky a očekávání zákazníků v oblasti kvality. |
V praxi se role SW testerů a QA testerů mohou prolínat, obzvlášť v menších týmech nebo firmách. Větší organizace a složitější projekty s větším rozsahem naopak mají jasněji definovány rozdíly mezi SW testery a QA testery.
Už víš, že existuje drobný rozdíl mezi testerem softwaru a QA testerem. Existují ovšem i další testerské pozice. Najdeš je napříč celým trhem a různými sektory jako je bankovnictví, streaming, vývoj webů či aplikací, herní průmysl a spoustu dalších. A jaké jednotlivé pozice můžeš v praxi potkat?
Každá pozice může mít v různých firmách odlišné specifikace a požadavky. Zatímco na ty první můžeš dosáhnout i s menšími IT znalostmi, u těch posledních jmenovaných se většinou jedná o seniornější pozice. Je s nimi spojená vyšší zodpovědnost za testovací procesy i třeba odpovědnost za vlastní testovací tým přiřazený ke konkrétnímu projektu. Když se ale budeš snažit, určitě se můžeš z manuálního testera vypracovat až na manažerskou pozici.
Manuální tester aplikaci ručně proklikává a hledá chyby (proto se mu přezdívá manuální). Nebo může psát automatizované testy, které aplikaci proklikávají samy (k tomu už ovšem potřebuje přesah do programování, např. znalost programovacího jazyka Python). Využívá k tomu testovací skripty a specializované nástroje.
💡 Pokud se setkáš s označením IT tester, někdy být vnímán jako širší pojmenování pro testery pracující v IT odvětví, kteří se zabývají testováním různých typů IT systémů a infrastruktury, nejen softwaru. To může zahrnovat hardware, síťové komponenty a jiné IT služby. |
V dubnu 2024 se výdělky na různých pozicích souvisejících s testováním softwaru na pracovním portálu Jobs.cz pohybují v rozmezí 45 000 až 100 000 Kč, v závislosti na požadovaných zkušenostech a náplni práce.
Podle serveru platy.cz se mzda/plat SW testerů pohybuje v rozmezí 40 693 až 81 793 Kč. Jako IT tester, kdy pracuješ s poloautomatizovanými testy, se rozmezí zvyšuje na 41 942 Kč až 102 578 Kč.
Pokud tě zajímá porovnání s ostatními zeměmi v rámci Evropy, mrkni na následující statistiky z průzkumu pracovního trhu No Fluff Jobs z roku 2022.
Payscale.com uvádí, že průměrný plat SW testera v USA je necelých 64 000 USD.
Detailně se o průměrných výdělcích ajťáků dočteš v článku: Kolik si vydělá ajťák v Česku?
Jak už padlo výše, z hlediska znalostí nebudou na manuálního testera kladeny takové požadavky jako třeba na automatizačního testera, který už musí ovládat například Python nebo JavaScript. Může se ale stát, že i když se budeš hlásit na manuálního testera, firma bude mít jako požadavek otevřenost k absolvování kurzů programování. Jednoduše investují do tvého budoucího rozvoje.
Pro nástup do většiny společností je taky nutná angličtina na pokročilé úrovni, alespoň B1. Nevyhneš se jí při běžné komunikaci v mezinárodních společnostech, možná bude v angličtině probíhat i samotný pohovor. Stále se najdou společnosti zaměřené čistě na český trh, kde angličtinu nebudeš potřebovat na denní bázi, určitě na to ale nespoléhej.
Dalším požadavkem je většinou zkušenost z oboru testingu nebo přinejmenším absolvování kurzu zaměřeného na testing. Pokud s touhle znalostí půjdeš už na pohovor, určitě to pro firmu bude znamení, že máš o daný obor zájem a přidá ti to plusové body.
Čím dál častěji se na pozici testera setkáš i s požadavkem na znalost SQL. Data jsou vstupním faktorem pro testing a databáze mohou obsahovat tisíce údajů, mezi kterými musíš vyhledat správnou kombinaci (např. klient vlastnící jistou kombinaci produktů nebo produkty určité značky/barvy/modelu). Pokud si nebudete umět vyhledat data, ochromíte čo přinejmenším zpomalíte vlastní postup testingu.
Podle průzkumu No Fluff Jobs z roku 2022 zaměstnavatelé na testerské pozice nejčastěji požadují znalosti:
Pokud tohle všechno doplníš dobrými komunikačními schopnostmi a ochotou pracovat v týmu, máš skoro vyhráno. Co se týče soft skills, bude se ti v testingu určitě hodit následující:
Pamatuj, že pro firmy je efektivnější najmout nadšeného člověka, kterému chybí praxe než vyškoleného experta, který nemá zájem o další vývoj v oboru.
Jako tester během dne budeš řešit následující oblasti:
A s kým budeš komunikovat? To se liší podle toho, v jaké fázi daný projekt je, ale potkáš se s:
Pracovní náplň v začátcích projektu nejčastěji obsahuje:
Postupně se náplň práce přesune k samotnému testingu a reportování defektů. S blížícím se termínem ukončení projektu přibývá re-testování a reporting průběhu a výsledku testování. Většinou se po skončení projektu na scéně objeví regresní testování, kdy je po implementaci nového produktu potřeba komplexně otestovat stávající funkce/aplikaci, aby se zajistila kvalitní úroveň služeb a eliminovaly se chyby které mohou být způsobené nově přidaným kódem.
Zaujalo tě to a myslíš, že by tě práce testera bavila?
Cesta k získání testerské pozice může pro každého vypadat jinak. Záleží, čemu se chceš věnovat – láká tě spíš manuální testování, automatizované testování nebo specializované oblasti jako bezpečnostní testování?
Pokud jsi úplný začátečník, mrkni na náš kurz testování softwaru pro začátečníky. Osvojíš si jak manuální, tak i automatizované testování a připravíme tě na roli juniorního testera. Čeká tě 10 nabitých týdnů pod taktovkou zkušených lektorů Martina Ťapáka (Test Automation Engineer ve společnosti Whalebone) a Štefana Drotára (Senior QA Analyst pro americkou healthcare společnost).
Jakmile si osvojíš základy, časem své znalosti můžeš dál rozšiřovat. Získání praxe a práce na klientských projektech je klíčové a posune tě nejdál.
A co vysokoškolský titul? Diplom je v dnešním světě už přežitek. Pokud máš v šuplíku diplom z oboru informatiky, softwarového inženýrství nebo příbuzných technických oborů, bude se ti při získání práce coby software testera samozřejmě hodit. Ale rozhodně to není podmínka. 🙂
KBC je parta mladých lidí, kterou tvoří jak absolventi, tak seniorní ajťáci. Pracují téměř na všem, co souvisí s bankovnictvím a financemi, ale i na aktivitách, které by člověk očekával méně – testování bankovních aplikací nebo robotika. Pokud tě zajímá, koho právě hledají, mrkni na jejich web.
Naše absolventka Maruška našla po dokončení našeho kurzu práci v KBC. Jak hodnotí práci softwarové testerky? Čím se její tým zabývá? Čeho si nejvíc cení na práci v KBC? A co radí budoucím ajťákům? Přečti si její inspirativní příběh.