Dynamické testování
Dynamické testování je metoda testování softwaru používaná k testování dynamického chování softwarového kódu. Hlavním účelem dynamického testování je testování chování softwaru pomocí dynamických proměnných nebo proměnných, které nejsou konstantní, a hledání slabých oblastí v softwarovém běhovém prostředí. Kód je nutné provést, aby bylo možné otestovat dynamické chování.
Všichni víme, že testování je ověřování a ověřování a dokončení testu trvá 2 Vs. Ze 2 V se Ověření nazývá statické testování a druhé „V“ je ověření známé jako dynamické testování.
Příklad dynamického testování
Pojďme pochopit, jak provést dynamické testování na příkladu:
Předpokládejme, že testujeme přihlašovací stránku, kde máme dvě pole, která říkají „Uživatelské jméno“ a „Heslo“ a uživatelské jméno je omezeno na alfanumerické.
Když uživatel zadá uživatelské jméno jako „Guru99“, systém to stejné přijme. Kde jako když uživatel vstoupí jako Guru99 @ 123, aplikace zobrazí chybovou zprávu. Tento výsledek ukazuje, že kód jedná dynamicky na základě vstupu uživatele.
Dynamické testování je, když pracujete se skutečným systémem zadáním vstupu a porovnáním skutečného chování aplikace s očekávaným chováním. Jinými slovy, práce se systémem se záměrem najít chyby.
Na základě výše uvedených tvrzení tedy můžeme říci nebo dojít k závěru, že dynamické testování je proces ověřování softwarových aplikací jako koncového uživatele v různých prostředích za účelem vytvoření správného softwaru.
Co dělá dynamické testování?
Hlavním cílem dynamických testů je zajistit, aby software fungoval správně během a po instalaci softwaru a zajistit stabilní aplikaci bez větších nedostatků (toto prohlášení je učiněno, protože žádný software není bez chyb, pouze testování může ukázat přítomnost vad a ne absence)
Hlavním účelem dynamického testu je zajistit konzistenci softwaru; pojďme o tom diskutovat na příkladu.
V bankovní aplikaci najdeme různé obrazovky, jako je sekce Moje účty, Převod prostředků, Vyúčtování plateb atd. Všechny tyto obrazovky obsahují pole částky, které přijímá některé znaky.
Řekněme, že pole Moje účty zobrazuje částku 25 000 a Převod prostředků 25 000 $ a obrazovka Fakturace 25 000 $, i když je částka stejná, způsob zobrazení částky není stejný, proto je software nekonzistentní.
Konzistence se neomezuje pouze na funkčnost, ale také odkazuje na různé standardy, jako je výkon, použitelnost, kompatibilita atd., Proto je velmi důležité provádět dynamické testování.
Typy dynamického testování
Dynamické testování je rozděleno do dvou kategorií
- Testování bílé skříňky
- Testování černé skříňky
Níže uvedená obrazová reprezentace nám poskytuje představu o typech dynamického testování, úrovních testování atd.
Pojďme si krátce promluvit o každém typu testování a jeho zamýšleném účelu
White Box Testing - White Box Testing je metoda testování softwaru, při které je testerovi známa vnitřní struktura / design. Hlavním cílem testování White Boxu je zkontrolovat, jak si systém vede na základě kódu. Provádí ji hlavně vývojáři nebo testeři White Box, kteří mají znalosti o programování.
Black Box Testing - Black Box Testing je metoda testování, při které testerovi není známa vnitřní struktura / kód / design . Hlavním cílem tohoto testování je ověřit funkčnost testovaného systému a tento typ testování vyžaduje provedení kompletní testovací sady a je prováděno hlavně testery a není třeba žádné znalosti programování.
Black Box Testing opět rozdělit do dvou typů.
Oni jsou
- Funkční testování
- Nefunkční testování
Funkční testování:
Funkční testování se provádí za účelem ověření, že všechny vyvíjené funkce jsou v souladu s funkčními specifikacemi, a provádí se prováděním případů funkčních testů napsaných týmem QA, ve fázi funkčního testování je systém testován poskytnutím vstupu, ověřením výstupu a porovnání skutečných výsledků s očekávanými.
Existují různé úrovně funkčního testování, z nichž nejdůležitější jsou
- Unit Testing - Obecně Unit je malá část kódu, která je testovatelná, Unit Testing se provádí na jednotlivé jednotce softwaru a provádí ji vývojáři
- Testování integrace - Testování integrace je testování, které se provádí po testování jednotky a provádí se kombinací všech jednotlivých jednotek, které jsou testovatelné a provádějí je buď vývojáři, nebo testeři
- Testování systému - Testování systému se provádí, aby se zajistilo, zda systém funguje podle požadavků a obecně se provádí, když je připraven celý systém, provádějí ho testeři, když je týmu QA vydána verze nebo kód
- Acceptance Testing - Acceptance testování se provádí k ověření, zda systém splnil obchodní požadavky a je připraven k použití nebo připraven k nasazení a je obecně prováděn koncovými uživateli.
Nefunkční testování : Nefunkční testování je testovací technika, která se nezaměřuje na funkční aspekty a soustředí se hlavně na nefunkční atributy systému, jako jsou úniky paměti, výkon nebo robustnost systému. Nefunkční testování se provádí na všech úrovních testování.
Existuje mnoho nefunkčních testovacích technik, z nichž nejdůležitější jsou
- Testování výkonu - Testování výkonu se provádí za účelem kontroly, zda je doba odezvy systému normální podle požadavků při požadovaném zatížení sítě.
- Testování obnovy - Testování obnovy je metoda k ověření toho, jak dobře je systém schopen zotavit se z havárií a selhání hardwaru.
- Testování kompatibility - Testování kompatibility se provádí za účelem ověření chování systému v různých prostředích.
- Testování zabezpečení - Testování zabezpečení se provádí za účelem ověření robustnosti aplikace, tj. Aby se zajistilo, že do systému přistupují pouze oprávnění uživatelé / role
- Testování použitelnosti - Testování použitelnosti je metoda k ověření použitelnosti systému koncovými uživateli k ověření toho, jak pohodlně jsou uživatelé se systémem.
Techniky dynamického testování
Techniky dynamického testování v STLC se skládají z různých úkolů, jako je Analýza požadavků na testy, Plánování testů, Návrh a implementace testovacích případů, Nastavení testovacího prostředí, Provádění testovacích případů, Hlášení chyb a nakonec Uzavření testu. Všechny úkoly v technikách dynamického testování jsou závislé na dokončení předchozí úlohy v procesu testování.
Ve STLC můžeme říci, že skutečný proces dynamického testování začíná od Design Case Design, pojďme podrobně probrat každou aktivitu.
Než se dostaneme do procesu, pojďme diskutovat o strategii, kterou je třeba dodržet pro dynamické testování.
Strategie testování by se měla zaměřit hlavně na dostupné zdroje a časový rámec. Na základě těchto faktorů musí být zdokumentován cíl testování, rozsah testování, fáze nebo cykly testování, typ prostředí, předpoklady nebo výzvy, kterým lze čelit, rizika atd.
Jakmile je strategie definována a přijata vedením, začne skutečný návrh testovacího procesu procesu
Co je návrh a implementace testu
V této fázi identifikujeme,
- Vlastnosti, které mají být testovány
- Odvozte zkušební podmínky
- Odvozte položky pokrytí
- Odvozte testovací případy
Nastavení testovacího prostředí
Musíme zajistit, že testovací prostředí by mělo být vždy podobné produkčnímu prostředí, v této fázi musíme nainstalovat sestavení a spravovat testovací stroje.
Provedení testu
Během této fáze jsou testovací případy skutečně provedeny.
Zpráva o chybě zachycena
Na základě provedení, pokud očekávané a skutečné výsledky nejsou stejné, musí být testovací případ označen jako selhání a měla by být zaznamenána chyba.
Výhody dynamického testování
- Dynamické testování může odhalit nezjištěné vady, které jsou považovány za příliš obtížné nebo komplikované a které nelze pokrýt statickou analýzou
- V dynamickém testování provádíme software od začátku do konce a zajišťujeme bezchybný software, který zase zvyšuje kvalitu produktu a projektu.
- Dynamické testování se stává základním nástrojem pro detekci jakýchkoli bezpečnostních hrozeb
Nevýhody dynamického testování
- Dynamické testování je časově náročné, protože spouští aplikaci / software nebo kód, který vyžaduje obrovské množství zdrojů
- Dynamické testování zvyšuje náklady na projekt / produkt, protože nezačíná brzy v životním cyklu softwaru, a proto jakékoli problémy opravené v pozdějších fázích mohou vést ke zvýšení nákladů.
Závěr:
V softwarovém inženýrství jsou ověření a ověření dvě opatření používaná ke kontrole, zda softwarový produkt splňuje specifikace požadavků. Statické testování zahrnuje ověření, zatímco dynamické testování zahrnuje ověření. Společně pomáhají dodávat nákladově efektivní kvalitní software.
K tomuto článku přispívá Radhika Renamala