Testování černé skříňky

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 4. února 2019; kontroly vyžadují 2 úpravy .

Black box testing neboli behaviorální testování  je strategie (metoda) pro testování funkčního chování objektu (programu, systému) z pohledu vnějšího světa, která nevyužívá znalosti o vnitřní struktuře (kódu) objektu. je testován. Jinými slovy, testování černé skříňky provádějí testeři, kteří nemají přístup ke zdrojovému kódu aplikace. Strategie se týká systematických metod výběru a vytváření testů pro testovací sadu. Strategie behaviorálního testu vychází z technických požadavků a jejich specifikací [1] .

Koncept "černé" skříňky

„Černou skříňkou“ se rozumí předmět studia, jehož vnitřní struktura je neznámá. Koncept „černé skříňky“ navrhl W. R. Ashby . V kybernetice umožňuje studovat chování systémů, tedy jejich reakce na různé vnější vlivy, a zároveň abstrahovat od jejich vnitřní struktury.

Manipulací pouze se vstupy a výstupy lze provést určité studie. V praxi vždy vyvstává otázka, do jaké míry homomorfismus „černé“ skříňky odráží adekvátnost jejího studovaného modelu, tedy jak plně se základní vlastnosti originálu promítají do modelu.

Popis jakéhokoli řídicího systému v čase je charakterizován obrazem sledu jeho stavů v procesu směřování k cíli, před nímž stojí. Transformace v řídicím systému může být buď jedna ku jedné a pak se nazývá izomorfní, nebo pouze jedna ku jedné, v jednom směru. V tomto případě se transformace nazývá homomorfní.

„Černá“ skříňka je komplexní homomorfní model kybernetického systému, ve kterém je respektována diverzita. Teprve tehdy je uspokojivým modelem systému, když obsahuje takové množství informací, které odráží rozmanitost systému. Dá se předpokládat, že čím větší počet poruch působí na vstupy modelu systému, tím větší diverzitu by měl regulátor mít.

V současné době jsou známy dva typy „černých“ krabic. První typ zahrnuje jakoukoli "černou" skříňku, kterou lze považovat za automat , nazývanou konečný nebo nekonečný. Chování takových „černých“ krabic je známé. Druhý typ zahrnuje takové „černé“ skříňky, jejichž chování lze pozorovat pouze v experimentu. V tomto případě je v explicitní nebo implicitní podobě vyjádřena hypotéza o předvídatelnosti chování „černé“ skříňky v pravděpodobnostním smyslu. Bez předběžné hypotézy je jakékoli zobecnění nemožné, nebo, jak se říká, není možné vyvodit induktivní závěr na základě experimentů s černou skříňkou. N. Wiener navrhl koncept „bílé“ krabice k označení modelu „černé“ krabice. "Bílá" krabice se skládá ze známých složek, tj. známých X, Y, δ, λ. Jeho obsah je speciálně zvolen tak, aby implementoval stejnou závislost výstup-vstup jako odpovídající "černá" skříňka. V procesu pokračujícího výzkumu a zobecňování, hypotéz a stanovování vzorců se stává nutností upravit organizaci „bílé“ krabice a změnit modely. V tomto ohledu se musí výzkumník při modelování opakovaně odvolávat na schéma vztahu „černá“ – „bílá“ krabice.

Studium chování "černé" skříňky

Uvažujme, jak je studováno a zkoumáno chování „černé“ skříňky druhého druhu. Předpokládejme, že je nám dán nějaký řídicí systém, jehož vnitřní struktura je neznámá. Řídicí systém má vstupy a výstupy .

Způsob, jak studovat chování této „černé“ skříňky, je provést experiment, jehož výsledky lze prezentovat ve formě tabulky. jeden.

Tato metoda studia "černé" skříňky se nazývá protokol. Hodnoty vstupních veličin lze občas volit libovolně.

stůl 1

Způsob, jak studovat "černou" skříňku
Stav vstupu Stav výstupu Čas
............ ............ ....
............ ............ ....

Dalším způsobem, jak prozkoumat, je vložit do vstupů některé standardní sekvence. Tato metoda je atraktivní zejména proto, že umožňuje porovnat chování několika „černých“ krabic s podmínkou výběru těch, které budou splňovat požadavky.

Studium řídicích systémů je spojeno s pojmy " pravděpodobnostní automat ", "pravděpodobnostní systém", což vyžaduje studium jejich pravděpodobnostních vlastností. Pro tyto účely můžete sestavit pravděpodobnostní matici (Tabulka 2), ve které je pro každý vstup a každý výstup uvedena podmíněná pravděpodobnost , která se vyskytuje v reakci na [7] uvedenou v tabulce. 2.

Vývoj metod pro konstrukci matematických modelů „černé“ skříňky je jedním z důležitých kybernetických problémů. Za předpokladu, že existuje matematický model „černé“ skříňky, je možné ji přiřadit k jakékoli jedné třídě, jejíž všechny systémy jsou svým chováním izomorfní.

Vytvořit matematický popis „černé“ skříňky je druh umění. V některých případech je možné sestavit algoritmus, podle kterého „černá“ skříňka reaguje na libovolný vstupní signál. Ve většině případů však dochází k pokusům o stanovení diferenciálních rovnic, které vztahují reakci „černé“ skříňky na její vstupy, nebo, jak se říká, na její vstupní podněty.

Pro vědu má metoda „černé“ skříňky velký význam. S jeho pomocí bylo učiněno mnoho vynikajících objevů ve vědě. Například vědec Harvey předpověděl strukturu srdce již v 17. století. Modeloval práci srdce pomocí čerpadla a vypůjčil si nápady ze zcela jiné oblasti současných znalostí - hydrauliky. Praktická hodnota metody „černé skříňky“ spočívá zaprvé v možnosti studovat velmi složité dynamické systémy a zadruhé v možnosti nahradit jednu „skříňku“ jinou. Okolní realita a biologie dává spoustu příkladů odhalování struktury systémů metodou „černé“ skříňky.

Principy testování černé skříňky

V této metodě je program považován za černou skříňku . Účelem testování je zjistit okolnosti, za kterých chování programu neodpovídá specifikaci . Abychom odhalili všechny chyby v programu, je nutné provést vyčerpávající testování , tedy testování na všech druzích datových sad . U většiny programů to není možné, proto se používá rozumné testování , při kterém je testování programu omezeno na malou podmnožinu možných datových sad. V tomto případě je nutné vybrat nejvhodnější podmnožiny, podmnožiny s největší pravděpodobností odhalení chyb.

Vlastnosti správně vybraného testu

  1. Snižuje více než jeden počet dalších testů, které mají být navrženy pro přiměřené testování.
  2. Pokrývá významnou část dalších možných testů, což do jisté míry svědčí o přítomnosti nebo nepřítomnosti chyby před a po omezené sadě testů.

Techniky testování černé skříňky

  1. Ekvivalentní oddíl.
  2. Analýza hraničních hodnot.
  3. Analýza vztahů příčina-následek.
  4. Odhad chyby.

Podívejme se blíže na každou z těchto metod:

Ekvivalentní oddíl

Metoda je založena na dvou principech:

  1. Počáteční data musí být rozdělena do konečného počtu tříd ekvivalence. Jedna třída ekvivalence obsahuje takové testy, že pokud jeden test z třídy ekvivalence zjistí nějakou chybu, pak musí stejnou chybu odhalit jakýkoli jiný test z této třídy ekvivalence.
  2. Každý test by měl zahrnovat co nejvíce tříd ekvivalence, aby se minimalizoval celkový počet testů.

Vývoj testů touto metodou se provádí ve dvou fázích : výběr tříd ekvivalence a konstrukce testu.

Třídy ekvivalence se rozlišují výběrem každé vstupní podmínky, která je převzata z zadání nebo specifikace a rozdělena do dvou nebo více skupin. K tomu slouží následující tabulka:

Vstupní podmínka Správné třídy ekvivalence Špatné třídy ekvivalence
' ' '

Výběr tříd ekvivalence je heuristický způsob, ale existuje řada pravidel:

  1. Pokud vstupní podmínka popisuje rozsah, například „Celé číslo nabývá hodnoty od 0 do 999“, pak existuje jedna platná třída ekvivalence a dvě neplatné.
  2. Pokud vstupní podmínka popisuje řadu hodnot, např. „Počet řádků ve vstupním souboru leží v intervalu (1..6)“, pak existuje také jedna správná třída a dvě nesprávné.
  3. Pokud vstupní podmínka popisuje množinu vstupních hodnot, pak je počet správných tříd určen rovný počtu prvků v množině vstupních hodnot. Pokud vstupní podmínka popisuje situaci „musí být“, například „První znak musí být velký, pak je jedna třída správná a jedna třída nesprávná.
  4. Pokud existuje důvod se domnívat, že prvky v rámci stejné třídy ekvivalence mohou být programem interpretovány odlišně, je nutné tuto třídu rozdělit na podtřídy. V tomto kroku musí tester pomocí tabulky vytvořit testy, které pokrývají všechny správné a nesprávné třídy ekvivalence. V tomto případě musí kompilátor minimalizovat celkový počet testů.

Definice testů:

  1. Každá třída ekvivalence má přiřazeno jedinečné číslo.
  2. Pokud stále nejsou v testech zahrnuty správné třídy, pak se píší testy, které pokrývají maximální možný počet tříd.
  3. Pokud nejsou v testech zahrnuty nesprávné třídy, píší se testy, které pokrývají pouze jednu třídu.
Analýza okrajových hodnot

Okrajové podmínky  jsou situace, které nastávají na horní a dolní hranici vstupních tříd ekvivalence.

Analýza okrajových hodnot se liší od ekvivalentního rozdělení v následujících ohledech:

  1. Volba jakéhokoli prvku ve třídě ekvivalence jako reprezentativního se provádí tak, aby se testem otestovala každá hranice této třídy.
  2. Při vývoji testů se berou v úvahu nejen vstupní hodnoty (vstupní prostor), ale také výstupní hodnoty (výstupní prostor).

Metoda vyžaduje určitou míru kreativity a specializace na daný úkol.

Existuje několik pravidel:

  1. Sestavte testy se špatnými vstupy pro menší situaci mimo rozsah. Pokud by vstupní hodnoty měly být v rozsahu [-1,0 .. +1,0], zkontrolujte −1,0, 1,0, −1,000001, 1,000001.
  2. Nezapomeňte napsat testy pro minimální a maximální limity rozsahu.
  3. Použijte první dvě pravidla pro každou ze vstupních hodnot (pro všechny výstupní hodnoty použijte krok 2).
  4. Pokud je vstupem a výstupem programu uspořádaná množina, zaměřte se na první a poslední prvek seznamu.

Analýza hraničních hodnot, pokud je aplikována správně, může odhalit velké množství chyb. Definování těchto hranic pro každý úkol však může být samostatným obtížným úkolem. Tato metoda také nekontroluje kombinace vstupních hodnot.

Analýza příčin a následků

Testovací kroky stavby:

  1. Specifikace je rozdělena do pracovních sekcí.
  2. Specifikace definuje mnoho příčin a následků. Příčinou je jediná vstupní podmínka nebo třída ekvivalence. Důsledkem je výstupní stav nebo transformace systému. Zde je každé příčině a následku přiřazeno číslo.
  3. Na základě analýzy sémantického (sémantického) obsahu specifikace je sestrojena pravdivostní tabulka, ve které jsou postupně seřazeny všechny možné kombinace příčin a pro každou kombinaci příčin jsou určeny důsledky.

Tabulka je doplněna omezeními a popisy kombinací, které nejsou možné. Nevýhodou tohoto přístupu je špatné studium okrajových podmínek.

Odhad chyby

Tester s mnoha zkušenostmi nachází chyby bez jakýchkoliv metod, ale zároveň podvědomě používá metodu hádání chyby. Tato metoda je z velké části založena na intuici. Hlavní myšlenkou metody je vytvořit seznam, který uvádí možné chyby a situace, ve kterých by k těmto chybám mohlo dojít. Poté se na základě seznamu sestaví testy.

Poznámky

  1. Beizer, 2004 , str. 33.

Literatura

  • Ross Ashby W. Kapitola 6. Černá skříňka // Úvod do kybernetiky = Úvod do kybernetiky. - Nakladatelství zahraniční literatury, 1959. - S. 127-169. — 432 s.
  • Beizer B. Testování černé skříňky. Technologie funkčního testování softwaru a systémů. - Petr, 2004. - 320 s. — ISBN 5-94723-698-2 .