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.

A dinamikus tesztelés típusai

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.

Dinamikus tesztelési technikák

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.