Co je testování domén v testování softwaru? (s příkladem)
Co je testování domén?
Testování domény je Testování softwaru proces, ve kterém se aplikace testuje zadáním minimálního počtu vstupů a vyhodnocením příslušných výstupů. Primárním cílem testování domény je zkontrolovat, zda softwarová aplikace přijímá vstupy v přijatelném rozsahu a poskytuje požadovaný výstup.
Je Funkční testování technika, při které je výstup systému testován s minimálním počtem vstupů, aby bylo zajištěno, že systém nepřijme neplatné a mimo rozsah vstupní hodnoty. Je jedním z nejdůležitějších Bílý Box Testování metody. Také ověřuje, že systém by neměl přijímat vstupy, podmínky a indexy mimo specifikovaný nebo platný rozsah.
Testování domény se pro každou konkrétní doménu liší, takže k testování softwarového systému musíte mít znalosti specifické pro doménu.
Jednodušší praxe testování domén
Při testování domén rozdělujeme doménu na subdomény (třídy ekvivalence) a poté testujeme pomocí hodnot z každé subdomény. Pokud byla například webová stránka (doména) dána k testování, rozdělíme webovou stránku na malé části (subdoménu) pro usnadnění testování.
Doména může zahrnovat testování jedné vstupní proměnné nebo kombinace vstupních proměnných.
Praktici často studují nejjednodušší případy testování domén s méně než dvěma jinými názvy, „testování hranic“ a „analýza tříd ekvivalence“.
Hraniční testování – Analýza hraničních hodnot (BVA) je založena na testování na hranicích mezi oddíly. Budeme testovat platné i neplatné vstupní hodnoty v oddílu/třídách.
Testování třídy ekvivalence – Myšlenkou této techniky je rozdělit (tj. rozdělit) sadu testovacích podmínek do skupin nebo sad, které lze považovat za stejné (tj. systém by je měl zpracovat ekvivalentně), proto „rozdělení ekvivalence“.
Tento zjednodušený formulář platí pro testování domény –
- Pouze k testům vstupních proměnných
- Pouze při testování na úrovni systému
- Pouze při testování jeden po druhém
- Pouze při testování velmi povrchním způsobem
Lze to zjednodušit následovně:
Proměnlivý | Platná třída ekvivalence třídy | Neplatná třída ekvivalence třídy | Hranice a speciální případy | Poznámky |
---|---|---|---|---|
X | 0-100 | 0 | ||
100 | ||||
<0 | -1 | |||
> 100 | 101 |
Vysvětlení:
- Pokud pole přijímá rozsahy od 0 do 100, pole by nemělo přijímat hodnoty -1 a 101, protože se jedná o neplatné položky a za hranicemi.
- Pole by mělo přijímat hodnoty jako 0,100 a libovolné číslo mezi nimi.
Stavební stůl jako tento (v praxi)
- Chcete-li vytvořit analýzu třídy ekvivalence v průběhu času, vložte informace do tabulky. Začněte výpisem proměnných. Přidejte o nich informace, jakmile je získáte.
- Tabulka by nakonec měla obsahovat všechny proměnné. To znamená, že všechny vstupní proměnné, všechny výstupní proměnné a jakékoli mezilehlé proměnné, které můžete pozorovat.
- V praxi je většina tabulek, které jsem viděl, neúplná. Ty nejlepší, které jsme viděli, uvádějí všechny proměnné a přidávají podrobnosti o kritických proměnných.
Strategie testování domény
Při testování domény musíte zvážit následující věci,
- Jakou doménu testujeme?
- Jak seskupit hodnoty do tříd?
- Které hodnoty tříd mají být testovány?
- Jak určit výsledek?
Jakou doménu testujeme?
Každá doména, kterou testujeme, má nějakou vstupní funkci a výstupní funkci. Bude nutné zadat nějaké vstupní proměnné a je třeba ověřit příslušný výstup.
Příklad testování domény
- Zvažte scénář testu jediného vstupu:
C = a+b, kde aab jsou vstupní proměnné a C je výstupní proměnná.
Zde ve výše uvedeném příkladu není potřeba klasifikace nebo je vyžadována kombinace proměnných.
- Zvažte níže uvedené vícenásobné vstupy a vhodný scénář výstupu:
Zvažte výstavu her pro děti, je připraveno 6 soutěží a vstupenky je třeba dát podle věku a pohlaví. Prodej vstupenek je jedním z modulů, které mají být testovány pro celou funkčnost výstavy her.
Podle scénáře jsme dostali šest scénářů na základě věku a soutěží:
- Věk >5 a <10, chlapec by se měl účastnit vyprávění příběhů.
- Věk >5 a <10, dívka by se měla zúčastnit soutěže v kreslení.
- Věk >10 a <15, chlapec by se měl zúčastnit kvízu.
- Věk >10 a <15, dívka by se měla podílet na psaní eseje.
- Věk <5, chlapci i dívky by se měli zúčastnit soutěže Říkadel.
- Věk >15, chlapci i dívky by se měli zúčastnit soutěže poezie.
Zde bude zadáním Věk a Pohlaví a tudíž bude vystavena vstupenka do soutěže. V tomto případě přichází na řadu rozdělení vstupů nebo jednoduše seskupení hodnot.
Jak seskupit hodnoty do tříd?
Rozdělení některých hodnot znamená jejich rozdělení na nepřekrývající se podmnožiny.
Jak jsme již zmínili, existují dva typy rozdělení:
- Rozdělení ekvivalence – Ekvivalenční rozdělení je a testování softwaru technika, která rozděluje vstupní data softwarové jednotky do oddílů ekvivalentních dat, ze kterých lze odvodit testovací případy. V zásadě jsou testovací případy navrženy tak, aby pokryly každý oddíl alespoň jednou.
- Analýza okrajových hodnot – Analýza okrajových hodnot je a testování softwaru technika, ve které jsou testy navrženy tak, aby zahrnovaly zástupce hraničních hodnot v určitém rozsahu. Myšlenka pochází z hranice.
Ve výše uvedeném příkladu rozdělujeme hodnoty do podmnožiny nebo podmnožiny. Věk rozdělujeme do níže uvedených tříd:
- Třída 1: Děti ve věkové skupině 5 až 10 let
- třída 2: Děti ve věkové skupině do 5 let
- Třída 3: Děti ve věkové skupině 10 až 15 let
- Třída 4: Děti ve věkové skupině nad 15 let.
Které hodnoty tříd mají být testovány?
Hodnoty shromážděné pro testování by měly být hraniční hodnoty:
- Hranice jsou zástupci tříd ekvivalence, ze kterých je vybíráme. Je pravděpodobnější, že odhalí chybu než ostatní členové třídy, takže jsou lepšími zástupci.
- Nejlepším představitelem třídy ekvivalence je hodnota v rozmezí.
Pro výše uvedený příklad máme k testování následující třídy:
Například pro scénář #1:
- Třída 1: Děti ve věkové skupině 5 až 10 let (věk >5 a <=10)
Hraniční hodnoty:
- Hodnoty by měly být rovné nebo menší než 10. Do této třídy by proto měl být zahrnut věk 10 let.
- Hodnoty by měly být vyšší než 5. Proto by věk 5 let neměl být zahrnut do této třídy.
- Hodnoty by měly být rovné nebo menší než 10. Proto by věk 11 let neměl být zahrnut do této třídy.
- Hodnoty by měly být vyšší než 5. Do této třídy by proto měl být zahrnut věk 6 let.
Hodnoty oddílu ekvivalence:
O ekvivalenčním oddílu se hovoří, když je třeba testovat pouze jednu podmínku z každého oddílu. V tomto případě předpokládáme, že pokud funguje jedna podmínka v oddílu, měly by fungovat všechny podmínky. Stejně tak, pokud jedna podmínka v tomto oddílu nefunguje, pak předpokládáme, že nebude fungovat žádná z ostatních podmínek. Například,
(Věk >5 a <=10)
Protože hodnoty od 6 do 10 jsou platné, je třeba vybrat jednu z hodnot mezi 6,7,8,9 a 10. Zvolený věk „8“ je tedy platným vstupním věkem pro věkovou skupinu mezi (Věk >5 a <=10). Tento druh rozdělení se nazývá ekvivalenční rozdělení.
Scénář | Hraniční hodnoty, které je třeba vzít | Ekvivalence rozdělení hodnot |
---|---|---|
Chlapec – věk >5 a <=10 | Vstupní věk = 6 Vstupní věk = 5 Vstupní věk = 11 Vstupní věk = 10 |
Vstupní věk = 8 |
Dívka – věk >5 a <=10 | Vstupní věk = 6 Vstupní věk = 5 Vstupní věk = 11 Vstupní věk = 10 |
Vstupní věk = 8 |
Chlapec – věk >10 a <=15 | Vstupní věk = 11 Vstupní věk = 10 Vstupní věk = 15 Vstupní věk = 16 |
Vstupní věk = 13 |
Dívka – věk >10 a <=15 | Vstupní věk = 11 Vstupní věk = 10 Vstupní věk = 15 Vstupní věk = 16 |
Vstupní věk = 13 |
Věk<=5 | Vstupní věk = 4 Vstupní věk = 5 |
Vstupní věk = 3 |
Věk> 15 | Vstupní věk = 15 Vstupní věk = 16 |
Vstupní věk = 25 |
Jak zjistíme, zda program v testu prošel nebo neuspěl?
Předání funkce nezávisí pouze na výsledcích výše uvedených scénářů. Daný vstup a očekávaný výstup nám poskytnou výsledky a to vyžaduje znalost domény.
Určení výsledků příkladu:
Pokud tedy projdou všechny testovací případy výše, doména vydávání tiketů v soutěži projde. Pokud ne, doména selže.
Struktura testování domény
Testeři obvykle při testování domény postupují podle níže uvedených kroků. Ty mohou být přizpůsobeny/přeskočeny podle našich testovacích potřeb.
- Identifikujte potenciálně zajímavé proměnné.
- Identifikujte proměnné, které můžete nyní analyzovat, a seřaďte je (od nejmenší po největší a naopak).
- Vytvořte a identifikujte hraniční hodnoty a hodnoty tříd ekvivalence, jak je uvedeno výše.
- Identifikujte sekundární dimenze a analyzujte je klasickým způsobem. (Ve výše uvedeném příkladu je pohlaví sekundární dimenzí).
- Identifikujte a otestujte proměnné, které obsahují výsledky (výstupní proměnné).
- Vyhodnoťte, jak program využívá hodnotu této proměnné.
- Identifikujte další potenciálně související proměnné pro kombinované testování.
- Představte si rizika, která se nemusí nutně týkat zjevné dimenze.
- Identifikujte a vyjmenujte neanalyzované proměnné. Shromážděte informace pro pozdější analýzu.
- Shrňte svou analýzu pomocí tabulky rizika/ekvivalence.
Shrnutí
Testování domény, jak je popsáno výše, vyžaduje znalost poskytování správného vstupu pro dosažení požadovaného výstupu. Je tedy možné jej použít pouze pro malé kousky kódu.