rozdíl mezi jednotkovým testem, systémovým testem, integračním testem a regresním testem

 rozdíl mezi jednotkovým testem, systémovým testem, integračním testem a regresním testem

jednotkovým testem

jednotkovými testy se provádějí na jednotlivých jednotkách programu a jsou určeny ke zkoumání jednotlivé komponenty, která byla poprvé změněna nebo zavedena. Každá zkouška, jejímž cílem je ověřit jeden modul, musí být předložena s připojenou příslušnou technickou dokumentací, která bude mimo jiné obsahovat výstupy, které má testovaný modul poskytnout. Testy jednotek se zaměřují na funkčnost a spolehlivost softwaru a jsou prováděny ve zkušební fázi před integrací systému. Pokud by byla vada zjištěna během zkoušky jednotky, byla by posouzena její povaha a dopad na obecný systém; cílem je vyřešit ji před schválením testovaného modulu.

systémový test

systémový test se provádí na všech nových nebo upravených součástech a modulech, které charakterizují produkt. Cílem je pochopit, jak jednotlivé unitární bloky na sebe vzájemně působí a zda poskytují celkově požadované výstupy; důraz je kladen na validaci a verifikaci systémových požadavků a na to, jak jednotlivé moduly spolupracují při jejich propojení. Obvykle jsou testy v systému více než jeden: první si zaslouží zvláštní zmínku (obvykle nazývanou “kouřový test”), jejímž cílem je studovat v širším smyslu, jak se program chová a zda jsou hlavní funkce prováděny správně, aniž by se zabývaly detaily. Testy na celém systému trvají dlouho, protože je nutné provést velké množství, aby bylo možné analyzovat všechny možné scénáře, které se mohou vyskytnout; testovací plán v tomto okamžiku hraje velmi choulostivou roli, protože obsahuje popis testovacích případů, pořadí, ve kterém musí být provedeny, a dokumentaci nezbytnou pro seznam výsledků. Pokud je zjištěna a opravena chyba, musí být test znovu proveden, aby se zajistilo, že provedené opravy neměly negativní vliv na součásti, které dříve neměly žádné chyby (regresní test již zmíněný výše).

integrační test

po provedení různých systémových testů je nutné se ujistit, že vyvinutý program poskytuje požadované výsledky, i když je spuštěn v jiných prostředích, než je nativní: je proto nutné provést integrační testy, ve kterých je produkt testován společně s dalšími rozhraními a aplikacemi. Na rozdíl od systémových testů není v integračních testech nutné znovu testovat, zda je závada objevena po její opravě. Integrační testy jsou rozděleny do různých skupin a mohou být provedeny nebo ne v závislosti na aplikaci, která má být testována:

  • test kompatibility: zaručit, že aplikace pracuje s různými konfiguracemi na základě těch, které jsou k dispozici uživateli
  • výkonnostní testy: vyhodnocují schopnost aplikace správně fungovat, když ji například používá více uživatelů současně nebo se zvyšuje počet vstupů
  • zátěžové testy: testují správné fungování aplikace, když je namáhána neobvyklým pracovním zatížením
  • zátěžové testy: doplňují zátěžové testy a vyhodnocují fungování aplikace při normálním pracovním zatížení

regresní test

regresní test, již zmíněný v předchozích odstavcích, se provádí vždy, když je po identifikaci vady změněn postup programového dílu; při opravě chyby vzniká možnost, že je neúmyslně zaveden nový: existuje tedy nejistota ohledně schopnosti aplikace znovu opakovat všechny dříve provedené funkce správně. Regresní test se obvykle provádí souběžně s jinými testy a lze jej považovat za kontrolu kvality, aby se zajistilo, že právě upravený kód nadále správně plní funkce, které nebyly změněny a které splňují stejné požadavky ověřené dříve . Závěrem lze konstatovat, že regresní test zajišťuje, že zbytek aplikace, která není předmětem změny, není ovlivněna chybami vyplývajícími z opravy ostatních.

Leave a Reply