Co je testování ortogonálních polí? (Příklad)

⚡ Chytré shrnutí

Ortogonální testování polí je technika černé skříňky, která využívá statistická pole k vytvoření kompaktní testovací sady, pokrývající každou dvojici vstupních hodnot mnohem menším počtem testovacích případů, než kolik vyžaduje vyčerpávající kombinační testování.

  • 🎯 Základní slib: Každá dvojice úrovní mezi libovolnými dvěma faktory se v generovaných bězích objeví alespoň jednou.
  • 🔢 Zápis: Pole se zapisuje jako LBěží(Úrovněfaktory), takže L9(3⁴) znamená devět běhů pro čtyři tříúrovňové faktory.
  • 📉 Rozsah úspor: Čtyři faktory na třech úrovních se zhroutí z 81 vyčerpávajících kombinací na devět ortogonálních běhů.
  • 🧮 Pravidlo rovnováhy: Sloupce musí být vyplněny tak, aby se žádné dva faktory nepohybovaly společně, jinak tabulka není ortogonální.
  • 🛠️ Nástroje: GeneratorProgramy jako PICT a ACTS sestavují pole automaticky, což eliminuje hlavní zdroj manuálních chyb.
  • ⚠️ Známý limit: Párové pokrytí nedokáže detekovat defekt, který vyžaduje tři nebo více specifických hodnot dohromady.

Ortogonální testování polí redukující vstupní kombinace na malou vyváženou sadu testovacích případů

Testování ortogonálního pole

Testování ortogonálního pole (OAT) je technika testování softwaru, která využívá ortogonální pole k vytváření testovacích případů. Jedná se o statistický testovací přístup a je obzvláště užitečný, když testovaný systém přijímá velké množství datových vstupů. Ortogonální testování polí maximalizuje pokrytí testy párováním a kombinováním vstupů, takže systém je procvičován s relativně menším počtem testovacích případů a kratší dobou provádění.

Například při ověření jízdenky na vlak je nutné testovat faktory, jako je počet cestujících, číslo jízdenky, čísla sedadel a čísla vlaků. Testování každého faktoru jednotlivě je pracné. Je efektivnější, když technik QA zkombinuje několik vstupů dohromady a otestuje je v jednom běhu. V takových případech můžeme použít testovací metodu Orthogonal Array.

Tento typ párování nebo kombinování vstupů za účelem úspory času se nazývá párové testování a technika OATS je jedním ze způsobů, jak vytvořit párovou testovací sadu. Protože tato technika pracuje čistě se vstupními hodnotami a očekávanými výsledky, bez jakéhokoli pohledu na interní kód, patří mezi... testování černé skříňky rodina.

Proč OAT (testování ortogonálních polí)?

V současném scénáři se dodání kvalitního softwarového produktu zákazníkovi stalo náročným kvůli složitosti kódu.

V konvenční metodě testovací sady zahrnují testovací případy odvozené z každé kombinace vstupních hodnot a předběžných podmínek. V důsledku toho je třeba pokrýt n testovacích případů.

Ale v reálném scénáři nebudou mít testeři čas na provedení všech testovacích případů a odhalení vad, protože existují i ​​další činnosti, jako je dokumentace, návrhy a zpětná vazba od zákazníka, které je třeba v rámci testovací fáze zohlednit.

Proto chtěli manažeři testů optimalizovat počet a kvalitu testovacích případů, aby zajistili maximum Pokrytí testu s minimálním úsilím. Toto úsilí se nazývá optimalizace testovacích případů.

  • Systematický a statistický způsob testování párových interakcí.
  • Interakce a integrační body jsou hlavním zdrojem defektů.
  • Proveďte dobře definovanou a stručnou sadu testovacích případů, které pravděpodobně odhalí většinu (ne všechny) chyb.
  • Ortogonální přístup zaručuje párové pokrytí všech proměnných.

Tato technika se proto nachází vedle ostatních metod snižování vstupů, které tým již používá. Rozdělení ekvivalence a analýza okrajových hodnot rozhodnout, které hodnoty se vyplatí testovat pro jedno pole; ortogonální pole rozhodují, které z těchto hodnot by měly být testovány společně.

Jak je reprezentováno testování ortogonálních polí

Ortogonální pole je popsáno krátkým vzorcem, nikoli svým obsahem. Níže uvedený diagram ukazuje, jak se tři veličiny v tomto vzorci vztahují k tvaru pole.

Ortogonální maticová notace zobrazující běhy, faktory a úrovně ve vzorci L(Běhy)

  • Běhy (N) – Počet řádků v poli, což se promítá do počtu vygenerovaných testovacích případů.
  • Faktory (K) – Počet sloupců v poli, což se promítá do maximálního počtu proměnných, které lze zpracovat.
  • Úrovně (V) – Maximální počet hodnot, které lze nabrat pro jakýkoli jeden faktor.

Jeden faktor má obvykle 2 až 3 vstupy k testování. Tento maximální počet vstupů určuje úrovně.

Přečtěte si název pole zleva doprava. V L9(34) Číslo 9 je počet běhů, 3 je počet úrovní, které může každý faktor nabývat, a horní index 4 je počet faktorů. Ve stejném článku se používá L4(23), což jsou čtyři běhy pro tři faktory, z nichž každý má dvě úrovně.

Dvě vlastnosti dělají pole ortogonální a obě musí být splněny, než lze důvěřovat počtu běhů:

  • Váhy: Každá úroveň faktoru se ve svém vlastním sloupci objevuje stejněkrát.
  • Párová úplnost: Pro libovolné dva sloupce se každá kombinace jedné úrovně z každého sloupce objeví stejněkrát.

Pokud druhá vlastnost selže, tabulka je jednoduše zkrácenou testovací sadou, nikoli ortogonálním polem, a párová záruka, která ospravedlňuje redukci, již neplatí.

Jak provést testování ortogonálního pole: Příklady

  1. Identifikujte nezávislou proměnnou pro scénář.
  2. Najděte nejmenší pole s počtem běhů.
  3. Namapujte faktory na pole.
  4. Vyberte hodnoty pro všechny „zbývající“ úrovně.
  5. Přepište běhy do testovací případy, přidáváním jakýchkoli obzvláště podezřelých kombinací, které nebyly vygenerovány.

Dva níže uvedené příklady aplikují těchto pět kroků, nejprve na malý dvouúrovňový problém a poté na větší tříúrovňový problém.

Příklad 1

Webová stránka má tři odlišné části (horní, střední, dolní), které lze před uživatelem jednotlivě zobrazit nebo skrýt.

  • Počet faktorů = 3 (nahoře, uprostřed, dole)
  • Počet úrovní (viditelnost) = 2 (skryté nebo zobrazené)
  • Typ pole = L4(23)

(4 je počet běhů dosažených po vytvoření pole OAT)

Pokud zvolíme konvenční techniku ​​změny jedné sekce po druhé, potřebujeme testovací případy, například 2 x 3 = 6 testovacích případů.

testovacích případů Scénáře Hodnoty k testování
Test #1 HIDDEN Top
Test #2 ZOBRAZENO Top
Test #3 HIDDEN Spodní část
Test #4 ZOBRAZENO Spodní část
Test #5 HIDDEN Střední
Test #6 ZOBRAZENO Střední

Těchto šest běhů mění jednu sekci najednou a nikdy neumisťují dvě sekce do zvoleného stavu současně. Testování každé kombinace by místo toho trvalo 23 = 8 běhů.

Pokud jdeme na testování OAT, potřebujeme 4 testovací případy, jak je uvedeno níže:

testovacích případů VÝŠKA Střední Spodní část
Test #1 Skrytý Skrytý Skrytý
Test #2 Skrytý viditelný viditelný
Test #3 viditelný Skrytý viditelný
Test #4 viditelný viditelný Skrytý

Zkontrolujte libovolné dva sloupce této tabulky a všechny čtyři páry Skrytý/Viditelný se objeví právě jednou, což je vlastnost ortogonality v nejmenší formě.

Příklad 2

Funkčnost mikroprocesoru musí být otestována:

  • Teplota: 100C, 150C a 200C.
  • Tlak: 2 psi, 5 psi a 8 psi
  • Doping Částka: 4 %, 6 % a 8 %
  • Rychlost usazování: 0.1 mg/s, 0.2 mg/s a 0.3 mg/s

Použitím konvenční metody potřebujeme 34 = 81 testovacích případů pro pokrytí všech vstupů. Pracujme místo toho s metodou OATS:

Počet faktorů = 4 (teplota, tlak,ping množství a rychlost ukládání)

Úrovně = 3 úrovně na faktor (teplota má 3 úrovně – 100 °C, 150 °C a 200 °C – a podobně i ostatní faktory mají každý 3 úrovně)

Vytvořte pole, jak je uvedeno níže:

1. Sloupce s počtem faktorů

Modelový případ # teplota Tlak Doping částka Depoziční rychlost

2. Zadejte počet řádků rovný počtu úrovní na faktor. Např. teplota má 3 úrovně. Proto vložte 3 řádky pro každou úroveň teploty,

Modelový případ # teplota Tlak Doping částka Depoziční rychlost
1 100C
2 100C
3 100C
4 150C
5 150C
6 150C
7 200C
8 200C
9 200C

3. Nyní rozdělte tlak,ping množství a rychlosti depozice ve sloupcích.

Např.: Zadejte 2 psi pro teploty 100 °C, 150 °C a 200 °C, podobně zadejte doping částka 4 % pro 100 °C, 150 °C a 200 °C atd.

Modelový případ # teplota Tlak Doping částka Depoziční rychlost
1 100C 2 psi 4% 0.1 mg/s
2 100C 5 psi 6% 0.2 mg/s
3 100C 8 psi 8% 0.3 mg/s
4 150C 2 psi 4% 0.1 mg/s
5 150C 5 psi 6% 0.2 mg/s
6 150C 8 psi 8% 0.3 mg/s
7 200C 2 psi 4% 0.1 mg/s
8 200C 5 psi 6% 0.2 mg/s
9 200C 8 psi 8% 0.3 mg/s

V OA tedy potřebujeme k pokrytí 9 testovacích případů.

Poznámka k přesnosti: vyplňte zbývající tři sloupce přímo dolů, stejně jako v kroku 3, opakujte stejný tlak, proveďteping a usazeniny se uvnitř každého teplotního bloku ztrojnásobují. Tlak aping množství se proto pohybují společně a páry jako 2 psi s 6 % se nikdy neobjeví, takže devět řádků výše představuje spíše redukovanou testovací sadu než skutečné ortogonální pole. Vyvážený L9(34) pole níže zachovává stejných devět běhů a zároveň pokrývá všech devět párů úrovní mezi každými dvěma faktory.

Modelový případ # teplota Tlak Doping částka Depoziční rychlost
1 100C 2 psi 4% 0.1 mg/s
2 100C 5 psi 6% 0.2 mg/s
3 100C 8 psi 8% 0.3 mg/s
4 150C 2 psi 6% 0.3 mg/s
5 150C 5 psi 8% 0.1 mg/s
6 150C 8 psi 4% 0.2 mg/s
7 200C 2 psi 8% 0.2 mg/s
8 200C 5 psi 4% 0.3 mg/s
9 200C 8 psi 6% 0.1 mg/s

Ortogonální testování polí vs. párové testování (všechny páry)

Tyto dva termíny se v mnoha týmech používají zaměnitelně, přesto nejsou identické. Oba se zaměřují na dvojice hodnot, ale liší se v tom, jak striktně je výsledná tabulka omezena.

Vzhled Testování ortogonálních polí Párové (všechny páry) testování
Podkladová struktura Ortogonální pole, převzaté z návrhu experimentů Pokrývající pole, generované vyhledávacím algoritmem
Pravidlo krytí Každá dvojice se objeví stejněkrát Každý pár se objeví alespoň jednou
Faktory s nestejnými úrovněmi Vyžaduje pole se smíšenou úrovní, které pro požadovaný tvar nemusí existovat. Ovládáno přímo generátorem
Typický počet běhů Stejná nebo mírně vyšší, kvůli požadavku na vyváženost Stejné nebo nižší pro stejné vstupy
Omezení mezi hodnotami Obtížné vyjádření uvnitř pole Podporováno většinou moderních generátorů

V praxi je vyvážené ortogonální pole jasnějším výukovým modelem a bezpečnější volbou, když faktory sdílejí stejný počet úrovní, zatímco krycí pole je to, co většina nástrojů vytváří pro reálné projekty s nepraktickými, nerovnými vstupy. Oba se vzájemně doplňují. testování rozhodovacích tabulek a testování přechodu stavů, které se zaměřují spíše na obchodní pravidla a posloupnost než na kombinace hodnot.

Nástroje pro testování ortogonálních polí

Ruční sestavení pole je praktické pouze pro výše uvedené malé příklady. Nad čtyři nebo pět faktorů týmy používají generátor a nástroj za ně rozhoduje o počtu běhů.

  • OBRÁZEK: generátor příkazového řádku s otevřeným zdrojovým kódem od MicrosoftParametry a jejich hodnoty jsou zapsány v souboru modelu ve formátu prostého textu a nástroj vytiskne sadu kombinací. Jsou podporována omezení a podmodely, což je důležité, když jsou určité páry hodnot neplatné. Viz Úložiště PICT.
  • SKUTY: výzkumný nástroj od NIST, který generuje krycí pole pro obousměrné až šestisměrné pokrytí a také publikuje knihovnu předem vypočítaných polí. Je k dispozici na Projekt kombinatorického testování NIST.
  • Komerční kombinatorické platformy: hostované nástroje přidají požadavek tracsnadnost, očekávané výsledky a export do systému pro správu testů, což je vhodné pro větší týmy, které potřebují auditní záznam.
  • Publikované knihovny polí: Standardní pole jako L4, L8, L9, L16 a L18 jsou tabelována a lze je přímo kopírovat, pokud se počty faktorů a úrovní shodují.

Ať už nástroj tabulku vytváří jakýkoli, vygenerované řádky je stále nutné převést na spustitelné případy se skutečnými daty a očekávanými výsledky a poté je naplánovat jako v jakékoli jiné sadě nástrojů uvnitř. techniky testování softwaru již v projektu používán.

Výhody testování ortogonálních polí

  • Garantuje testování párových kombinací všech vybraných proměnných.
  • Snižuje počet testovacích případů.
  • Vytváří méně testovacích případů, které stále pokrývají interakci každé dvojice proměnných.
  • Lze zpracovat složitou kombinaci proměnných.
  • Generování je jednodušší a méně náchylné k chybám než testovací sady vytvořené ručně.
  • Je to užitečné pro Testování integracea stejně užitečné pro testování konfigurace, kde se rychle množí kombinace prohlížečů, operačních systémů a zařízení.
  • Zvyšuje produktivitu díky zkrácení testovacích cyklů a testovacích časů.

Šetřící sloučeniny během regresní testování, protože menší vyvážená sada je dostatečně levná na to, aby se dala spustit každý cyklus znovu, zatímco vyčerpávající kombinovaná sada se obvykle spustí jednou a poté se tiše opustí.

Nevýhody testování ortogonálních polí

  • S rostoucím objemem vstupních dat se zvyšuje složitost návrhu testovacího případu. V důsledku toho se zvyšuje manuální úsilí a čas strávený testováním a testeři se musí snažit... Testování automatizace.
  • Párové pokrytí není úplné pokrytí. Defekt, který se objeví pouze tehdy, když se pohromadě vyskytnou tři specifické hodnoty, může polem projít beze změny.
  • Faktory s různým počtem úrovní se nemapují čistě na standardní pole, takže je potřeba pole se smíšenými úrovněmi nebo generátor pokrývajících polí.
  • Výběr úrovní je otázkou úsudku. Pokud je důležitá hodnota vynechána ze vstupního modelu, žádné pole ji nemůže obnovit.
  • Omezení mezi hodnotami, například platební metoda platná pouze v jedné zemi, se obtížně vyjadřují a obvykle vedou k neplatným řádkům, které je nutné ručně odstranit.

Žádné z těchto omezení tuto techniku ​​nevylučuje; pouze stanovují její hranice. Ortogonální pole redukují problém kombinací, zatímco analýza rizik a testování domén rozhodněte, které faktory si zaslouží místo v modelu od začátku.

Chyby nebo chyby při provádění OAT

  • Zaměření testovacího úsilí na nesprávnou oblast aplikace.
  • Výběr nesprávných parametrů pro kombinování.
  • Použití ortogonálního testování polí, kde je vstupní sada dostatečně malá pro vyčerpávající testování.
  • Ruční aplikace testování ortogonálních polí na model dostatečně velký pro použití generátoru.
  • Spoléhání se pouze na testování ortogonálních polí pro vysoce rizikové aplikace, kde je vyžadováno hlubší pokrytí.

Poslední položka je ta, která v praxi způsobuje největší škody. U bezpečnostního nebo finančního prvku je párová sada spíše spodní než horní hranicí a obvykle je doplněna cílenými případy na testování systému úrovni a s širším plánem popsaným v typy testování softwaru.

Nejčastější dotazy

Jedná se o techniku ​​černé skříňky. Pole je sestaveno pouze ze vstupních parametrů a jejich povolených hodnot, bez odkazu na zdrojový kód, větve nebo vnitřní stav, takže jej lze navrhnout před dokončením implementace.

Tester sestavuje vstupní model, obvykle s obchodním analytikem, který potvrzuje, které hodnoty jsou platné. Vývojáři přispívají tam, kde je parametr interní, například v nastavení mezipaměti. Hodnotu sady určuje kvalita modelu, nikoli pole.

Ne, záleží na nich. Rozdělení a analýza hranic redukují každé pole na hrstku reprezentativních hodnot a pole pak rozhodne, které z těchto hodnot se zkombinují. Spuštění pole na nefiltrovaných nezpracovaných hodnotách vytváří zbytečně velkou tabulku.

Je vyžadováno pole se smíšenou úrovní, například L18, které kombinuje dvouúrovňové a tříúrovňové sloupce. Pokud se nehodí žádné standardní pole, generátor pokrývácích polí zpracuje tvar přímo a vrátí menší tabulku, než kdyby se všem faktorům vnutil stejný počet úrovní.

Jakákoli porucha, která vyžaduje tři nebo více konkrétních hodnot najednou. Empirické studie dat o poruchách uvádějí, že většina poruch je spuštěna jedním nebo dvěma parametry, a proto je párové pokrytí efektivní, ale pro kritické prvky je vhodné třícestné pokrytí.

Většinou na úrovni integrace a systému, kde interaguje několik komponent nebo nastavení. Hodí se také pro matice prostředí, jako je prohlížeč, operační systém a velikost obrazovky, a pro jakýkoli konfigurovatelný produkt, kde dodané kombinace převyšují dostupné testovací okno.

Strojové učení čte požadavky a výrobní protokoly, aby navrhlo faktory a úrovně, na kterých záleží, a modely historie vad seřazují kombinace, které si zaslouží trojstranné pokrytí. Matematika polí je deterministická – inteligentní část vybírá, co do modelu vstupuje.

Vytváří modelový soubor pro generátor, datově řízenou smyčku, která čte řádky, a tvrzení kolem nich. Ověřuje tvrzení o pokrytí pomocí samotného generátoru, protože jazykový model může vytvořit věrohodnou tabulku, která není ortogonální.

Shrňte tento příspěvek takto: