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 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 Előnyök
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
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
Források G.J. Myers, The Art of Software Testing, John Wiley and Sons, New York, New York, 1979.
Kategória:Szoftvertesztelés