Statické vs dynamické testování: Rozdíl mezi nimi

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

  • Statické testování se provádí 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 návrhové dokumenty za účelem nalezení chyb, 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 defektů, zatímco dynamické testování je o hledání a opravě defektů.
  • 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.
  • Statické testovací techniky jsou strukturální a prohlášení, zatímco dynamické testovací techniky jsou Boundary Value Analysis & Equivalence Partitioning.

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

Co je statické testování?

Statické testování je typ testování softwaru, ve kterém je softwarová aplikace testována bez spuštění kódu. Za účelem nalezení chyb se provádějí ruční nebo automatické kontroly 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 manuální nebo automatické kontroly dokumentů. Tato kontrola se provádí během počáteční fáze testování, aby se závada včas zachytila STLC. Zkoumá pracovní dokumenty a poskytuje revizní komentáře. Nazývá se také testování bez provedení nebo ověřovací testování.

Příklady pracovních dokumentů -

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

Statické zkušební techniky

  • Neformální Revvidí: Toto je jeden z typů recenzí, které nesledují žádný proces k nalezení chyb v dokumentu. V rámci této techniky si dokument pouze prohlížíte a dáváte k němu neformální komentáře.
  • Technický Revvidí: Tým složený z vašich kolegů prozkoumá technickou specifikaci softwarového produktu a ověří, zda je vhodný pro daný projekt. Snaží se najít jakékoli nesrovnalosti ve specifikacích a dodržovaných normách. Tato recenze se soustředí především na technickou dokumentaci související se softwarem, jako je Test Strategy, 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 případné dotazy. Schůzku vede autor. Scribe si poznámky k recenzi poznamená
  • Inspekce: Hlavním účelem je hledání závad a jednání vede vyškolený moderátor. Tato recenze je formálním typem recenze, kde se postupuje podle přísného procesu hledání vady. Revdiváci mají k dispozici kontrolní seznam pro kontrolu pracovních produktů. Zaznamenají závadu a informují účastníky, aby tyto chyby odstranili.
  • Statický kód Revpohled: Toto je systematická kontrola zdrojového kódu softwaru bez spuštění kódu. Kontroluje syntaxi kódu, standardy kódování, optimalizaci kódu atd. To se také nazývá testování bílé skříňky. Tuto kontrolu lze provést kdykoli během vývoje.

Co je dynamické testování?

Pod Dynamické testování, je proveden kód. Kontroluje funkční chování softwarového systému, využití paměti/cpu a celkový výkon systému. Odtud název „dynamický“

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í spustí 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 se jednat o testování v černé nebo bílé krabici.

Dynamické testování

Dynamické testovací techniky

Dynamické testování

  • Testování jednotky: Pod Testování jednotek, jednotlivé jednotky nebo moduly jsou testovány vývojáři. 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, které moduly po integraci fungují podle očekávání.
  • 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žadavku.

Také nefunkční testování, jako je výkon, Testování bezpečnosti spadají do kategorie dynamického testování.

Statické testování vs. Dynamické testování

Statické testování Dynamické testování
Testování bylo provedeno bez spuštění programu Testování se provádí spuštěním programu
Toto testování provádí proces ověřování Dynamické testování provádí proces validace
Statické testování je o prevenci defektů 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í zahrnuje strukturální testování a testování pokrytí prohlášení Dynamické testovací techniky jsou Boundary Value Analysis & Equivalence Partitioning.
Náklady na nalezení defektů a opravy jsou nižší Náklady na nalezení a opravu závad jsou vysoké
Návratnost investice bude vysoká, protože tento proces probíhá v rané fázi Návratnost investice bude nízká, protože tento proces zahrnuje fázi vývoje
Pro dobrou kvalitu důrazně doporučujeme další komentáře k recenzím Pro dobrou kvalitu se důrazně doporučuje více vad.
Vyžaduje spoustu schůzek Poměrně vyžaduje menší počet schůzek