Ahogyan mind nagyobb tért hódítanak életünk minden szegmensében a digitális megoldások, úgy válik egyre specifikáltabbá az IT-szakmák köre. A tesztelő azonban ma is tesztelő, ám feladatai és főként munkamódszerei a programozás hőskorához képest hatalmasat változtak.

A tesztelő végigkíséri a fejlesztési folyamatot

A tesztelés lényege persze ma is ugyanaz, mint régen, és várhatóan mindig is szükség lesz tesztelőkre: az ő munkájuk a biztosíték arra, hogy a késznek nyilvánított és a megrendelő vagy a felhasználók rendelkezésére bocsátott szoftver, applikáció stb. optimálisan funkcionál.

Ebből akár azt is gondolhatnánk, hogy a tesztelő a folyamat legvégén, kvázi a késztermék elkészültekor lép színre, (mint ahogy ez egyébként az ősidőkben még jellemző is volt, a viszonylag egyszerű rendszereknek és folyamatoknak köszönhetően), ám ez ma már koránt sincs így. Ma már a tesztelés nem egyszerűen egy kész munka hibáinak kiszűrését és korrigáltatását jelenti: a tesztelő munkája többnyire végigkíséri a teljes fejlesztői folyamatot, melynek során a fejlesztő és a tesztelő szoros együttműködésben dolgozik egymással és a dizájnerrel annak érdekében, hogy a kívánt felhasználói funkciók és élmény minél optimálisabb szinten valósuljanak meg.

Vagyis a tesztelő munkája jóval összetettebb és kreatívabb, mint a hibakeresésre irányuló végső szoftverellenőrzés: a tesztelési folyamatot egy sokrétű, egzakt szempontrendszer szerint már az ötlet fázisában, a fejlesztés megkezdése előtt elkezdik kidolgozni. Készül például egy tesztforgatókönyv, ami alapján a manuális tesztelő dolgozni fog. Emellett be kell építeni a folyamatba a külső szabályozóknak (az adott szakterülethez tartozó jogszabályoknak és szakmai standardoknak) való megfelelést, továbbá a biztonság feltételeit, de ide tartozik a gyorsaság és a felhasználói élmény kritériumainak meghatározása is, és a sort még bőven folytathatnánk.

A manuális és az automata tesztelő

A folyamatok és a szakma specifikálódásának eredményeként a tesztelés folyamata ma már kétféleképpen zajlik, és ennek megfelelően kétféle tesztelő létezik: a manuális és az automata tesztelő. Mindkét munkakör végső célja és feladata többé-kevésbé ugyanaz, ám más-más módszerekkel.

A manuális tesztelő

A manuális tesztelő alapvetően a megkapott tesztforgatókönyv alapján dolgozik:

  • a tesztforgatókönyvben megadott tételeket vizsgálja, összevetve az elvárt eredménnyel,
  • hiba vagy eltérés észlelése esetén nyomon követi a hibát (bug-trucking), és igyekszik kideríteni a hiba okát,
  • minél részletesebb riportot készít a hibáról,
  • és tájékoztatja a fejlesztőt,

ezenkívül feladata még

  • új tesztesetek írása vagy a meglévők újradefiniálása a „féregirtó paradoxon” elkerülése érdekében,
  • a logelemzés a behatolók elleni biztonság tesztelése céljából.

Az automata tesztelő

Az automata tesztelő (más néven tesztautomatizálási szakértő) a manuális módszerrel ellentétben a standardizálható folyamatokra szakosodik. Bár automata tesztelőre mindig is szükség lesz, az automatizálás igénye és szükséglete egyre erősebb, részben a szoftverek bonyolultsága, részben a mennyiségi és idő faktor miatt. A tesztautomatizálási szakember a standardizálható folyamatokat írja le kódnyelven, hogy szimulálja az aztán sok eszközön lefuttatható feladatokat. A tesztelés során kapott eredményeket kiértékeli, és a manuális tesztelőhöz hasonlóan részletes riportot készít belőle a fejlesztő számára.

Kiből lehet (jó) tesztelő?

Mint látjuk, a kétféle tesztelési feladatkör eltérő szakmai kompetenciákat igényel, ám a soft skillek vonatkozásában hasonló adottságokra van szüksége minden tesztelőnek.

A manuális tesztelőnek nem kell mélyreható fejlesztői tudással rendelkeznie, elég egy minimális jártasság a kódolásban, sőt, olykor a megfelelő személyes adottságokkal és kellő motivációval rendelkező laikusokat is szívesen fogadják ebben a pozícióban, így pályaváltóknak is érdemes ebben az irányban gondolkodniuk.

Valójában automata tesztelő is bárkiből válhat, aki átlagosan jó intelligenciával rendelkezik, és megvan benne a kellő érdeklődés és elhivatottság a szakma iránt. Nekik azonban mindenképpen szükségük van egy alapszintű fejlesztői tudásra, hogy átlássák a fejlesztői folyamatokat, és legyen némi jártasságuk az alapvető programozási nyelvek (Java, JavaScript, Python stb.) terén. Ezenkívül meg kell ismerkedni a tesztelméletekkel, továbbá gyakorlatot kell szerezni a strukturált tesztelés és a tesztautomatizációs folyamatok terén. Mindehhez feltétlenül szükséges egy alapozó, például automata tesztelő képzés elvégzése, ahonnan egyenes út vezet az amúgy rendkívül keresett, hiányszakmának számító tesztelői munkakörökre – ahol már a kezdő bér is 350-400 ezer forint körül mozog, ám tapasztalt szakemberként bőven millió felett lehet keresni. Az automata tesztelői pályáról pár év tapasztalat után egyébként akár a fejlesztői karrier irányába is vezet további út, ha valakit mélyebben érdekel a kódolás.

Szükséges soft skillek

  • logikus-analitikus gondolkodás,
  • rendszerben való gondolkodás,
  • kreatív gondolkodás,
  • problémamegoldás, döntéshozatali képesség,
  • koncentrálóképesség, monotóniatűrés és kitartás,
  • maximalizmusra törekvés,
  • pragmatikus gondolkodás,
  • tanulási és megújulási készség,
  • jó kommunikációs készség,
  • határozottság,
  • csapatban való együttműködés képessége,
  • interperszonális készségek.

Ha ezek jórészével rendelkezel, és az érdeklődés meg a motiváció is megvan benned az IT-szakterületek iránt, de nem tudod eldönteni, hogy azon belül mi lenne a legtesthezállóbb számodra, hasznos lehet kipróbálni magad egy pár hetes előkészítő képzésen, ahol belekóstolhatsz a kódolás különböző területeibe, hogy onnan aztán célirányosan mehess tovább. Mert szakmát váltani sosem késő!