
Miért is olyan fontos a tesztelés? Egyes kutatásokból kiderült, hogy egy nemzetközi vállalat esetében egy hiba által okozott leállási idő akár óránként 1-5 millió dollár közötti veszteséget is eredményezhet. Ezek után talán már nem is kérdés az, hogy mennyire elengedhetetlen a tesztelés. Ennek ellenére mégis számos mítosz és túlzott általánosítás létezik a minőségbiztosítással kapcsolatban.
"Egyszerű feladatnak tűnik."
Az egyik leggyakoribb tévhit a teszteléssel kapcsolatban, hogy ez egy könnyű feladat. Ezzel szemben a minőségbiztosításért felelős szakemberek azt állítják, hogy ez egy igenis nehéz feladat, amely sok szoftveres megközelítést, valamint egyaránt manuális és automata tesztelést foglal magába. Fontos leszögezni, hogy a tesztelés a hibák felderítésének módja, amelyek azonosításához rengeteg erőfeszítés szükséges. A tesztelőnek először meg kell ismernie a szoftvert, és végül csak ezután kezdődhet a minőségbiztosításhoz szükséges tesztelés. Egyértelmű tehát, hogy a minőségbiztosítás minden rendszer és szoftver hatékony teszteléséhez elengedhetetlen – és nem is könnyű feladat.
"A minőségbiztosításhoz nem szükséges kódolás."
Sokan úgy gondolják, hogy a tesztelés nem igényel magas szintű kódolási jártasságot, azonban nem szabad elfelejteni, hogy ez csupán egy mítosz. A tesztelőnek ismernie kell az adatbázis szintű műveletekhez használatos SQL-lekérdezések megírásához szükséges parancsokat és utasításokat, az automata teszteléshez szükséges technológiákat – legyen az HTML, CSS, XPATH, Javascript vagy Unit test framework –, a CI rendszerek működését, továbbá az OS szintű szkripteket (pl. Linux) és sok más, technikai szintű dolgot. Az automata teszteket csak akkor tudja megfelelően megírni a QA csapat, ha ismeri az adott kódnyelvet, illetve a hozzá tartozó keretrendszert. Ez a szintű technikai mélység nem csak a tesztrendszerek fejlesztésében jelent segítséget, hanem a tervezésből és a használt megoldásokból adódó szoftverhibák felismerésében is.
"Az emberi tesztelők mára elavulttá váltak."
A mesterséges intelligencia megoldások napról napra fejlődnek és egyre nagyobb hangsúlyt kapnak a különböző iparágakban, így a szoftvertesztelésben is. De ez nem jelenti azt, hogy az emberi tesztelők feleslegessé válnak, még akkor sem, ha az AI modellek képesek elvégezni egy-egy munkafolyamatot. A valódi tesztelő képes rendszerben gondolkodni, átlátni a komplex műveletek működését, figyelembe tudja venni a követelményeket (funkcionális, nem funkcionális), amire manapság még nem tud megoldást nyújtani az AI. Hosszabb távon elképzelhető, hogy domain függő use case-kre képes lesz teszteseteket generálni akár manuális, akár automata tesztek esetén, azonban az ördög a részletekben rejlik, így a kreativitást igénylő edge case-k és a negatív esetek kezelése feltehetően továbbra is az emberi szoftvertesztelő munkatársak felségterülete marad.
Ezek valóban csak mítoszok?
Napjainkban még mindig átlagosan kevesebb, mint 20% erőforrás összpontosul egy fejlesztés alatt álló szoftver tesztelésére. Ezért szükséges, hogy mind a technikai, mind pedig a menedzsment oldal helyén kezelje a minőségbiztosítást, hogy határidőre, a kívánt minőségben és budgetben készüljenek el a szoftverfejlesztési projektek.