Srovnávací graf
Základ pro srovnání | Testování jednotek | Testování systému |
---|---|---|
Základní | Zaměřuje se na funkční ověřování komponent. | Ověřuje systém po jeho integraci do většího systému. |
Následuje | Specifikace modulů | Specifikace požadavku |
Viditelnost detailů kódu | Pokud | Není k dispozici |
Lešení | Povinný | Není třeba ovladačů / pahýlů |
Důraz | O chování jediného modulu. | Funkce systému. |
Definice jednotkového testování
Jednotkové testování je technika dokládající nejmenší jednotky v softwaru. Tyto nejmenší komponenty softwaru jsou testovány izolovaně. Komponenta ovladače je zodpovědná za generování metody volání testovaných komponent. Komponenta, která využívá metodu, je napodobena jako pahýl . Tyto pahýly jsou počáteční náhradou za chybně umístěné metody.
Jednotková zkouška je řízena testováním v bílé krabici a kroky v jednotkovém testování jsou prováděny pro více komponent současně. Zdůrazňuje, testování správného toku dat podél rozhraní modulů, protože pokud by byly ignorovány, ostatní testy by byly nejisté.
Operace pahýlů
- Pahýl může provést jasně napsanou imitaci úlohy komponenty.
- Může zobrazit zprávu po provedení komponenty.
Jedna z výše uvedených operací může být prováděna současně. Testování jednotek je důležitou součástí testování softwaru, které zajišťuje rychlejší vývoj, ladění, zvukový design, dokumentaci a mechanismus zpětné vazby a dále snižuje celkové náklady.
Definice testování systému
Testování systému ověřuje chování systému úplně. Provádí různé pokroky. Tyto testy však mají odlišný záměr a zkontrolujte, zda všechny součásti systému fungují správně integrovaným způsobem.
V tomto testování jsou testovací případy navrženy podle specifikace požadavku a jeho kód je údajně podobný černé skříni. Vývojáři se širokými znalostmi a viditelností o struktuře systému obvykle provádějí testování systému.
Typy testování systému:
Existuje několik forem testování systému, z nichž některé z nich popisují níže.
- Testování zotavení : Tento typ testu způsobí, že software několikrát odmítne kontrolu správného procesu obnovy.
- Testování zabezpečení : Testování zabezpečení ověřuje bezpečnostní mechanismus a zabraňuje průniku systému.
- Zátěžové testování : Jedná se o zkušební techniku, ve které jsou vyžadovány abnormální podmínky zdrojů, jako je množství, frekvence a objem.
- Testování výkonu : Testování výkonu se zaměřuje na výkon runtime softwaru, který je relevantní pro celý systém.
Klíčové rozdíly mezi testováním jednotek a testováním systému
- Testování jednotky pracuje na specifikaci modulu. Testování systému je v souladu se specifikací integrovaného požadavku na software a hardware.
- Při testování jednotky jsou detaily kódu viditelné zkušebnímu přístroji, což není případ testování systému. Důvodem je to, že testy jednotky mohou být prováděny vývojářem modulu, ale testování systému je větší úkol, ve kterém jsou tester a vývojář dvou různých jednotlivců k provádění různých operací.
- Jednotkové testování využívá techniku lešení, kde generovaný kód není součástí softwaru a jehož jediným účelem je odložit testování. Naopak testování systému nepoužívá metodu lešení.
- Při testování jednotky je kladen důraz na jeden modul, zatímco v systémovém testování jsou brány v úvahu všechny funkce systému.
Vztah mezi testováním jednotek a testováním systému v kontextu strategie testování softwaru:
Podle níže uvedeného schématu začíná testování jednotky od středu a zaměřuje se na každou softwarovou jednotku (komponentu) podle implementace. Pak přichází integrační testování, kde je zkoumán návrh a konstrukce softwarové architektury. Když jdeme ven, validační testování se setká tam, kde jsou validovány požadavky proti specifikaci požadavku. Testování systému se nachází v nejvzdálenější části, která testuje software a jeho další části systému jako integrovanou součást.
Závěr
Testování jednotky je testovací technika, ve které je testována nejmenší jednotka programu. Na druhé straně se testování systému spoléhá na specifikaci návrhu na vysoké úrovni a kontroluje, zda implementace systému splňuje specifikace systémových požadavků nebo ne.