Intervju z Gabrijelo Hladnik: Kako izgleda delo testerja?
Gabrijela Hladnik je matematičarka, ki dela za nemško podjetje Quality Minds. V testiranju dela že več kot deset let in ima za sabo krasno kariero in bogate izkušnje. Kaj jo je navdušilo in spodbudilo k temu, da se je prvič prijavila na delovno mesto QA-inžinirke? Navdušil jo je oglas, ki je nagovarjal, da podjetje išče nekoga, ki je radoveden, ima rad uganke, rad razmišlja – iščejo problem solverja. V nagovoru se je prepoznala, in čeprav takrat o testiranju ni vedela čisto nič, je službo sprejela in še danes dela na področju ročnega testiranja.
1. Gabrijela, začniva kar s tvojo predstavitvijo, nam lahko na kratko opišeš svojo karierno pot?
Že med študijem sem kolebala med tem, ali bom pristala v računalništvu, iz katerega sem imela veliko prijateljev, ali v šoli, ker sem bila že takrat mentorica za različne delavnice in počitniške tabore in me je to res veselilo. Odločitve mi nikoli ni bilo treba sprejeti, ker so takrat ravno ustavili zaposlovanje v šolstvu, v IT-podjetjih je bilo pa vedno povpraševanje. No, še vedno imam rada oboje, in če bo šlo, bom v prihodnje lahko oboje skombinirala in me boste srečali kot mentorico na kakšnem testerskem tečaju.
Tako sem začela svojo kariero v takrat največjem slovenskem IT-podjetju, delala sem kot matematik na področju stav – verjetnost za dobitke, statistika, razni algoritmi, nekaj malega sem tudi programirala … Bilo je povsem dobro, dober izziv, ampak nekaj je manjkalo. Nato sem za kratek čas dobila priložnost kot učiteljica, ampak to je bil eden tistih položajev: za krajši čas, nadomeščanje … soul crushing …
Tako da sem takrat eno obdobje res zelo aktivno spremljala vse oglase, povezane z matematiko in računalništvom. Pri vsakem sem našla kakšen razlog, zakaj se ne morem prijaviti – ali nisem imela dovolj let izkušenj, ali nisem poznala vseh naštetih tehnologij … Zdaj vem, da ni treba odkljukati čisto vseh alinej, da lahko poskusiš, ampak … No, potem je prišel pa tisti “srečni” oglas, ki ni našteval poznavanja orodij in programerskih jezikov, ampak so iskali nekoga, ki je radoveden, pozoren na detajle, potrpežljiv, rad sprašuje … Ne vem več točno, kaj vse je bilo našteto, ampak počutila sem se, kot da je oglas napisan zame.
Od takrat sem zamenjala nekaj slovenskih delodajalcev, za katere sem testirala zelo različne programe, nato pa sem na Meetupu v Belgiji spoznala testerja, ki mi je kak mesec kasneje poslal e-pošto, da pozna neko nemško podjetje, kjer dajo res veliko na testiranje in kakovost, in da meni, da bi se krasno ujeli. In zdaj ta romanca traja že dve leti in ne kaže, da se bo kmalu ohladila.
- Kako si vedela, da je testiranje služba zate?
Nisem. Zdaj, ko gledam nazaj, bi lahko to vedela že kar nekaj let prej. Namreč, pri izdelavi programja za igralništvo se pravzaprav zelo veliko testira – konec koncev so v igri velike vsote denarja – in spomnim se, da sem sedela v pisarni s kar nekaj testerji. Ampak med malico in na kavi smo se pogovarjali vse kaj drugega kot o testiranju. :D Takrat sem videla, da so to zelo raznoliki ljudje, ki imajo med zelo drugačno ozadje od mojega, zato sem tudi mislila, da me to ne zadeva. Temu nisem posvečala pozornosti, ni se mi zdelo, da bi to kadarkoli lahko bila možnost zame.
Saj, če povem po pravici, tudi po tistem oglasu nisem vedela, ali bo to to. Ponovila bom eno mantro, ki jo vedno razlagam in se je tudi sama držim: če si se za nekaj izučil, ne pomeni, da moraš v življenju početi samo to stvar. In obratno – če te nekaj pritegne, pa se za nekaj nisi izšolal med rednim izobraževanjem, ne pomeni, da zdaj tega nikoli ne moreš opravljati. Sploh v IT, ki se res hitro spreminja, je pomembneje, kakšne navade in t. i. soft skills ima človek, kot kakšno je njegovo poznavanje neke specifične tehnike ali orodja – tega se lažje naučiš, kot spremeniš sebe. In sem se prijavila, dobila službo, začela delati in v tem uživam še danes. Res mi je pisano na kožo.
- Kaj ti je pri službi testiranja najbolj všeč?
Raznolikost dela in širina področij, ki jih pri tem srečam. V mojih očeh je poleg poznavanja tehnik in orodij pri testiranju produkta res pomembno poznavanje področja, za katerega razvijamo neki računalniški program ali aplikacijo za telefon, in razumevanje ljudi, ki jim je ta program namenjen. Verjetno to velja tudi za druge vpletene v ta proces, ampak za testerje se mi zdi to še posebej pomembno. Del testiranja je tudi čas, da se s tem spoznamo, se tega naučimo in jaz res rada vsrkavam vse to znanje. Testirala sem aplikacijo za naročanje pri frizerjih, program za ustvarjanje učnih gradiv in spletno reševanje nalog, športne stave, pogovorno aplikacijo, program za osebno identifikacijo na kriptoosnovi, program s podatki za upravljanje strojev v tovarnah … Če naštejem samo nekatere. WOW! In pri vsaki sem izvedela veliko novega.
- Delala si z veliko testerji. Kakšna so bila njihova ozadja?
Moji trenutni sodelavci, poleg tistih klasičnih iz računalništva ali matematike, so slikar, nekdanja baletna plesalka in doktorica biologije, od nekdanjih se spomnim še studijskega tehnika, prodajalcev, krupjeja, učiteljice slovenščine … Na srečo nismo samo matematiki in računalničarji, sicer bi bil ves software robotski in nedružaben. Malo šale, seveda ne bi bilo tako hudo. Ampak gre za to, da računalniške programe in programe za telefone danes uporabljajo vsi – od enoletnih otrok do zelo starih ljudi, ljudi z vseh celin, vseh kultur, navad in znanj. Pol žensk in pol moških. Ljudje, ki vse zmorejo, in ljudje z ovirami. In če že med tistimi, ki pišejo programe, ni tako raznolikih ljudi, je prav, da programe vsaj preverijo/stestirajo čim bolj različni ljudje, ki imajo svoje izkušnje, ker bodo opazili pomanjkljivosti in napake, ki jih nekateri drugi ne bi.
- Kakšne lastnosti/soft skills potrebuje tester?
Prvi filter bi zame bil: ali vas med uporabo programa kaj zmoti, ali opazite, ko gre kaj narobe, ali vas napaka razjezi ali pa spravi v smeh in jo pokažete še komu? Morda celo uživate v tem, da poskusite kaj nenavadnega in vidite, ali še vedno dela? Druga pomembna stvar je, da ste radovedni in ustvarjalni, da ne delate samo po nareku, ampak ste si sposobni sami izmisliti ideje, kaj in kako poskusiti. Da ne verjamete vsemu, kar je napisano, ampak to preverite, vprašate druge, razmišljate, ali ima smisel … Se znate vživeti v drugo osebo, ki bi stvari naredila (nalašč ali po nesreči) na drugačen način? Potem pridejo na vrsto take stvari, kot so smisel za podrobnosti, natančnost – to hitro preverimo z igrico, ki se je vsi spomnite: poišči 10 razlik. Nekaterim je to zelo enostavno, nekateri pa še po dolgem času ne bodo našli vseh 10. Tu bi dodala, da so te podrobnosti zelo različnih vrst – recimo jaz hitro opazim napake v podatkih, če je gumb malo postrani, pa nikoli ne bom opazila. In obratno: delala sem z ljudmi, ki opazijo manj kot milimeter razlike. Ker delamo v ekipah, se lepo dopolnjujemo. Nikoli ni treba, da so vsi eksperti v vsem. In ker se pogovarjamo o testiranju programov za računalnike in telefone, je dobro, da imate to dvoje radi. Sicer boste trpeli.
- Koliko moraš znati, da si lahko lahko zaposljiv?
Če pridete čez zgornji filter, ste zame uporabni takoj. Seveda ne za vsake vrste program in ne boste poznali vseh tehnik, izrazoslovja ali tehnologij, lahko pa vam dam zdaj testirati npr. spletno stran za rent-a-car in boste že našli kakšno napako. Seveda so potem tehnike, kako to početi učinkovito in sistematično ter kako si pomagati z raznoraznimi orodji. Ampak dobra stvar je, da ste lahko zelo hitro produktivni, hkrati pa boste imeli čas, da se vsega dodatnega priučite sproti. Moje izkušnje v IT so, da nihče ničesar ne skriva. Če vprašaš, boš izvedel, vsi ti bodo z veseljem pomagali in ti pokazali. Tudi tu radovednost pride zelo prav. Problem s tem je seveda to, da je takih ljudi veliko, konkurenca je velika, tako da je morda težko dobiti tisto prvo uradno izkušnjo. Zato vsako dodatno znanje pride prav.
Ovira, čeprav imate soft skills, je lahko tudi izrazoslovje in neko osnovno poznavanje, kako sploh deluje proces izdelave softwara, ampak tega se da naučiti v nekaj tednih, niso potrebna leta študija. Da dam zelo enostavno primerjavo: recimo, da se prijavim za voditelja prireditve, ampak sploh ne vem, kaj je mikrofon – to bi šlo težko skozi.
- Katera podjetja iščejo/potrebujejo testerje?
Odgovor na to je malo dolgočasen. Vsa! Lahko pa nekaj povem o tem, v čem so razlike med temi podjetji oz. vrstami programov, ki jih izdelujejo oz. bi jih lahko testirali. Na eni strani imamo programe, ki jih uporabljamo vsi: npr. TikTok, Zoom, igrice tri v vrsto ... To so zelo splošni programi, ne potrebujejo posebnih navodil za uporabo, nimajo neke posebne “user skupine”. Take programe bo ponavadi uporabljalo ogromno ljudi hkrati in bodo zelo raznoliki. Tu bosta s stališča testiranja pomembna dva vidika:
- testiranje zmogljivosti (performance in load testing) – to je precej napredna zadeva in zanjo potrebujete precej znanja, tudi programerskega,
- testiranje dizajna in uporabniške izkušnje – da program dela na vseh mogočih telefonih različnih znamk in velikosti, da so npr. barve in velikosti take, da jih vsi vidijo in zmorejo uporabiti, da je čim bolj jasno, kaj je treba narediti …
To drugo bi najbrž lahko delali vsi, ki ste danes prišli na ta webinar. Taki programi so velikokrat precej enostavni na pogled – nimajo veliko opcij, gumbov, podstrani …
Potem so programi, ki so namenjeni za specifično skupino uporabnikov, npr. računovodski program. Tu bo običajno najpomembnejši vidik pravilnost delovanja, ker če gre karkoli narobe, bo lahko nastala velika škoda. Taki programi lahko imajo veliko nekih obrazcev za vpisovanje in veliko različnih nastavitev.
- To velikokrat testiramo tako, da nekdo na roke preveri čim več od teh možnosti, potem se pa pametno sprogramira (če je čas, volja in znanje) teste, ki to delajo namesto človeka ob vsaki novi spremembi. To je videti tako, da namesto da človek vpiše v polje ali klikne na gumb, to naredi neki drugi program, ki je bil sprogramiran, da naredi točno to.
- Tu je očitno potrebno znanje programiranja. Ampak vsi testerji tega ne znajo. Velikokrat se zgodi, da tester napiše postopek tako, kot bi ga on naredil na roke, programerji pa potem to sprogramirajo. Tester to naredi, ker ima boljše ideje, izkušnje, se res posveča temu, da o tem razmišlja.
- Za take programe zelo prav pride znanje tega, kaj uporabniki programa delajo in kako bodo to uporabljali, zato da ko program testiramo, lahko čim bolj razumemo in oponašamo njihovo uporabo.
Pri takih programih se potem najbolj pokaže, kadar je tester s podobnega področja, torej da je prej delal kot knjigovodja, zdaj pa je postal tester in testira nov program, ki je namenjen temu, ker lahko uporabi vse svoje predhodno znanje. Na koncu pa so programi, ki jih bodo uporabljali drugi programi ali pa neki stroji – torej kombinacija softwara in hardwara. Marsikaj od tega je zelo tehnično in se tudi testira prek raznoraznih programov, ali pa so testi v celoti sprogramirani.
- Kako to, da delaš za nemško podjetje, živiš pa v Belgiji? Ali je večina QA-služb na daljavo, se delo od doma spodbuja?
A se še spomnite, ko je bil kovid in smo od doma delali vsi, ki smo lahko? No, ta dom je bil zame najprej res Ljubljana, ampak če grem v pisarno samo na novoletno zabavo, potem je dom lahko kjerkoli. Od takrat sem živela v kakšnih osmih državah in trenutno sem (ponovno) v Belgiji, od katere se kar težko poslovim, ker ima krasen software crafting in testing community in se veliko naučim od ljudi na dogodkih tukaj. V računalništvu nas ima zelo veliko to možnost, da delamo na daljavo, ker običajno ne potrebuješ nobenih drugih sredstev kot računalnik in telefon. Je pa tako, da če boste testirali program za neko specifično napravo, potem boste morali biti tam, kjer je ta naprava. In takrat odpade delo na daljavo. V drugih primerih je pa to odvisno od podjetja in želja posameznika. Mislim pa, da kadar se izkažete za zanesljive in komunikativne, to načeloma ne bo ovira. Vsaj za nekaj mesecev vsako leto. Seveda je pa dobro, da poznate sami sebe: če ste bolj odprti in družabni, potem bo delo od doma težko in vam bo bolj ustrezalo iti v pisarno, kjer boste bolj produktivni. Ljudje smo si glede tega zelo različni in je fino, da imamo možnost delati tako, kot nam ustreza, in hkrati naredimo vrednost za delodajalca ali naročnika.
- Koliko je na področju QA-testiranja novosti in koliko se je treba konstantno dodatno učiti, da lahko še vedno dobro opravljaš svoje delo?
Po mojih izkušnjah je tega manj kot pri programerjih. Tam konstantno vidim nove jezike, nove knjižnice, nova ogrodja, nova orodja, ki pomagajo pri programiranju. Pri testiranju gre v prvi vrsti za mindset, attitude, naravnanost k take vrste delu. In ta se ne spreminja tako zelo. Lahko se naučite osnov in testirate samo s tem znanjem in se načrtno ne učite nič novega. Tega ne podpiram, ker gre v nasprotju z radovednostjo, ampak dalo bi se. Sicer pomeni, da boste vedno na najnižjem plačilu, ampak če je to to in produkt ne potrebuje nič drugega, zakaj pa ne.
V resnici se boste veliko nekih postopkov nezavedno naučili sproti, ko boste že delali kot tester. Drugačen program, drugačna situacija in vidite, da noben od prejšnjih prijemov ni dober. In povprašate ali pobrskate za novimi idejami, to preizkusite, nekajkrat ponovite in postane del vašega nabora znanj. Velikokrat gre za en kup malih stvari in ne za eno veliko kompleksno zadevo, za katero se usedeš, naštudiraš, kot da bi šel nazaj v šolo. Drugače bo, če začnete kot tester brez programerskega znanja, bi se pa radi tega priučili. Potem bo treba vaditi in se naučiti nekaj povsem novega. Pri tem je dobro, da so podjetja velikokrat pripravljena vlagati v to, potem ko enkrat že delate pri njih, če vidijo, da ste dober tester, in bi radi, da prispevate še več. Naj omenim, da s tem pride tudi precejšnja razlika v plači.
- Kakšne so plače?
Zelo raznolike. Odvisno od velikosti podjetja, kako priljubljen produkt ima (torej, koliko profita ali investicij), ali gre za staro podjetje, ki bo naokoli verjetno še dolgo, ali za startup, ki lahko čez noč propade. Ampak da ne bom samo krilila z rokami … Ker sem pričakovala kakšno takšno vprašanje, sem si šla pred tem na hitro ogledat nekaj oglasov. Kar sem videla za položaje junior, so za vse ponujali okoli 2.500 evrov bruto. Po občutku bi rekla, da za tak znesek pričakujejo, da malo razumete izdelavo softwara – torej ne nujno, da znate programirati, ampak da vam ni vse skupaj španska vas. Če tega ne znate, potem bo verjetno malo manj. Priznam, da ne vem, ali je to dobro ali slabo v primerjavi z drugimi poklici, ker v Sloveniji nimamo navade govoriti o tem. V IT je značilno, da povišice običajno znašajo sto ali nekaj sto evrov, ne nekaj evrov. Tako da ko napredujete ali znate več ali delate boljše, se običajno konkretno pozna tudi pri plači. Na zgornji meji je pa tako, da je dober tester vreden toliko kot (dober) programer, včasih tudi več.
- Pravzaprav še nič nisva zelo konkretno rekli o tem, kaj točno delaš, kako je videti testiranje? Kako je videti tvoj dan?
Res je. Trenutno testiram precej tehnično zadevo, ki je morda ni najlažje opisati. Naj dam primer tega, s čimer kariero običajno začne vsak tester. Prideš v podjetje, običajno imajo neki program že na pol izdelan. Dajo ti povezavo do tega programa ali pa si ga inštaliraš na telefon/računalnik. Običajno dobiš še kratko dokumentacijo, kaj ta program okvirno dela. Morda to podjetje že ima enega testerja. V tem primeru ti bo ta tester dal seznam postopkov in ti rekel, da sledi tem postopkom in opazuj, če se karkoli ne ujema, če karkoli od napisanega ne dela tako kot piše, sporoči, če naletiš še na karkoli drugega, kar ti ni jasno, ali pa kar je videti narobe, povej.
Ti postopki so nekaj, kar bo načeloma delal uporabnik:
- če ima stran npr. login:
- vpišeš prave podatke in preveriš, da si vpisan,
- vpišeš napačne (morda nekaj različic) in preveriš, da nisi vpisan,
- se vpišeš s podatki osebe A in preveriš, da res vidiš tisto, kar sme videti oseba A (in ne npr. kdo drug).
Če pred tabo ni nobenega drugega testerja, ali pa nisi več povsem na novo, potem si te postopke, kaj vse boš preveril, začneš načrtovati sam. Načrtuješ jih s pomočjo informacij, ki jih dobiš od preostale ekipe (od razvijalcev ali analitikov, produktnih vodij …). Npr. rečejo ti, naredili smo novo različico, v kateri smo spremenili, da mora uporabnik ob vpisu še obkljukati, ali želi, da si zapomnimo geslo za vpis:
- pomisliš, kaj vse je treba preizkusiti, ali res prav dela, in potem to preizkušaš;
- če odkriješ karkoli, kar ni prav, ali pa bi morda lahko uporabnika zmedlo ali pa ni videti lepo, sporočiš in nato se ekipa dogovori, kdaj in kako to popraviti (ali pa morda ne popraviti):
- recimo, da kljukica ni lepo poravnana, ko odkljukaš,
- recimo, da ne odkljukaš, pa si program vseeno zapomni geslo …
To je en tak zelo osnoven primer.
Upamo, da ste uživali v branju intervjuja z Gabrijelo in da ste izvedeli kaj novega.
Vabimo pa vas tudi k poslušanju intervjuja, ki ga najdete TUKAJ.