„Učit se, učit se, učit se.“
Doménové znalosti, technické dovednosti, soft skills, certifikace ISTQB… Co se po vás chce? Co od práce softwarového testera můžete čekat vy? A musíte umět programovat? Tolik otázek, a tak málo času.
Ještě než se do toho pustíme, připomeňme si, že cílem tohoto seriálu není odhalovat absolutní pravdy testerského všehomíra, ale perspektivou relativního nováčka v oboru čtenářům přiblížit alespoň některé z těch „growing pains“, které se se vstupem do světa IT (a specificky SQA) pojí. A nemluvím teď o bolestech zad z toho, jak budete doma muset vidlemi přehazovat ty věhlasné ajťácké peníze.
Ale teď k věci – sice jsem chtěl téma původně vykopnout odjinud, ale Google má poměrně jasnou představu, co lidi zajímá nejvíc.
Musí tester umět programovat? Palčivá otázka, a pro spoustu lidí, kteří se do SQA ženou bez technického zázemí, i potenciální „blocker“. Stručná odpověď zní: „Nemusí, ale je to sakra užitečné.“ Nepouštějme se do debat, zda automatizované testy mohou (nebo by vůbec měly) nahradit manuální testování – na to nemám frčky. Ať už ale budoucnost přinese cokoliv, manuální testování zatím rozhodně žádný srdcervoucí odchod vstříc západu slunce nečeká a v oboru se dá uplatnit i bez znalostí jakéhokoliv programovacího jazyka. Sám jsem toho příkladem – programovat jsem se začal učit až těsně před nástupem do práce (byť docela intenzivně).
Nedostal jsem to příkazem a za prvních několik měsíců jsem o nutnost napsat sebemenší kus kódu ani nezakopl. Ale o vhodnosti tohoto kroku (i vervě, s jakou jsem si do toho vyšlápl) mě okamžitě utvrdil fakt, že doslova každý kolega, se kterým jsem se během prvních dnů na projektu seznámil, mě hned během prvních pár vzájemných slovních výměn počastoval volnou variací na: „S Pythonem umíš?“
Ber jak ber, dřív nebo později člověk narazí na situaci, kdy mu i základní znalost kódování něco přinejmenším usnadní. Za sebe ještě dodám, že studium programování je extrémně zábavná (jakkoliv občas frustrující) činnost, pročež bych si dovolil na vás apelovat – i když striktně vzato nemusíte, zkuste si sednout k nějakému dobrému kurzu a jděte tomu štěstíčku trochu naproti.
Malý krok stranou – pokud vám dělá problém jazyk textu na výše přiloženém obrázku, je to pro vaši potenciální kariéru v SQA rozhodně větší překážka než neznalost jazyků programovacích. Angličtina k téhle práci prostě patří a moje zkušenost je taková, že minimálně formální textové výstupy, jako jsou testovací scénáře a chybové reporty, budete muset psát v angličtině. A i kdybyste měli to štěstí, že najdete práci, kde se to po vás chtít nebude (good luck, by the way), byli byste sami proti sobě, kdybyste netříbili alespoň schopnost pasivního porozumění. Pokud vám totiž můžu ohledně práce v SQA něco garantovat s absolutní jistotou, je to fakt, že se pravidelně (neřku-li neustále) budete muset učit něco nového.
Zaplaťpánbůh máme v dnešní době vzdělání i toho nejvyššího kalibru na dosah ruky online, mnohdy i zadarmo. Aniž bych však chtěl komukoliv křivdit, těch opravdu kvalitních materiálů je prostě víc v angličtině. Z mého pohledu tedy není znalost jazyka žádnou devizou, ale pouze základní předpoklad. A nespoléhal bych na to, že vždycky najdete firmu, která to vidí jinak.
To, co ve finále dělá testera testerem, ono pomyslné gró jeho vědomostí, je ale dvojí – v obecné rovině jsou to znalosti vycházející z osnov certifikace ISTQB (International Software Testing Qualifications Board), které se pak v konkrétním měřítku uplatňují s doménovými znalostmi projektu, na němž pracujete.
Pojem „doménové znalosti“ už z podstaty věci na každém projektu znamená úplně něco jiného co do rozsahu i technické náročnosti, a svým způsobem jsme si jej definovali už minule. Pro pořádek ale zopakujme, že tester má zodpovědnost venkoncem rozumět softwaru, na kterém pracuje – nejen ve smyslu kde co je, ale i jak to funguje. Co jsme minule nevypíchli, je fakt, že pokud testujete například software pro ovládání elektronových mikroskopů, jeho fungování lze plně chápat pouze tehdy, když víte, co se v tom mikroskopu fyzicky děje. A jak už nejspíš tušíte, tahle králičí nora vede až k nutnosti alespoň rámcově chápat i elektronovou mikroskopii obecně.
Pokud vás taková vyhlídka děsí, tak vězte, že já – notorický sebepochybovač – jsem si při oznámení, že na takový projekt půjdu, z nervozity málem ublinkl.
Ale „kdo se bojí, se*e v síni.“ Nebojte se výzev. Sám s tím sice často bojuju, ale je třeba si uvědomit, že nikdo nemá a priori zájem hodit vás někam proto, abyste selhali, a každý na projektu ví, jak strmá je křivka učení se toho, co před sebou máte. A byť osobně moc nefandím rčení, že není hloupých otázek, svůj filtr jsem musel klidnit. Ptát se je totiž opravdu klíčové.
Jestliže doménové znalosti představují jakousi proměnnou, sylabus certifikátu ISTQB je konstanta, bez které se zkrátka neobejdete. Záměrně mluvím o materiálu, ze kterého zkoušky vycházejí, a ne o certifikátu jako takovém.
Na rovinu si řekněme, že znalosti, které se pojí se základní úrovní ISTQB (CTFL), mít musíte. Bez pardonu. Sylabus CTFL prostě je, a nejspíš vždycky bude, pomyslnou Biblí testerské profese. To říkám jako někdo, kdo klidně druhým dechem dodá, že obtížnost zkoušek samotných je uměle nastavována bohapustým slovíčkařením a praktickými úlohami, které jsou násobně náročnější než cokoli, co najdete v oficiálních materiálech. Co studium na certifikát a samotná zkouška obnáší, si ale rozebereme někdy jindy (pozn. red. – spoiler alert!). Teď je pro nás klíčový fakt, že informace, které sylabus předává, jsou pro práci v SQA naprosto definující.
A jak je to tedy s tím certifikátem? Já ho neměl, a práci jsem dostal. Mám k tomu ale dvě dost zásadní poznámky pod čarou. Za prvé – na rozdíl od programování jsem tohle příkazem už dostal, takže jeho úspěšné získání bylo jednou z podmínek přežití zkušební doby. Za druhé – přestože do software testingu jsem utekl od zborcených snů v digitální ilustraci a překladatelství, léta Páně 2011 jsem v čínském Pekingu nastoupil do současné Pactery (tehdy VanceInfo) jako localization quality assurance tester, a v LQA s pár přestávkami kumulativně strávil víc než pět let. A přesto, že testování jazykové lokalizace je dramaticky méně technicky náročné než SQA, testování funkcionality jsme v popisu práce měli i tam.
Zpětně jsem si dokonce uvědomil, že když jsem onehdy nastupoval, týden nás školili z materiálů, které se těm od ISTQB až podezřele podobaly. Zkrátka a dobře – dá se říct, že u pohovoru na současnou pozici jsem už něco málo prokazatelně věděl.
Na druhou stranu jsem na svém prvním projektu v SQA osobně poznal i testery, jejichž zázemí bylo papírově nulové – žádné předchozí zkušenosti, bez certifikace, z úplně nesouvisejícího (a navrch netechnického) oboru. Šanci přesto dostali a svou práci odvádějí skvěle. I v jejich případě ale daná firma (zákazník, do jehož řad jsem byl nasazen jako externista) vyžadovala patřičné formální dovzdělání v podobě CTFL.
Oklikou se dostávám k vlastnosti, bez které se žádný tester neobejde a která je tou úplně nejzásadnější prerekvizitou pro vše, o čem jsme doteď mluvili. Je to ochota učit se.
Nesmí to pro vás být jen prázdná fráze, kterou chtějí slyšet u pohovoru. Potřebujete skutečnou touhu zdokonalovat se, pracovat na sobě. Pokoru před tím, co zatím neumíte. Nebýt zatrpklí kvůli tomu, kolik toho máte před sebou, ale naopak vítat příležitost posunout se někam dál. Kam a kudy konkrétně se kariéra v SQA může ubírat? Počkejte si na další díl.
Do té doby na sobě hlavně makejte, ať pak do světa IT neděláte jen vstupní krůček. Ty dveře do něj prostě vykopnete.