Mi az a dinamikus tesztelés? Típusok, technikák és példák
Dinamikus tesztelés
Dinamikus tesztelés egy szoftvertesztelési módszer, amelyet a szoftverkód dinamikus viselkedésének tesztelésére használnak. A dinamikus tesztelés fő célja a szoftver viselkedésének tesztelése dinamikus változókkal vagy változókkal, amelyek nem állandóak, és gyenge területeket keresve a szoftver futtatókörnyezetében. A kódot végre kell hajtani a dinamikus viselkedés teszteléséhez.
Mindannyian tudjuk, hogy a tesztelés ellenőrzés és érvényesítés, és 2 V-ra van szükség a tesztelés befejezéséhez. A 2 V közül az ellenőrzést statikus tesztelésnek, a másik „V”-t, az érvényesítést dinamikus tesztelésnek nevezik.
Példa dinamikus tesztelésre
Nézzük meg a dinamikus tesztelés végrehajtását egy példán keresztül:
Tegyük fel, hogy tesztelünk egy bejelentkezési oldalt, ahol két mezőnk van: „Felhasználónév” és „Jelszó”, és a felhasználónév alfanumerikusra korlátozódik.
Amikor a felhasználó „Guru99”-ként adja meg a Felhasználónevet, a rendszer elfogadja azt. Amikor a felhasználó Guru99@123 néven lép be, akkor az alkalmazás hibaüzenetet ad. Ez az eredmény azt mutatja, hogy a kód dinamikusan működik a felhasználói bevitel alapján.
A dinamikus tesztelés az, amikor a tényleges rendszerrel dolgozik úgy, hogy bemenetet biztosít, és összehasonlítja az alkalmazás tényleges viselkedését a várt viselkedéssel. Más szóval, a rendszerrel való munka azzal a céllal, hogy hibákat keressen.
A fenti állítások alapján tehát azt mondhatjuk, vagy arra a következtetésre juthatunk, hogy a dinamikus tesztelés a szoftveralkalmazások végfelhasználóként való érvényesítésének folyamata különböző környezetekben a megfelelő szoftver elkészítése érdekében.
Mit csinál a dinamikus tesztelés?
A Dinamikus tesztek fő célja annak biztosítása, hogy a szoftver megfelelően működjön a szoftver telepítése közben és után is, biztosítva a stabil alkalmazást jelentősebb hibák nélkül (ez az állítás azért van így, mert egyetlen szoftver sem hibamentes, csak tesztelés mutathatja ki a hibák meglétét, ill. nem hiányzás)
A dinamikus teszt fő célja a szoftverrel való konzisztencia biztosítása; beszéljük meg ezt egy példával.
Egy banki alkalmazásban különböző képernyőket találunk, például a Saját számlák szakaszt, az Átutalás, Bill Fizetés, stb. Ezek a képernyők tartalmaznak összeg mezőt, amely elfogad néhány karaktert.
Tegyük fel, hogy a Saját számláim mezőben az összeg a következőképpen jelenik meg: 25,000 és Pénzátutalás mint $25,000 és a Bill fizetési képernyő mint $25000 bár az összeg ugyanaz, az összeg megjelenítési módja nem ugyanaz, így a szoftver nem konzisztens.
A következetesség nem csak a funkcionalitásra korlátozódik, hanem különböző szabványokra is utal, mint például a teljesítmény, a használhatóság, a kompatibilitás stb., ezért nagyon fontossá válik a dinamikus tesztelés végrehajtása.
A dinamikus tesztelés típusai
A dinamikus tesztelés két kategóriába sorolható
- fehér Box Tesztelés
- Fekete Box Tesztelés
Az alábbi képi ábrázolás képet ad a dinamikus tesztelés típusairól, a tesztelés szintjeiről stb.
Beszéljük meg röviden az egyes tesztelési típusokat és azok tervezett célját
fehér Box Tesztelés - fehér Box Tesztelés egy olyan szoftvertesztelési módszer, amelyben a tesztelő ismeri a belső szerkezetet/kialakítást. Fehér fő célja Box A tesztelés célja annak ellenőrzése, hogy a rendszer hogyan teljesít a kód alapján. Főleg a Developers vagy a White végzi Box Tesztelők, akik ismerik a programozást.
Fekete Box Tesztelés - Fekete Box Tesztelés egy olyan tesztelési módszer, amelyben a belső szerkezet/kód/design szerepel NEM ismeri a tesztelő. Ennek a tesztelésnek a fő célja a tesztelt rendszer működőképességének ellenőrzése és az ilyen típusú tesztelés a teljes tesztcsomag végrehajtását igényli, és főként a Tesztelők végzik, és nincs szükség programozási ismeretekre.
A Fekete Box A tesztelést ismét két típusba soroljuk.
Ők
- Funkcionális tesztelés
- Nem funkcionális tesztelés
Funkcionális tesztelés:
Funkcionális tesztelés történik annak igazolására, hogy az összes kifejlesztett szolgáltatás megfelel-e a funkcionális specifikációnak, és a QA csapat által írt funkcionális tesztesetek végrehajtásával történik, a funkcionális tesztelés fázisában a rendszer tesztelése bemenet biztosításával, kimenet ellenőrzésével, ill. a tényleges eredmények összehasonlítása a várt eredményekkel.
A funkcionális tesztelésnek különböző szintjei vannak, amelyek közül a legfontosabbak
- Egység tesztelése - Általában az egység egy kis kódrészlet, amely tesztelhető, Egység tesztelése az egyes szoftveregységekben történik, és a fejlesztők végzik
- Integrációs tesztelés - Integrációs tesztelés a tesztelés, amelyet az egységtesztelés után hajtanak végre, és az összes tesztelhető egyedi egység kombinálásával hajtják végre, és fejlesztők vagy tesztelők végzik
- Rendszer tesztelés - Rendszer tesztelés egy olyan művelet, amely annak ellenőrzésére szolgál, hogy a rendszer a követelményeknek megfelelően működik-e, és általában akkor hajtják végre, amikor a teljes rendszer készen áll. Ezt a tesztelők végzik el, amikor a Build vagy a kód kiadásra kerül a minőségbiztosítási csapat számára
- Átvételi teszt – Elfogadási tesztet hajtanak végre annak ellenőrzésére, hogy a rendszer megfelel-e az üzleti követelményeknek, készen áll-e a használatra vagy készen áll a telepítésre, és általában a végfelhasználók végzik.
Nem funkcionális tesztelés: A nem funkcionális tesztelés olyan tesztelési technika, amely nem a funkcionális szempontokra összpontosít, és főként a rendszer nem funkcionális jellemzőire koncentrál, mint például a memóriaszivárgás, a teljesítmény vagy a rendszer robusztussága. A nem funkcionális tesztelést minden tesztszinten elvégzik.
Számos nem funkcionális tesztelési technika létezik, amelyek közül a legfontosabbak
- Teljesítményfelmérés - Teljesítményfelmérés Ennek ellenőrzésére kerül sor, hogy a rendszer válaszideje normális-e a követelményeknek megfelelően a kívánt hálózati terhelés mellett.
- Helyreállítási tesztelés – A helyreállítási tesztelés egy módszer annak ellenőrzésére, hogy a rendszer mennyire képes helyreállni összeomlások és hardverhibák után.
- Kompatibilitási tesztelés – A kompatibilitási tesztelés célja annak ellenőrzése, hogy a rendszer hogyan viselkedik a különböző környezetekben.
- Biztonsági tesztelés - Biztonsági tesztelés az alkalmazás robusztusságának ellenőrzésére kerül végrehajtásra, azaz annak biztosítására, hogy csak a jogosult felhasználók/szerepek férhessenek hozzá a rendszerhez.
- Használhatóság tesztelése - Használhatóság tesztelése Ez egy módszer a rendszer használhatóságának a végfelhasználók általi ellenőrzésére, hogy ellenőrizze, mennyire érzik jól magukat a rendszerrel.
Dinamikus tesztelési technikák
Dinamikus tesztelési technikák in STLC különböző feladatokból áll, mint például a tesztek követelményelemzése, a teszttervezés, a teszteset tervezése és megvalósítása, a tesztkörnyezet beállítása, a teszteset végrehajtása, a hibajelentés és végül a teszt lezárása. A dinamikus tesztelési technikák összes feladata a tesztelési folyamat előző feladatának befejezésétől függ.
Az STLC-ben azt mondhatjuk, hogy a tényleges dinamikus tesztelési folyamat a teszteset tervezésétől kezdődik, beszéljük meg részletesen az egyes tevékenységeket.
Mielőtt belevágna a folyamatba, beszélje meg a dinamikus teszteléshez követendő stratégiát.
A tesztstratégiának elsősorban a rendelkezésre álló erőforrásokra és az időkeretre kell összpontosítania. Ezen tényezők alapján dokumentálni kell a tesztelés célját, a tesztelés körét, a tesztelés fázisait vagy ciklusait, a környezet típusát, az esetlegesen felmerülő feltételezéseket vagy kihívásokat, kockázatokat stb.
Amint a stratégia definiált és a menedzsment elfogadta, megkezdődik a tényleges folyamat teszteset tervezése
Mi az a teszttervezés és megvalósítás?
Ebben a fázisban azonosítjuk a
- Tesztelendő tulajdonságok
- Vezesse le a vizsgálati feltételeket
- Vezesse le a fedezeti tételeket
- Vezesse le a teszteseteket
Tesztkörnyezet beállítása
Biztosítanunk kell, hogy a Tesztelési Környezet mindig hasonló legyen a Termelési környezethez, ebben a fázisban kell telepítenünk a buildet és kezelnünk kell a tesztgépeket.
Teszt végrehajtása
Ebben a fázisban a tesztesetek ténylegesen végrehajtásra kerülnek.
A hibajelentés rögzítve
A végrehajtás alapján, ha a várt és a tényleges eredmények nem egyeznek meg, akkor a tesztesetet sikertelenként kell megjelölni, és egy hibát naplózni kell.
A dinamikus tesztelés előnyei
- A dinamikus tesztelés feltárhatja azokat a feltárt hibákat, amelyeket túl nehéznek vagy bonyolultnak tartanak, és amelyeket statikus elemzéssel nem lehet fedezni
- A dinamikus tesztelés során a szoftvert a végétől a végéig végrehajtjuk, biztosítva a hibamentes szoftvert, ami viszont javítja a termék és a projekt minőségét.
- A dinamikus tesztelés alapvető eszközzé válik a biztonsági fenyegetések észleléséhez
A dinamikus tesztelés hátrányai
- A dinamikus tesztelés időigényes, mert végrehajtja azt az alkalmazást/szoftvert vagy kódot, amely hatalmas mennyiségű erőforrást igényel
- A dinamikus tesztelés növeli a projekt/termék költségét, mivel nem indul el a szoftver életciklusának korai szakaszában, így a későbbi szakaszokban kijavított problémák költségnövekedéshez vezethetnek.
Következtetés
In Szoftverfejlesztés, Az ellenőrzés és az érvényesítés két olyan intézkedés, amellyel ellenőrizhető, hogy a szoftvertermék megfelel-e a követelményeknek. A statikus tesztelés ellenőrzést foglal magában, míg a dinamikus tesztelés érvényesítést. Együtt segítik a költséghatékony minőségi szoftvert.