Testovací strategie ortogonálních polí (Orthogonal Array Testing Strategy (OATS)) slouží k optimalizaci sady testovacích případů. Jejím cílem je nalezení všech dvojic významných hodnot jejích parametrů (tzv. all-pairs testing). Alternativně lze za tímto účelem použít také metodu párově ortogonálních latinských čtverců.

Motivace

Představme si, že máme funkci, která má sedm parametrů, z nichž každý má osm významných hodnot, pak by ideální testovací plán obsahující všechny kombinace parametrů musel mít celkem 8^{7} = 2097152 testů.

V praxi se však ukazuje, že je velká část chyb způsobena pouze chybou v jednom parametru, případně chybou způsobenou kombinací dvou parametrů. Chyby způsobené kombinací více parametrů jsou pak výrazně méně časté. Otestování všech parametrických párů si zároveň vyžádá pouze zlomek testů.

Vrátíme-li se k původnímu příkladu, pak je počet dvojic v sedmici parametrů roven \\binom{7}{2} = 21. Každá dvojice může nabývat 8^{2} = 64 hodnot. Počet různých parametrických párů je proto 21 \\cdot 64 = 1344. Jelikož má funkce 7 parametrů, tak můžeme do jednoho volání naskládat více dvojic. Při ideálním uspořádání nám tedy bude stačit 1344/21 = 64 testů.

Jednou z možností, kterak dosáhnout efektivního uspořádání parametrických dvojic je využití tzv. ortogonálních polí.

Ortogonální pole

Ortogonální pole je matice velikosti m \\times n, ve které při testování parametrických párů jednotlivé sloupce odpovídají faktorům (parametrům funkce, případně jiným hodnotám, na kterých závisí testovací případ) a řádky jednotlivým testovacím případům.

Ortogonální pole jsou označována podle toho, kolik úrovní (významných hodnot) umožňují jednotlivým faktorům. Ortogonální pole 2^{1},\\; 3^{7} má celkem 8 faktorů. Jeden faktor může mít dvě významné hodnoty, a sedm dalších může mít až 3 významné hodnoty.

Ortogonální pole 2^{4}, \\;3^{1}:


\\begin{bmatrix}
0&0&0&0&0\\\\
0&0&1&1&1\\\\
0&0&1&1&2\\\\
0&1&0&0&2\\\\
0&1&0&1&0\\\\
0&1&1&0&1\\\\
1&0&0&0&1\\\\
1&0&0&1&2\\\\
1&0&1&0&0\\\\
1&1&0&1&1\\\\
1&1&1&0&2\\\\
1&1&1&1&0\\\\
\\end{bmatrix}

Kódování úlohy a čtení výsledku

Pro použití této techniky je zapotřebí příklad nejprve zakódovat. Tato procedura je velmi snadná – nejprve nalezneme všechny faktory (parametry příkladu) a zjistíme, kolik mají úrovní. Poté nalezneme vhodné ortogonální pole.

Vybrané pole musí umožňovat alespoň tolik faktorů, kolik má náš případ. Dále je nutné, aby jednotlivé faktory měly dostatečný počet úrovní.

Nyní můžeme přejít k samotnému kódování. Každému parametru naší úlohy přiřadíme jeden sloupec – případné přebytečné sloupce můžeme ignorovat. Každé významné hodnotě přiřadíme jednu úroveň – pokud má sloupec více úrovní než potřebujeme, tak můžeme některé významné hodnotě přiřadit více úrovní, tím tuto hodnotu otestujeme více než ostatní (ale stále platí, že otestujeme každou parametrickou dvojici alespoň jednou).

V tomto okamžiku již můžeme pomocí našeho zakódování číst jednotlivé řádky ortogonálního pole – samotné testovací případy.

Nalezení ortogonálního pole

Základním problémem této testovací metody je nalezení vhodného ortogonálního pole. Jelikož neexistuje žádná jednoduchá metoda, kterak takové pole zkonstruovat, tak se musíme spolehnout především na katalogy ortogonálních polí. Jeden takovýto katolog lze nalézt zde.


Příklad

Mějme aplikaci, jež může pracovat nad databázemi algoritmyQL, MySQL, případně Oracle. Pro objektově relační mapování používá buď framework Hibernate nebo Toplink. Komunikace s klientskou stranou probíhá buď potstředctvím protokolu RMI nebo HTTP.

Otestujme aplikaci pomocí metody ortogonálních polí.

Faktory a úrovně

Nejprve identifikujeme jednotlivé faktory. V našem případě se zjevně jedná o databázi (algoritmyQL, MySQL, Oracle), ORM framework (Hibernate, Toplink) a komunikační protokol (RMI, HTTP).

Ortogonální pole

Dále nalezneme vhodné (minimální) ortogonální pole, které postihuje náš příklad. Hledáme mapu, která se nejvíce podobá ideálnímu typu 2^{2},\\; 3^{1}.

V katalogu jsme však nalezli pouze mapu 2^4, \\; 4^1. Proto při kódování přebytečné sloupce vynecháme a u sloupce odpovídajícího databázi zakódujeme některou hodnotu dvakrát (daný případ tak otestujeme vícekrát).


\\begin{bmatrix}
0&0&0&0&0\\\\
0&0&1&1&2\\\\
0&1&0&1&1\\\\
0&1&1&0&3\\\\
1&0&0&1&3\\\\
1&0&1&0&1\\\\
1&1&0&0&2\\\\
1&1&1&1&0\\\\
\\end{bmatrix}

Kódování

Do prvního sloupce zakódujeme protokol – 0 (HTTP), 1 (RMI). Druhý sloupec bude mít význam ORM frameworku – 0 (Hibernate), 1 (Toplink). Další dva sloupce vynecháme. Poslední sloupec nám poslouží pro databáze – 0 (algoritmyQL), 1 (MySQL), 2 (Oracle), 3 (MySQL).

Čtení testovacího plánu

Nyní již můžeme po řádcích číst testovací plán. První test použije: HTTP protokol, Hibernate a algoritmyQL. Druhý: HTTP, Hibernate, Oracle. Třetí: HTTP, Toplink, MySQL. Poslední: RMI, Toplink, algoritmyQL.

Literatura

  • MAŘÍK, Radek. Testování a verifikace softwaru, Optimalizace sady testů - slides k přednášce.

SEO od společnosti Digital Pylon


Online casino s algoritmem

České casino online online slot-vegas.cz

Hrajte nejlepší hry jako je GoodGame Empire.





Zajímavé články: Jak najít práci snů? Zvolte kariéru v IT!, Češi mají rádi hrací automaty online, Jak funguje algoritmické obchodování Casino, Online výuka Algoritmus a online marketing mají svá pravidla, Automaty, Matematický vliv, Ratings, Jak fungují algoritmy hazardních her online: více znalostí, více peněz, SYPWAI - nástroj pro vědecký vývoj, Vynikají na globálním trhu: Nejlepší vývojáři softwaru pro online výherní automaty, Jak si vybrat nejlepší české online casino, Proč byste měli hrát online casino VPN revoluce, Kde najdeme algoritmy v každodenním životě?, Čeká vás pracovní pohovor mimo město? Podívejte se, jak dokonale zvládnout včasný příchod, 5 úžasných technologií ze světa hazardních her, Mirror and access to Mostbet, Svou kancelář můžete mít stále po ruce, Jaké výhody má digitalizovaná firma oproti off-line konkurenci?, Jaký systém vybrat pro snadné řízení výroby?, Nahradí umělá inteligence ajťáky?, Důvody, proč používat SnapTik ke stahování videí TikTok, Dokonalý den na pláži: Co si vzít s sebou, aby byl výlet zábavný a bezpečný?, Jak přežít dlouhý let?, Go pay GoodGame Empire, Blockchain, Rozhovor


Doporučujeme

Internet pro vaši firmu na míru

https://www.algoritmy.net