Čo je to dynamické testovanie? Typy, techniky a techniky Príklad

Obsah:

Anonim

Dynamické testovanie

Dynamické testovanie je metóda testovania softvéru používaná na testovanie dynamického správania softvérového kódu. Hlavným účelom dynamického testovania je testovanie správania softvéru pomocou dynamických premenných alebo premenných, ktoré nie sú stále, a nájdenie slabých miest v prostredí runtime softvéru. Kód je potrebné vykonať, aby sa dalo otestovať dynamické správanie.

Všetci vieme, že testovanie je overovanie a overovanie a jeho dokončenie trvá 2 V. Z 2 V sa overenie nazýva statické testovanie a druhé „V“ sa validácia nazýva dynamické testovanie.

Príklad dynamického testovania

Poďme si porozumieť Ako urobiť dynamické testovanie na príklade:

Predpokladajme, že testujeme prihlasovaciu stránku, na ktorej máme dve polia: „Meno používateľa“ a „Heslo“ a meno používateľa je obmedzené na alfanumerické znaky.

Keď používateľ zadá používateľské meno ako „Guru99“, systém ho prijme. Zatiaľ čo používateľ zadá ako Guru99 @ 123, potom aplikácia zobrazí chybové hlásenie. Tento výsledok ukazuje, že kód koná dynamicky na základe vstupu používateľa.

Dynamické testovanie je vtedy, keď pracujete so skutočným systémom poskytnutím vstupu a porovnaním skutočného správania aplikácie s očakávaným správaním. Inými slovami, práca so systémom so zámerom nájsť chyby.

Na základe vyššie uvedených tvrdení teda môžeme konštatovať alebo dospieť k záveru, že dynamické testovanie je proces overovania softvérových aplikácií ako koncového používateľa v rôznych prostrediach s cieľom vytvoriť správny softvér.

Čo robí dynamické testovanie?

Hlavným cieľom dynamických testov je zabezpečiť, aby softvér fungoval správne počas aj po inštalácii softvéru a zabezpečiť tak stabilnú aplikáciu bez väčších nedostatkov (toto vyhlásenie je uvedené, pretože žiadny softvér nie je bezchybný, iba pri testovaní sa môže preukázať prítomnosť chýb a nie absencia)

Hlavným účelom dynamického testu je zabezpečiť konzistenciu so softvérom; poďme o tom diskutovať na príklade.

V bankovej aplikácii nájdeme rôzne obrazovky, ako napríklad sekcia Moje účty, prevod prostriedkov, platba účtu atď. Všetky tieto obrazovky obsahujú pole sumy, ktoré akceptuje niektoré znaky.

Povedzme, že pole Moje účty zobrazuje sumu ako 25 000 a Prevod prostriedkov ako 25 000 $ a obrazovka Výplata faktúry ako 25 000 $, aj keď je suma rovnaká, spôsob zobrazenia sumy nie je rovnaký, preto je softvér nekonzistentný.

Konzistencia sa neobmedzuje iba na funkčnosť, ale tiež odkazuje na rôzne štandardy, ako je výkon, použiteľnosť, kompatibilita atď., Preto je veľmi dôležité vykonať dynamické testovanie.

Typy dynamického testovania

Dynamické testovanie je rozdelené do dvoch kategórií

  • Testovanie bielej skrinky
  • Testovanie čiernej skrinky

Nasledujúce obrázkové znázornenie nám poskytuje predstavu o typoch dynamického testovania, úrovniach testovania atď.

V krátkosti si povieme niečo o každom type testovania a jeho zamýšľanom účele

Testovanie bielej skrinky - Testovanie bielej skrinky je metóda testovania softvéru, pri ktorej je testerovi známa vnútorná štruktúra / dizajn. Hlavným cieľom testovania Bielej skrinky je skontrolovať výkon systému na základe kódu. Vykonávajú to hlavne vývojári alebo testéri bielej skrinky, ktorí majú znalosti o programovaní.

Testovanie čiernej skrinky - Testovanie čiernej skrinky je metóda testovania, pri ktorej testerovi NIE JE známa vnútorná štruktúra / kód / dizajn . Hlavným cieľom tohto testovania je overiť funkčnosť testovaného systému a tento typ testovania vyžaduje vykonanie kompletnej testovacej sady a vykonávajú ho hlavne testéri. Nie sú potrebné žiadne znalosti programovania.

Testovanie čiernej skrinky je opäť rozdelené do dvoch typov.

Oni sú

  • Funkčné testovanie
  • Nefunkčné testovanie

Funkčné testovanie:

Funkčné testovanie sa vykonáva s cieľom overiť, či sú všetky vyvinuté funkcie v súlade s funkčnými špecifikáciami, a vykonáva sa vykonaním prípadov funkčných testov napísaných tímom QA. Vo fáze funkčného testovania sa systém testuje poskytnutím vstupu, overením výstupu a porovnanie skutočných výsledkov s očakávanými výsledkami.

Existujú rôzne úrovne funkčného testovania, z ktorých najdôležitejšie sú

  • Unit Testing - Unit je všeobecne malý kúsok kódu, ktorý je testovateľný. Unit Testing sa vykonáva na samostatnej jednotke softvéru a vykonávajú ho vývojári.
  • Testovanie integrácie - Testovanie integrácie je testovanie, ktoré sa vykonáva po testovaní jednotiek a vykonáva sa kombináciou všetkých jednotlivých jednotiek, ktoré sú testovateľné a ktoré vykonávajú vývojári alebo testeri.
  • Testovanie systému - Testovanie systému sa vykonáva s cieľom zabezpečiť, či systém funguje podľa požiadaviek, a zvyčajne sa vykonáva, keď je pripravený celý systém. Vykonávajú ho testéri, keď sa tímu QA uvoľní verzia alebo kód
  • Acceptance Testing - Acceptance testovanie sa vykonáva s cieľom overiť, či systém splnil obchodné požiadavky a je pripravený na použitie alebo pripravený na nasadenie a zvyčajne ho vykonávajú koncoví používatelia.

Nefunkčné testovanie : Nefunkčné testovanie je testovacia technika, ktorá sa nezameriava na funkčné aspekty a zameriava sa hlavne na nefunkčné atribúty systému, ako sú úniky pamäte, výkon alebo odolnosť systému. Nefunkčné testovanie sa vykonáva na všetkých testovacích úrovniach.

Existuje mnoho nefunkčných testovacích techník, z ktorých najdôležitejšie sú

  • Testovanie výkonu - Testovanie výkonu sa vykonáva s cieľom skontrolovať, či je čas odozvy systému normálny podľa požiadaviek pri požadovanom zaťažení siete.
  • Testovanie obnovy - Testovanie obnovy je metóda na overenie schopnosti systému zotaviť sa po zlyhaniach a zlyhaniach hardvéru.
  • Testovanie kompatibility - Testovanie kompatibility sa vykonáva s cieľom overiť, ako sa systém správa v rôznych prostrediach.
  • Testovanie bezpečnosti - Testovanie bezpečnosti sa vykonáva na overenie robustnosti aplikácie, tj na zabezpečenie prístupu k systému iba autorizovaným používateľom / rolám.
  • Testovanie použiteľnosti - Testovanie použiteľnosti je metóda na overenie použiteľnosti systému koncovými používateľmi na overenie toho, ako pohodlne sú používatelia so systémom.

Techniky dynamického testovania

Techniky dynamického testovania v STLC pozostávajú z rôznych úloh, ako je Analýza požiadaviek na testy, Plánovanie testov, Návrh a implementácia testovacích prípadov, Nastavenie testovacieho prostredia, Vykonanie testovacích prípadov, Hlásenie chýb a nakoniec Uzavretie testu. Všetky úlohy v technikách dynamického testovania závisia od dokončenia predchádzajúcej úlohy v testovacom procese.

V STLC môžeme povedať, že skutočný proces dynamického testovania začína od Design Case Design, poďme si podrobne rozobrať každú aktivitu.

Predtým, ako sa pustíme do procesu, poďme diskutovať o stratégii, ktorú je potrebné dodržať pri dynamickom testovaní.

Stratégia testovania by sa mala zamerať hlavne na dostupné zdroje a časový rámec. Na základe týchto faktorov musí byť zdokumentovaný cieľ testovania, rozsah testovania, fázy alebo cykly testovania, typ prostredia, predpoklady alebo výzvy, ktorým by bolo možné čeliť, riziká atď.

Len čo je stratégia definovaná a prijatá manažmentom, začne sa skutočný návrh testovacieho procesu

Čo je návrh a implementácia testu

V tejto fáze identifikujeme,

  • Funkcie, ktoré sa majú testovať
  • Odvodiť testovacie podmienky
  • Odvodiť položky pokrytia
  • Odvodiť testovacie prípady

Vyskúšajte nastavenie prostredia

Musíme zabezpečiť, aby testovacie prostredie malo byť vždy podobné produkčnému prostrediu, v tejto fáze musíme nainštalovať zostavu a spravovať testovacie stroje.

Vykonanie testu

Počas tejto fázy sa skutočne vykonávajú testovacie prípady.

Správa o chybe zachytená

Na základe vykonania, ak očakávané a skutočné výsledky nie sú rovnaké, musí byť testovací prípad označený ako nevyhovujúci a mala by sa zaznamenať chyba.

Výhody dynamického testovania

  • Dynamické testovanie môže odhaliť neodhalené chyby, ktoré sa považujú za príliš ťažké alebo zložité a ktoré nemožno pokryť statickou analýzou
  • Pri dynamickom testovaní softvér prevádzkujeme od začiatku do konca, čím zabezpečujeme bezchybný softvér, ktorý zase zvyšuje kvalitu produktu a projektu.
  • Dynamické testovanie sa stáva základným nástrojom na zisťovanie akýchkoľvek bezpečnostných hrozieb

Nevýhody dynamického testovania

  • Dynamické testovanie je časovo náročné, pretože vykonáva aplikáciu / softvér alebo kód, ktorý vyžaduje obrovské množstvo zdrojov
  • Dynamické testovanie zvyšuje náklady na projekt / produkt, pretože sa nezačína na začiatku životného cyklu softvéru, a preto akékoľvek problémy opravené v neskorších fázach môžu viesť k zvýšeniu nákladov.

Záver:

V softvérovom inžinierstve sú verifikácia a validácia dve opatrenia, ktoré sa používajú na kontrolu, či softvérový produkt spĺňa špecifikácie požiadaviek. Statické testovanie zahŕňa overenie, zatiaľ čo dynamické testovanie zahŕňa validáciu. Spoločne pomáhajú dodávať nákladovo efektívny kvalitný softvér.

Do tohto príspevku prispieva Radhika Renamala