Rozmanitost názvů testerských pozic nezná hranic. Ať už máte v pracovní smlouvě, e-mailovém podpisu nebo na vizitce napsáno cokoli, stejně se většinou představíte jako tester. Co takhle s tímto označením skoncovat a přestat testovat a začít vyvíjet?
Proč se mi nelíbí slovo tester? Podle mého názoru toto slovo označuje někoho, kdo prostě jen testuje – ať už podle testovacího scénáře nebo bez něj. Ano, tohle všichni děláme, ale je to jen malá část naší práce. Děláme toho mnohem víc a samotné testování je jen jedním ze závěrečných kroků celého procesu vývoje software.
Představte si fotbalový zápas, ve kterém útočník stojí celou dobu u soupeřovy brány a čeká na přihrávku. Takhle se ale fotbal nehraje. I útočník musí běhat po celém hřišti, bránit, nahrávat nebo se při přímém kopu postavit do zdi. Takovému hráči potom můžeme říkat fotbalista. Útočník je jen určitá role v týmu nebo chcete-li, specializace.
Takhle to někdy ale na softwarových projektech skutečně vypadá. Testování je až finální krok celého procesu a k testerům se často dostane jen zadání v podobě požadavku od zákazníka a “hotový produkt”. Testeři pak nemají přehled o tom, co všechno se během vývoje událo a jestli třeba nedošlo ke změně požadavků.
Podle mě je velkou chybou, když tester není součástí celého vývojového procesu a nemůže “kecat” do každé jeho částí. Testeři mají často lepší přehled o tom, jak aplikace (jako celek) funguje a jak ji uživatelé používají. Správná zpětná vazba může některé problémy odhalit mnohem dříve, než by vůbec nastaly, a ve výsledku tak ušetřit čas a tím i peníze.
Už při obdržení požadavku od zákazníka nebo stakeholderů může tester narazit na nesrovnalosti nebo chybějící informace v zadání. Z následných diskuzí potom často vyplyne spousta informací týkajících se samotného testování. Pomalu tak začíná vznikat také testovací scénář. Už se mi několikrát stalo, že diskuze o testování měly velký vliv na samotný návrh řešení.
Zatímco programátoři píšou kód, píšou testeři testovací scénáře a připravují si testovací prostředí. Při tom vzniká nejvíce otázek a nejednou se narazí i na nějakou komplikaci. Okamžitá zpětná vazba k vývojářům je v této fázi nejdůležitější. Vzpomínám si například na situaci, kdy jsme s kolegou diskutovali můj koncept testovacího scénáře a narazili na problém, který vedl ke kompletnímu přepracování implementace. Programátor tak sice “zahodil” jeden den práce, ale kdyby na tom pracoval celý týden a já mu to pak z testování obratem vrátil, bylo by takto zahozených dní mnohem více.
Co tedy vlastně dělá vývojář? V dnešní době se vývojáři zapojují do všech fází procesu a možná právě proto o nich mluvíme jako o vývojářích a ne jako o programátorech. Programátor je někdo, kdo “jen” píše kód. Tester je někdo, kdo “jen” testuje.
Přitom v každé fázi procesu je pro testera, stejně jako pro vývojáře, spousta práce. Ne nadarmo například Scrum roli “testera” vůbec nemá. Všichni členové scrumového týmu jsou vývojáři, jen se někteří specializují na konkrétní činnosti.
Přestaňte tedy testovat a začněte vyvíjet. Zapojte se do celého procesu, buďte součástí vývojového týmu. Staňte se vývojářem se specializací na kvalitu a změňte si na vizitkách slovo tester například na anglickou zkratku SDET – Software Development Engineer In Test.