Notice: Use of undefined constant TEST - assumed 'TEST' in D:\inetpub\wwwroot\www_other\BDTS\plugins\content\simplepictureslideshow\simplepictureslideshow.php on line 12

Notice: Undefined index: TEST in D:\inetpub\wwwroot\www_other\BDTS\plugins\content\simplepictureslideshow\simplepictureslideshow.php on line 12

Notice: Use of undefined constant TEST - assumed 'TEST' in D:\inetpub\wwwroot\www_other\BDTS\plugins\content\simplepictureslideshow\simplepictureslideshow.php on line 444

Diagnostické testy

Diagnostický systém, určený pro zkoumání technického stavu diagnostického objektu na základě zkoumání jeho funkčních projevů, je tvořen jednak potřebnou aparaturou a jednak formálním předpisem, jak při konkrétním zkoumání technického stavu objektu postupovat. Základem takového systému je diagnostický test. Aplikace diagnostického testu je proces, který nám umožňuje stanovit technický stav objektu na základě rozboru chování objektu při různých kombinacích vstupních proměnných.

Diagnostický test je definován jako množina dvojic vstupních a výstupních signálů nebo vektorů (v případě číslicových obvodů). Jeden vstupní vektor a jemu odpovídající výstupní vektor (tzv. odezva) je krok testu. Počet kroků testu potom určuje jeho délku.

Sestavení diagnostického testu je nejdůležitějším krokem řešení diagnostické úlohy funkční diagnostiky. V případě objektů, které jsou sice vnitřním uspořádáním složité, ale realizují pouze několik různých funkcí, vystačíme s testem, který je složen pouze z několika, vhodně zvolených, kroků. Délka testu a počet kroků závisí na zadání diagnostického cíle.

Diagnostické testy dělíme do dvou základních kategorií: na testy detekční a lokalizační.

Detekční testování

Cílem detekčního testování je odhalit existenci poruchy ve zkoumaném objektu. Výsledkem detekčního testování je zjištění, zda se v daném objektu vyskytuje či nevyskytuje porucha. Kvalitu detekčního testu posuzujeme prostřednictvím diagnostického pokrytí, které udává počet poruch detekovatelných testem. Diagnostické pokrytí se udává buď absolutně, tzn. počtem poruch, nebo relativně vzhledem k celkovému počtu poruch, které se mohou v testovaném systému vyskytnout. Vždy je, ale diagnostické pokrytí, vztaženo k typu poruch, které sledujeme. Relativní vyjádření diagnostického pokrytí má vyšší vypovídací schopnost, proto je v praxi používanější.

Diagnostický test, jehož diagnostické pokrytí je 100%, se nazývá úplný test. Pro jeden diagnostický objekt je možné sestavit celou řadu úplných diagnostických testů, které se mohou lišit co do počtu i pořadí kroků.

Z výše uvedené definice vyplývá, že je-li sestaven úplný diagnostický test, je možné libovolně rozšířit počet jeho kroků. Tyto dodatečné kroky již ovšem nemohou zlepšit výsledné diagnostické pokrytí a jsou tak nadbytečné – redundantní.

Na druhou stranu, je možné k danému objektu najít řadu různých úplných testů, z nichž není možné, bez ztráty úplnosti, vypustit žádný krok. Takové testy bývají označovány za neredundantní a obvykle je možné pro jeden diagnostický objekt takovýto testů stanovit několik.

Úplný test, který má nejmenší délku, se nazývá minimální test. Jedná se o úplný neredundantní test. Pro praktické použití však nemá přílišný význam, neboť minimalizace testu pro větší obvod je obvykle velmi pracná a výsledek, který vede k úspoře několika kroků, neodpovídá vynaloženému úsilí. Minimalizace testu se ovšem vyplatí v případě často se opakujících stavebních bloků (např. integrovaných obvodů) a jednoduchých prvků (např. hradel), protože v tomto případě je možné relativně snadno minimalizovat test a efekt časové úspory je značný. V ostatních případech pracujeme s testy, které obsahují i redundantní (nadbytečné) kroky.

  • Opačným extrémem k minimálnímu testu je test triviální. Je to test s největším možným počtem kroků. V rámci triviálního testu se testují všechny možné kombinace vstupních proměnných, které mohou nastat. I když je možné pro jeden diagnostický objekt sestavit řadu triviálních testů, budou se lišit pouze v pořadí provádění jednotlivých kroků. Triviální test je vždy test úplný.

Problematické použití triviálního testu pro obvody s větším počtem vstupů je možné demonstrovat jednoduchým příkladem

Diagnostikované zařízení je obvod s 50 vstupy tvořený kombinační logikou integrovaný v CPLD. Triviální test bude potom obsahovat 250 (1015) kroků. Při kmitočtu generování testovacího vektoru 1MHz, by kompletní otestování trvalo cca 109 sekund, tj. 32 let!

 

Důležitost testování

Testování diagnostických objektů se neprovádí proto, že to někdo nařizuje, ale z důvodu předcházení vzniku poruch způsobených buď mechanickým opotřebením, anebo nedokonalostí vlastního návrhu výrobku. Čím dříve se povede strukturní chyba výrobku odhalit, tím nižší jsou náklady na její opravení (vyřazení z výroby). Na obr. 2 je zobrazen graf potvrzující toto tvrzení.

nakladyNaOpravy

Obr. 2: Náklady na opravu chyby v software (Zdroj: Barry Boehm, TRW Inc.)

Diagnostické testy se vytváří proto, aby bylo zajištěno, že důležité části sytému budou pracovat správně. Testování v elektrotechnické výrobě je možné rozdělit na dvě části. Testování obvodového zapojení a testování vestavěného programového vybavení. Zatímco v případě hardware se můžeme ve výrobě rozhodovat dvojstavově – vyřadit/propustit, u programového vybavení tato možnost neexistuje. Testování probíhá do doby, než se přestanou testováním nacházet chyby.

Důležitost testování je podpořena poměrem doby strávené vývojem aplikace a jejím testováním. Příkladem je následující tabulka.

Oblast vývoje Počet testerů Počet vývojářů
Vývoj pokojových termostatů 1 10-15
Vývoj webových aplikací 1 5-10
Microsoft 1 1
Bezpečnostně kritický software až 5 1
Letectví a kosmonautika, vojenský průmysl až 10 1

 

Lokalizační testování

Úkolem lokalizačního testování je nejen odhalení přítomnosti chyby, ale také co nejpřesnější určení místa jejího výskytu. Lokalizační testy jsou zpravidla delší a složitější než testy detekční. Mírou kvality lokalizačního testu je diagnostické rozlišení.

V případě lokalizačního testování, diagnostické rozlišení určuje, jakou nejmenší funkční jednotku, je možné určit pomocí daného testu jako pouchovou. Místo pojmu diagnostické rozlišení se v případě lokalizačního testování používá častěji termín hloubka testu. Test s maximální hloubkou testu je takový, který umožní rozlišit poruchu každé jednotlivé části diagnostického objektu. Je nutné si ale uvědomit, že u složitých objektů by bylo značně náročné a ekonomicky neopodstatnitelné sestavovat test s maximální hloubkou. U velmi složitých objektů to obvykle ani není možné.

Při řešení konkrétní diagnostické úlohy postupujeme tak, že objekt rozdělíme do základních funkčních celků. Lokalizační test se pak koncipuje tak, aby jeho rozlišení odpovídalo právě takto definovaným funkčních celků. Poruchy uvnitř každého bloku můžeme lokalizovat pomocí testu vytvořeného následně pro každý ze zvolených funkčních bloků. Diagnostické zkoumání složitých objektů se tedy provádí v několika krocích.

Výstupní vektor testovacích dat je možné vygenerovat počítačem a zaznamenat jej na libovolné záznamové médium anebo je možné jej generovat během testování pomocí jiného, určitě funkčního, obvodu (tzv. gulden device). Tento způsob generace testu pomocí správně fungujícího obvodu bývá obecně označován jako test srovnání s etalonem nebo také komparační test. Vedle nesporných výhod tohoto způsobu testování (vysoká rychlost, jednoduchost testovací aparatury) má tato metoda řadu nevýhod spojených se zajištěním etalonu a nastavením obou obvodů do stejného výchozího stavu. Proto se tento systém testování nehodí pro malosériové a kusové výroby.

Podle způsobu volby následujícího kroku testu dělíme testy na nezávislé a závislé. Zatímco v nezávislém testu jsou data každého kroku testu pevně dána předpisem, v případě závislého testování je následující krok ovlivněn výsledkem aktuálního kroku.