Statické testování vs. dynamické testování: Jaký je rozdíl?

Obsah:

Anonim

Co je statické testování?

Statické testování je typ testování softwaru, při kterém se testuje softwarová aplikace bez provádění kódu. K nalezení chyb se provádí ruční nebo automatická kontrola kódu, dokumentů požadavků a návrhu dokumentu. Hlavním cílem statického testování je zlepšit kvalitu softwarových aplikací hledáním chyb v raných fázích procesu vývoje softwaru.

Statické testování zahrnuje ruční nebo automatizované kontroly dokumentů. Tato kontrola se provádí během počáteční fáze testování, aby se zachytil Defekt brzy v STLC. Zkoumá pracovní dokumenty a poskytuje komentáře k recenzím. Nazývá se také neprováděcí testování nebo ověřovací testování.

Příklady pracovních dokumentů

  • Specifikace požadavků
  • Návrhový dokument
  • Zdrojový kód
  • Testovací plány
  • Testovací případy
  • Testovací skripty
  • Nápověda nebo uživatelský dokument
  • Obsah webové stránky

Co je dynamické testování?

V části Dynamické testování se provede kód. Kontroluje funkční chování softwarového systému, využití paměti / procesoru a celkový výkon systému. Odtud název „Dynamic“

Hlavním cílem tohoto testování je potvrdit, že softwarový produkt funguje v souladu s obchodními požadavky. Toto testování se také nazývá technika provádění nebo ověřovací testování.

Dynamické testování provede software a ověří výstup s očekávaným výsledkem. Dynamické testování se provádí na všech úrovních testování a může to být testování v černé nebo bílé krabici.

KLÍČOVÝ ROZDÍL

  • Statické testování bylo provedeno bez spuštění programu, zatímco dynamické testování se provádí spuštěním programu.
  • Statické testování kontroluje kód, dokumenty požadavků a dokumenty návrhu, aby našel chyby, zatímco dynamické testování kontroluje funkční chování softwarového systému, využití paměti / CPU a celkový výkon systému.
  • Statické testování je o prevenci vad, zatímco dynamické testování je o zjišťování a opravování vad.
  • Statické testování provádí proces ověřování, zatímco dynamické testování provádí proces ověřování.
  • Statické testování se provádí před kompilací, zatímco dynamické testování se provádí po kompilaci.
  • Techniky statického testování jsou strukturální a příkazové pokrytí, zatímco techniky dynamického testování jsou analýza hraniční hodnoty a rozdělení ekvivalence.

Techniky statického testování:

  • Neformální recenze: Jedná se o jeden z typů kontroly, který neprovádí žádný proces hledání chyb v dokumentu. V rámci této techniky pouze zkontrolujete dokument a poskytnete k němu neformální komentáře.
  • Technické recenze: Tým složený z vašich kolegů, zkontroluje technickou specifikaci softwarového produktu a ověří, zda je vhodný pro projekt. Snaží se najít jakékoli nesrovnalosti v dodržovaných specifikacích a normách. Tato recenze se soustředí hlavně na technickou dokumentaci související se softwarem, jako jsou Testovací strategie, Testovací plán a dokumenty specifikace požadavků.
  • Návod: Autor pracovního produktu vysvětluje produkt svému týmu. Účastníci mohou klást otázky, pokud existují. Setkání vede autor. Scribe zaznamenává komentáře k recenzi
  • Kontrola: Hlavním účelem je najít závady a schůzku vede vyškolený moderátor. Tato kontrola je formálním typem kontroly, při které se postupuje podle přísného procesu hledání závad. Recenzenti mají kontrolní seznam ke kontrole pracovních produktů. Zaznamenávají vadu a informují účastníky o nápravě těchto chyb.
  • Kontrola statického kódu: Jedná se o systematickou kontrolu zdrojového kódu softwaru bez provedení kódu. Kontroluje syntaxi kódu, standardy kódování, optimalizaci kódu atd. Toto se také nazývá testování bílého pole. Tuto kontrolu lze provést kdykoli během vývoje.

Techniky dynamického testování:

  • Testování jednotek: V části Testování jednotek vývojáři testují jednotlivé jednotky nebo moduly. Zahrnuje testování zdrojového kódu vývojáři.
  • Testování integrace: Jednotlivé moduly jsou seskupeny a testovány vývojáři. Účelem je určit, jaké moduly fungují podle očekávání, jakmile budou integrovány.
  • Testování systému: Testování systému se provádí na celém systému kontrolou, zda systém nebo aplikace splňuje dokument specifikace požadavků.

Také nefunkční testování, jako je výkon, testování zabezpečení spadá do kategorie dynamického testování.

Rozdíl mezi statickým a dynamickým testováním:

Statické testování

Dynamické testování

Testování proběhlo bez spuštění programu Testování se provádí spuštěním programu
Toto testování provede proces ověření Proces ověřování provádí dynamické testování
Statické testování je o prevenci vad Dynamické testování je o hledání a opravě defektů
Statické testování poskytuje posouzení kódu a dokumentace Dynamické testování poskytuje chyby / úzká místa v softwarovém systému.
Statické testování zahrnuje kontrolní seznam a postup, který je třeba dodržet Dynamické testování zahrnuje testovací případy pro provedení
Toto testování lze provést před kompilací Dynamické testování se provádí po kompilaci
Statické testování pokrývá strukturální testování a testování pokrytí prohlášení Techniky dynamického testování jsou analýza hraničních hodnot a rozdělení ekvivalence.
Náklady na hledání vad a opravu jsou menší Náklady na nalezení a opravu vad jsou vysoké
Návratnost investic bude vysoká, protože tento proces se účastnil v rané fázi Návratnost investic bude nízká, protože tento proces zahrnuje po fázi vývoje
Kvůli dobré kvalitě se doporučuje více komentářů Pro dobrou kvalitu se doporučuje více defektů.
Vyžaduje spoustu schůzek Srovnatelně vyžaduje menší schůzky