Nem programoz, mégis a szoftverfejlesztő csapat fontos tagja, hiszen a minőségért felel – ő a manuális tesztelő. Egedi Istvánnal, a PROGmasters szoftvertesztelő tanfolyamának egyik mentorával beszélgettünk a szakma szépségeiről és nehézségeiről.
Kezdjük azzal, hogy miért van egyáltalán szükség külön tesztelőre egy fejlesztői projektben?
Röviden azért, mert több szem többet lát – és mert hibák mindig voltak, mindig lesznek is. Mi nagyon sokszor úgy találunk hibát, hogy a fejlesztők nem is gondolnak arra, hogy az adott funkcióval lehet valami gond. Ha van egy feladat, amit a fejlesztők lefejlesztenek az üzlet elvárásai alapján úgy, ahogy az technológiai oldalról a nagykönyvben meg van írva, akkor gyakran nem is mennek tovább. Pedig felhasználói oldalról még sok minden történhet. Vegyünk például egy űrlapot, aminél irányítószámot és címet kell megadni. Azt gondolnánk, hogy egyszerű eset. Csakhogy Magyarországon van olyan, hogy három településhez ugyanaz az irányítószám tartozik. Egy jó tesztelő tudja ezt és kipróbálja, hogy ebben az esetben az irányítószámhoz mit ajánl fel a rendszer – mindhárom települést, vagy csak az egyiket? Ha csak az egyiket, akkor mi alapján választ a rendszer a három lehetőség közül, és lehet-e javítani másikra?
A szoftvertesztelés tehát nem csak arról szól, hogy megnézzük, minden működik-e. Ha a tesztelő a projekt elejétől ott van a fejlesztők mellett, akkor folyamatosan tudja képviselni az üzleti oldal, a megrendelő és a felhasználók érdekeit. Mivel az a feladata, hogy az adott alkalmazás a lehető legjobban működjön, ezzel jelentősen csökkenti a kockázatokat.
Ez azért nem egyszerű feladat… Van, aki szerint a tesztelők mind kötekedő emberek. Igaz ez?
Szerintem minden a kommunikáción múlik. Egy jó tesztelőhöz bizony odamennek a fejlesztő kollégák és megköszönik, hogy felhívta a figyelmet a problémára. Sokszor már az első tervek, dokumentumok olvasásakor rá lehet világítani tervezési hibákra úgy, hogy még sehol sincs az alkalmazás, még egy karakternyi kód nem került leütésre. Ha pedig korán sikerül elkapni a hibákat, akkor könnyebb és olcsóbb a javításuk – a fejlesztők számára is.
Nem unalmas folyton csak hibákat keresni?
Tud monoton lenni, hiszen sok dokumentumot kell készíteni, elég precízen. Vissza kell tesztelni olyan folyamatokat, amiket egy hónapon belül megcsináltunk már százszor is, de végig kell menni még egyszer és megnézni, hogy a hibajavítások után is működik-e minden. De fel lehet ezt fogni kreatív módon. Mindig új oldalról kell megközelíteni az adott projektet, ráadásul a technológia nagyon gyorsan változik, ezért folyamatosan új ismeretekkel kell bővíteni a tudásunkat. Emellett a szoftvertesztelés sok területhez kapcsolódik, lehet továbblépni az automata tesztelés, a teszt menedzsment vagy a biztonság irányába, de arra is volt példa, hogy valaki a fejlesztés felé fordult. Ha az embernek van egyéb képzettsége vagy képessége, például a korábbi munkatapasztalata miatt, azt legtöbb esetben be tudja építeni a tesztelői karrierjébe. Épp emiatt a határ a csillagos ég… mind a feladatokat, mind a lehetőségeket tekintve.
Tudsz néhány konkrét példát mondani? Mik a PROGmastersnél végzett tesztelők tapasztalatai?
Én két éve dolgozom a PROGmastersnél, ezalatt kirepült a kezeim közül vagy száz junior tesztelő – de mind külön sztori, éppen azért, mert nagyon sok függ az egyéni skillektől. Volt, aki annyira jól állta meg a helyét az interjún, hogy nagyon rövid idő alatt be tudott illeszkedni a medior és senior tesztelő kollégák közé egy banki biztonsággal foglalkozó cégnél és 1-1,5 év után már a medior szintnél tart. Egy másik jelölt most data analyst pozícióban van, sok ezzel kapcsolatos munkafolyamatba lát bele a tesztelés mellett, mert ehhez van affinitása. Más viszont napi szinten kijár a repülőtérre, mert a repülőgépek szoftvereit vizsgálja ISO minősítés szempontjából, illetve a szervizelési útmutató alapján futtatja a teszteket. Volt olyan, aki bankban kezdett ugyan, de szabadabb életre vágyott, úgyhogy átment egy startup jellegű céghez, és most az Apple-nek dolgozik be az integrálások során. Nyilván más a nemzetközi környezet és más a magyar – ahogy teljesen más lehetőségeket kínál egy bank vagy egy nagy fejlesztő cég és megint mást egy kisvállalat. De szerintem szoftvertesztelőként mindenki meg tudja találni azt a konkrét pozíciót, ahol a leginkább kiaknázhatja a képességeit.
Ezek szerint könnyű elhelyezkedni junior szoftvertesztelőként?
Már a covid előtt is jelentős szakemberhiány volt az IT piacon, de aztán a járványhelyzet miatt az online világ jelentősége és a használt alkalmazások száma jelentősen növekedett. Kiélesedett a szoftverpiac és szükség van a minőségbiztosítókra, azaz a tesztelőkre. Ez a gyakorlatban azt jelenti, hogy szinte ugyanúgy versengenek a cégek a junior szoftvertesztelőkért, mint a fejlesztőkért. Leginkább akkor, ha az adott jelöltnek nemcsak egy tanfolyam elvégzését igazoló oklevele van, hanem akár egy nemzetközi tesztelői szakvizsgája is, illetve rendelkezik a pozíció betöltéséhez elengehetetlen hard és soft skill tudással. Ha emellett fel tud mutatni némi tapasztatalatot fejlesztői csapattal végzett munkában, akkor szinte garantált a siker.
De hogy lehetne egy frissen végzett, junior szoftvertesztelőnek tapasztalata?
Nálunk a szoftvertesztelő tanfolyam résztvevői a technikai alapok elsajátítása után csatlakoznak egy agilis fejlesztői csapathoz és részt vesznek egy valós alkalmazás elkészítésében és tesztelésében. Már a kezdetektől vannak projektfeladatok, emellett soft skill tréningekkel és improvizációs gyakorlatokkal is segítjük őket. Sokszor kell demózni, csapatban dolgozni – és a képzésen előjöhetnek váratlan szituációk, amelyekre a csapatoknak közösen kell megoldást találni. Így erősítjük a közös csapatmunkát, gyakoroljuk a megvalósítható javítások átbeszélését és azok folyamatait.
Erre hogyan lehet felkészülni?
Erős lélekkel, kitartással és puffinnal… A viccet félretéve nagyon jó kommunikációs készségre van szükség, hiszen úgy kell megfogalmazni a csapatban dolgozó kollégáknak, hogy az adott funkció sajnos nem sikerült a legjobban, hogy megmaradjon a jó munkakapcsolat. Emellett szükséges a széles látókör és a folyamatos fejlődés iránti elkötelezettség, hiszen dolgozhatunk front-enden, back-enden, az üzemeltetés területéről pedig ismernünk kell alapvető hálózattal kapcsolatos megoldásokat. Különböző operációs rendszerek használata is fontos tényező, hiszen különböző platformokon működhet az adott alkalmazás, és ilyenkor többféle tesztkörnyezetben is otthonosan kell mozognunk. De ezekre mind felkészítjük a tanfolyam résztvevőit. Volt olyan karrierváltó résztvevőnk, aki korábban minimálisan használt számítógépes rendszereket, de a képzés végére már otthonosan mozgott az adatbázis rendszerek lekérdezésében. Ehhez persze elszántság és motiváció is kell.
Négy hónap alatt, napi 3 órás esti képzésen meg lehet tanulni mindazt, ami a szoftvertesztelő munkához kell?
Fontos, hogy a mi tanfolyamunk nem arról szól, hogy befizeti az ember a képzési díjat, végighallgatja az órákat, megkapja a tanfolyam elvégzését igazoló oklevelet és kész. Mi állásgaranciát vállalunk, ezért a felvételi beszélgetésekre már úgy küldjük el a jelölteket, hogy tudják, hogyan kell beszélni egy fejlesztővel a felmerülő hibákról, ismerik a ticketing rendszert és dolgoztak már csapatban, kisebb projekten. Ehhez persze rengeteget kell tanulni, akár a tanfolyami órák után vagy hétvégén is gyakorolni. De akik úgy jöttek hozzánk, hogy karriert akarnak váltani, új lehetőségeket akarnak és ezért tenni is hajlandóak, azok eddig mind sikeresen megtették ezt a lépést – és azóta csak azt bánják, hogy miért nem előbb szánták rá magukat.
Magadra ismertél? Úgy érzed, a szoftvertesztelő munkát neked találták ki?