Vissza a blogra

Miért cool a szoftvertesztelő szakma? 3 ok, amire eddig nem gondoltál

Azt is körbejártuk, hogy mennyit keres egy tesztelő, mit csinál akkor, amikor nem tesztel, és hogy hogy jön ide Neo a Mátrix-ból.

Unalmas, viszonylag egyszerű, és valószínűleg nem is túl jövedelmező. Ez juthat eszedbe, ha kívülállóként a szoftvertesztelő munkáját, mondjuk, a fejlesztőéhez hasonlítod.

Úgy tűnhet, hogy egy fejlesztő mellett egy tesztelő mindig csak másodrangú lehet, kb. úgy, mint Batman mellett Robin. Batman a menő, okos, gyors hős, Robin pedig az újonc, akinek mindent el kell magyarázni, de persze azért ő is besegít.

A valóság nem is állhatna ettől távolabb - és ezt egyébként ma már szinte mindenki tudja, aki az IT közelében dolgozik akár tesztelőként, akár más pozícióban. Valójában a tesztelő munkája izgalmas, teli van kihívással, és nagyon jól meg is fizetik.

Ha maradunk a mozis hasonlatoknál, akkor a szoftvertesztelő valójában sokkal inkább olyan, mint Neo, a Mátrixból. Az igazságot keresi mindenáron, a rést a rendszeren, akkor is, ha ez kényelmetlen. Elemző szemlélettel és a lehető legkreatívabb eszközökkel.

Ezek után most már érdekelne, hogy pontosan mitől olyan menő ez a szakma? Mindjárt ki is fejtjük.

De előbb tisztázzuk, hogy pontosan mit is csinál egy tesztelő.

 

Mit csinál egy szoftvertesztelő?

Tesztel, persze. De a pontos válasz az, hogy attól függ.

Egyrészt sokféle teszt és tesztelés van, mert sok mindent lehet tesztelni egy szoftveren. A lényeg minden esetben ugyanaz: előre kipróbálni, hogy tényleg minden rendben van-e az alkalmazással, olyan-e és úgy működik-e, ahogy elvárjuk tőle, hogy nehogy élesben legyen gond.

Veled is előfordul néha, hogy hosszú másodpercekig hitetlenkedve nézed, ahogy nagy erőkkel próbál betölteni a bankod appja, de csak nem sikerül neki, és végül totál lefagy? Vagy hogy kitöltenél egy hivatali adatlapot, és fogalmad sincs, miért kapsz hibajelzést mindig? Ez általában annak a jele, hogy az alkalmazást nem tesztelték elég körültekintően és alaposan.

Egy szoftveren általában tesztelik:

  • a funkcióit, vagyis azt, hogy ideális körülmények között úgy működik-e minden funkciója, eleme, ahogy kéne, a fejlesztő szándéka és a technikai specifikáció szerint (→ functionality test, unit test, integration test stb.);
  • a használhatóságát, azaz, hogy úgy lehet-e használni, ahogy a felhasználó szeretné, elég kényelmes és intuitív-e az alkalmazás a felhasználó számára, megfelel-e az üzleti specifikációnak (→ usability test, UX test, stb.);
  • a biztonságosságát, hogy biztosan nem tudják-e illetéktelenek direkt vagy véletlenül elérni, blokkolni, tönkretenni, visszaélni vele (→ security test, pentest, azaz penetration test stb.); és
  • a teljesítményét, gyorsaságát, hogy elég jól bírja-e a szoftver a kiképzést, vagyis a napi használatot és a különleges terhelést és igénybevételt is (→ performance test, load test, stress test stb.).

 

Másrészt a szoftvertesztelő sem "csak" tesztel, a szó klasszikus értelmében, vagyis teszteket futtat. Ideje nagy részében:

  • teszteket tervez, szervez és dokumentál,
  • igényeket, teszteseteket, rendszereket és körülményeket elemez,
  • az üzleti oldallal, felhasználókkal, fejlesztőkkel és másokkal kommunikál,
  • a teszt automatizációs mérnök (Test Automation Engineer, QA Automation Engineer) pedig kevesebbet tesztel manuálisan, viszont fejleszt - olyan eszközöket, alkalmazásokat, amelyekkel automatizálni tudja tesztek előállítását, futtatását, követését (monitoringját).

 

És, csak hogy ezt is tisztázzuk:nem csak a tesztelők tesztelnek, és jobb esetben nem csak a fejlesztés végeztével.

Funkcionális teszteket végeznek például a fejlesztők, miközben a kódot írják, és összeállítják, integrálják az alkalmazást, és felhasználó teszteket végeznek a felhasználók, amikor már élesítés közelébe kerül az alkalmazás vagy egy része.

Agilis és DevOps szemléletű fejlesztési folyamatokban a folyamatos, a területek között elosztott manuális és az automatizált tesztelési feladatok organikusan beépülnek a fejlesztési folyamatba és az alkalmazás életciklus-menedzsmentjébe. Így egy csomó időt és pénzt lehet spórolni azzal, hogy nem csak a legvégén derül ki, ha bármi gond van.  

 

Miért cool szoftvertesztelőnek lenni?

Tesztelőnek lenni nem csak azért cool, mert ma már IT-s körökben ez egy elismert pozíciónak számít. Az elején azt állítottuk, hogy a szoftvertesztelő munkája izgalmas, teli van kihívással, és nagyon jól meg is fizetik.

1 - Tesztelni izgalmas

Tesztelni nem kevésbé izgalmas vagy unalmas, mint bármi más kreatív, informatika közeli munkát végezni. Többszáz soros kódokat írni naphosszat sem feltétlenül a változatosság csúcsa, és egy AI kutatónak is kell néha adminisztrálnia. Unalmasabb részek is hozzátartoznak az összképhez, amik kiadnak egy-egy szakmát, így a tesztelő munkájához is. (Ha tudsz olyan szakmát, aminek nincs unalmas része, kérjük, mindenképpen írd meg nekünk kommentben ez alatt a poszt alatt a Facebookon! :) ) De ez egyáltalán nem azt jelenti, hogy a szakma, úgy általában, unalmas lenne. Sőt!

  • A funkcionális tesztekhez képbe kell kerülnöd az alkalmazás technikai részleteivel, a fejlesztői aspektussal és az üzemeltetési szempontokkal is. Komoly technikai rálátást szerezhetsz minden újabb projektben, és így egy olyan széles tudást építhetsz fel kódok, funkciók, környezetek, hardverek elemzésével, amivel egy személyben csak kevés szakember rendelkezik egy-egy szervezetnél.
  • A felhasználó tesztek levezényléséhez meg kell értened a felhasználói szempontokat is,  hogyan használhatják ők az alkalmazást, mi lehet a gondjuk vele, ha gondjuk van, milyen esetben és miért. Kvázi hídként kell funkcionálnod az IT és az üzleti oldal között, az üzleti elemzőkhöz hasonlóan.
  • A performancia tesztekhez is mindkét "szemüvegedre" szükség van, a felhasználóira és a technikai szakemberére is. Látnod kell, hogy milyen esetek állhatnak elő, amik próbára tehetik az alkalmazást, és ezek milyen problémát okozhatnak.
  • A biztonsági tesztekhez pedig egyenesen hackerként kell gondolkodnod, és  kreatív módszerekkel kell megpróbálnod feltörni a rendszert - és ha sikerül, a végén még meg is dicsérnek érte.

Bármelyik típusú teszttel is foglalkozol, láthattad, hogy változatos feladataid lesznek: tervezés, szervezés, elemzés, kommunikáció, a manuális tesztek lefuttatása és esetleg automatizált tesztek fejlesztése mellett.

A tesztelés emellett tanulságos is: minden tesztből tanulhatsz valami újat te is, és fejlesztők és a többi szakember is, akiknek a munkájára visszajelzést ad a teszted eredménye.

Végül, de nem utolsósorban pedig az is izgalmassá teszi ezt a munkát, hogy mennyire fontos: mindenki tudja, hogy nagy kihívás a fejlesztés után még a tesztek eredményét is megvárni, de sokkal kellemetlenebb élesben, vagy akár egy későbbi projekt fázisban szembesülni bármilyen problémával, és akkor tüzet oltani (ld. példák fentebb).

2 - Tesztelni kihívás

A fentiekben már érintettük ezt a kérdést is, de számoljunk le egyszer s mindenkorra azzal a mítosszal, hogy könnyebb lenne a tesztelők dolga, mint bárki másé a szoftver-életciklus folyamatban.

  • Egyszerre kell fejlesztői, üzemeltető, felhasználói, üzleti és hacker fejjel gondolkodnod - na jó, ha nem is minddel egyszerre, de ezek közül biztosan többel egyszerre egy-egy teszt során.
  • Egyszerre kell jónak lenned  elemzésben, tervezésben, rendszerezésben, kommunikációban, és adott esetben, fejlesztésben is.
  • Nem csak sokat kell kommunikálnod és világosan, de diplomatának is kell lenned, hiszen sokszor mások munkájában találsz hibát, és erre kell felhívnod a figyelmüket.
  • Empatikusnak kell lenned, amikor a felhasználók és az IT között közvetítve próbálod megérteni az igényeket és problémákat. (A gondolatolvasás külön előny :) )
  • Időmenedzsmentben kifejezetten erősnek kell lenned, hiszen sokszor a tesztre marad a legkevesebb idő, és másokkal is be kell tartatnod határidőket, amikor bevonod őket a tesztelésbe.
  • Ehhez kapcsolódik, hogy fontos, hogy reziliens és lelkiismeretes legyél, és akkor is kitarts a minőség mellett, amikor nagy az időnyomás - és emiatt esetleg mások tesztelik a te idegeidet.

3 - Tesztelni megéri

Az már világos, hogy a szoftvertesztelő tényleg egy komoly szakma. De meg is fizetik? A rövid válasz az, hogy igen. A hosszabb az, hogy igen, meg :)

A Hays kutatása szerint a teszt automatizáció mérnökök körülbelül úgy keresnek, mint a fejlesztők, azaz átlagosan bruttó 600 és 1.200 ezer forint között - nekik körülbelül ugyanannyit is kell időben tanulniuk, hogy elsajátítsák a munkájukhoz szükséges tudást.

A manuális szoftvertesztelők fizetése is nagyon jó helyen áll a hazai átlagfizetésekhez viszonyítva, és megközelíti, bár nem éri el a fejlesztői fizetéseket. Ez nem csoda, hiszen akár pár hónap alatt lehet, szinte bárkiből manuális tesztelő. Ők átlagosan bruttó 400 és 950 ezer forint közötti fizetéseket visznek haza, főleg tapasztalattól függően.

De a pénz nem minden.

Szerintünk a jó fizetés mellett azért is megéri tesztelőnek lenni, mert egy érdekes, kreatív munkád lehet egy jövőálló szakmában. És nem csak a saját és kollégáid fejlődését is segítheted, de könnyebbé teheted emberek életét jobb, stabilabb és biztonságosabb alkalmazásokkal.

 

Mit tegyél, ha szoftvertesztelő szeretnél lenni?

Sikerült meggyőznünk arról, hogy tesztelőnek lenni tényleg menő? Ha igen, már csak 3 teendőd van.

1 - Találd meg azt az irányt és a területet, ami érdekel

Hiszen a tesztelés egy nagy szakma, pontosabban nem is egy szakma, ahogy fentebb láthattad. Olvasgass a fenti linkeken a tesztelés különböző területeiről, és válaszd ki azt, ami igazán neked való lehet.

2 - Találd meg a neked való képzést

Tesztelést tanulhatsz az egyetemen (több elméleti és koncepcionális háttérrel, hosszabb idő alatt) és bootcampekben is (gyorsabban, keresett technológiákra fókuszálva).

Mi a Codecoolnál kétféle tesztelő kurzust is indítunk. Mindkettőt szakmai partnerünktől, a META-INF-től érkező profi mentoraink tartják.

→ Manuális tesztelést nálunk egy 4 hónapos kurzuson tanulhatsz, projekt alapon, a legkeresettebb technológiákat körbejárva, egy szuper hangulatú csapatban. A következő Szoftvertesztelő képzésünk áprilisban indul, és diákhitelt is vehetsz fel rá. Itt tudhatsz meg többet a képzésről.

→ Tesztautomatizálásra pedig a 12 hónapos Full-stack képzésünk végén specializálódhatsz, amikor egyébként több más téma közül is választhatsz még. Van olyan full-stack képzésünk, amelyik csak a hétvégéidet veszi igénybe, és van olyan, amihez még állásgarancia is jár. Kvázi diákhitelként pedig még a tandíjat is meghitelezzük neked, ha szeretnéd. Itt tudhatsz meg többet a Full-stack képzéseinkről.

3 - Jelentkezz!

Ha szimpatikus bármelyik képzésünk, nyugodtan kattints a jelentkezés gombra. Ebben a blogposztban leírtuk részletesen, hogy mi fog utána történni, de a lényeg: ki fog derülni, hogy neked való-e a Codecool, a tesztelés, és közben minden kérdésedre válaszolunk.

 

Reméljük, hamarosan találkozunk!

Megosztás