A tesztelés szintjeit gyakran keverik [link1][link2][link3] más fogalmakkal (tesztelés fázisai, tesztelés típusai, szélességi vagy mélységi tesztelés…). Szeretnénk ezt a fogalmat is körüljárni, reméljük segíteni fog a jobb megértésben.
A tesztelés szintjei
A tesztelési szinteket onnan határozzuk meg, hogy a szoftverfejlesztési életciklus folyamatának mely fázisában találhatók meg.
Az SDLC modellek, azaz magyarul szoftver fejlesztési életciklus modellek különféle fázisokat tartalmaznak, például: követelmények összegyűjtése, elemzés, tervezés, programkód írás, tesztelés, telepítés… Minden fázis, amit az adott modell tartalmaz, szoftvertesztelési szinteken megy keresztül.
Lássuk a szoftvertesztelés 4 szintjét:
- Egységteszt, vagy komponensteszt: azt ellenőrzi, hogy a szoftverkomponensek teljesítik-e a funkciókat vagy sem; a cél az, hogy a szoftver minden részét szétválasztva teszteljük. Ellenőrzi, hogy a komponens megfelel-e a funkcióknak, vagy sem. Ezt a fajta tesztelést a fejlesztők végzik. A komponensteszt a rendszer önálló részeit teszteli általában a forráskód ismeretében (fehér dobozos tesztelés).
- Integrációs teszt: az integráció kombinálást jelent; az adatkapcsolatot ellenőrzi két modul között. Például ebben a tesztelési fázisban a különböző szoftvermodulokat kombinálják és csoportosan tesztelik, hogy megbizonyosodjanak arról, hogy az integrált rendszer készen áll a rendszertesztelésre. Ezt a fajta tesztelést tesztelők (is) végzik.
- Rendszerteszt: A rendszerteszt nagyon gyakran feketedobozos teszt. Gyakran nem is a fejlesztő cég, ahol esetleg elfogultak a tesztelők, hanem egy független cég végzi. A rendszerteszt feladata, hogy ellenőrizze, hogy a specifikációknak megfelel-e a termék. Ha pl. a követelmény specifikáció azt írja, hogy lehessen jelentést készíteni az éves forgalomról, akkor ezt a tesztelők kipróbálják, hogy lehet-e, és hogy helyes-e a jelentés.
Fontos, hogy a rendszerteszthez használt környezet a lehető legjobban hasonlítson a megrendelő környezetére, hogy a környezet-specifikus hibákat is sikerüljön felderíteni.
4. Átvételi teszt: Az átvételi teszt hasonlóan a rendszerteszthez az egész rendszert teszteli, de ezt már a végfelhasználók végzik. Az átvételi teszt legismertebb fajtái a következők:
- alfa teszt,
- béta teszt,
- felhasználói átvételi teszt,
- üzemeltetői átvételi teszt.
Az alfa teszt a kész termék tesztje a fejlesztő cégnél, de nem a fejlesztő csapat által. Ennek része, amikor egy kis segédprogram több millió véletlen egérkattintással ellenőrzi, hogy össze-vissza kattintgatva sem lehet kifektetni a programot.
Ezután következik a béta teszt. A béta tesztet a végfelhasználók egy szűk csoportja végzi. Játékoknál gyakori, hogy a kiadás előtt néhány fanatikus játékosnak elküldik a játékot, akik rövid alatt sokat játszanak vele. Cserébe csak azt kérik, hogy a felfedezett hibákat jelentsék.
Ezután jön egy sokkal szélesebb béta teszt, amit felhasználói átvételi tesztnek nevezünk. Ekkor már az összes, vagy majdnem az összes felhasználó, megkapja a szoftvert és az éles környezetben használatba veszi. Azaz installálják és használják, de még nem a termelésben. Ennek a tesztnek a célja, hogy a felhasználók meggyőződjenek, hogy a termék biztonságosan használható lesz majd éles körülmények között is. Itt már elvárt, hogy a fő funkciók mind működjenek, de előfordulhat, hogy az éles színhelyen előjön olyan környezet függő hiba, ami a teszt környezetben nem jött elő. Lehet ez pl. egy funkció lassúsága.
Ezután már csak az üzemeltetői átvételi teszt van hátra. Ekkor a rendszergazdák ellenőrzik, hogy a biztonsági funkciók, pl. a biztonsági mentés és a helyreállítás, helyesen működnek-e.
Összefoglalás
A tesztelés szintjeinek a szoftverfejlesztési életciklus fázisaihoz van köze. A tesztelési szinteket ezekhez a fázisokhoz rendelhetjük. Négy tesztelési szintet különböztetünk meg:
- egységteszt
- integrációs teszt
- rendszerteszt
- átvételi teszt
Szintenként más-más az adott tesztelési feladat és más felelősei vannak a tesztelésnek.
Jó tesztelés! Hajrá!