Dinamikus tesztelés
A dinamikus tesztelés (vagy dinamikus elemzés) a szoftverfejlesztésben használt kifejezés a kód dinamikus viselkedésének tesztelésére.
A dinamikus tesztelés a rendszer által adott, nem állandó és az időben változó változókra adott fizikai válasz vizsgálatára vonatkozik. A dinamikus tesztelés során a szoftvert ténylegesen le kell fordítani és futtatni kell. Ez magában foglalja a szoftverrel való munkát, bemeneti értékek megadásával és annak ellenőrzését, hogy a kimenet megfelel-e az elvárásoknak, meghatározott tesztesetek végrehajtásával, ami történhet manuálisan vagy automatizált folyamat segítségével. Ez ellentétben áll a statikus teszteléssel. Az egységtesztek, az integrációs tesztek, a rendszertesztek és az átvételi tesztek a dinamikus tesztelést alkalmazzák. A papírból vagy kartonból készült próbaverzióval végzett használhatósági tesztek statikus teszteknek minősíthetők, ha figyelembe vesszük, hogy a programot nem hajtották végre; vagy dinamikus teszteknek, ha figyelembe vesszük a felhasználók közötti interakciót, és az ilyen próbaverzió gyakorlatilag a prototípus legalapvetőbb formája.
Fő eljárás
[szerkesztés]A dinamikus tesztelés folyamata és funkciója a szoftverfejlesztésben egységtesztelésre, integrációs tesztelésre, rendszertesztelésre, átvételi tesztelésre és végül regressziós tesztelésre osztható.
Az egységtesztelés olyan tesztelés, amely a szoftver alapvető összetevőinek helyességére összpontosít. Az egységtesztelés a fehérdobozos tesztelés kategóriájába tartozik. A teljes minőség-ellenőrzési rendszerben az egységtesztelést a termékcsoportnak kell elvégeznie, majd a szoftver átadásra kerül a tesztelési részlegnek.
Az integrációs tesztelés arra szolgál, hogy a teljes szoftver integrációs folyamata során felderítsük, hogy a különböző egységek közötti interfészek megfelelően kapcsolódnak-e egymáshoz.
Az integrációt befejezett szoftverrendszer tesztelését rendszertesztnek nevezzük, és a tesztelés célja annak ellenőrzése, hogy a szoftverrendszer helyessége és teljesítménye megfelel-e a specifikációban meghatározott követelményeknek. A tesztelőknek a megállapított teszttervet kell követniük. A szoftver robusztusságának és könnyű használhatóságának tesztelésekor a szoftver bemeneti, kimeneti és egyéb dinamikus működési viselkedését össze kell hasonlítani a szoftver specifikációival. Ha a szoftver specifikációja hiányos, a rendszer tesztelése inkább a tesztelő munkatapasztalatától és megítélésétől függ, az ilyen tesztelés nem elegendő. A rendszerteszt a feketedobozos tesztelés.
Ez a szoftver használatba vétele előtti utolsó teszt. Ez a szoftver vevő általi kipróbálási folyamata. A vállalat tényleges munkájában általában úgy valósítják meg, hogy megkérik a vevőt, hogy próbálja ki vagy adja ki a szoftver béta verzióját. Az átvételi teszt a feketedobozos tesztelés.
A regressziós tesztelés célja az elfogadási tesztek eredményeinek ellenőrzése és módosítása a szoftver karbantartási fázisában. A gyakorlati alkalmazásokban az ügyfélpanaszok kezelése a regressziós tesztelés egyik megtestesítője.
Értékelés
[szerkesztés]Előnyök
[szerkesztés]- A dinamikus tesztelés azonosíthatja a futási környezet gyenge pontjait.
- A dinamikus tesztelés akkor is támogatja az alkalmazás elemzését, ha a tesztelő nem rendelkezik tényleges kóddal.
- A dinamikus tesztelés azonosíthat néhány olyan sebezhetőséget, amelyet statikus teszteléssel nehéz megtalálni.
- A dinamikus tesztelés a statikus tesztelés eredményeinek helyességét is ellenőrizheti.
- A dinamikus tesztelés bármilyen alkalmazásnál alkalmazható.
Hátrányok
[szerkesztés]- Az automatizált eszközök rossz biztonságot adhatnak, például mindent ellenőrizhetnek.
- Az automatizált eszközök hamis pozitív és hamis negatív eredményeket hozhatnak.
- Nem könnyű képzett dinamikus tesztelési szakembereket találni.
- A dinamikus teszteléssel nehéz a kódban lévő sebezhetőségek nyomára bukkanni, és hosszabb ideig tart a probléma kijavítása. Ezért a hibák javítása költségessé válik.
Fordítás
[szerkesztés]Ez a szócikk részben vagy egészben a Dynamic testing című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.
Források
[szerkesztés]- G.J. Myers, The Art of Software Testing, John Wiley and Sons, New York, New York, 1979.