fbpx

Analýza hraničných hodnôt – zvyčajne skrátene BVA – je bežná technika testovania čiernej skrinky. Tento prístup testuje chyby softvéru overovaním vstupných hodnôt na hraniciach prípustných rozsahov.

V tomto článku sa dozviete, čo je to testovanie hraničnej analýzy, prečo je užitočné, a preskúmate niektoré rôzne prístupy, techniky a rôzne nástroje hraničného testovania.

 

Čo je to analýza hraničných hodnôt pri testovaní softvéru?

Statické testovanie v testovaní softvéru - čo je to, typy, proces, prístupy, nástroje a ďalšie!

Analýza hraničných hodnôt je typ funkčného testovania. Tento typ testovania sa zaoberá overením, či každá funkcia softvéru spĺňa požiadavky a špecifikácie. V prípade hraničného testovania táto funkčnosť zahŕňa spôsob, akým softvér pracuje s rôznymi vstupmi.

BVA je technika testovania softvéru, ktorá overuje, ako bude softvér reagovať na vstupy na hranici vstupov alebo v ich okolí. Každý vstup má v podstate povolené rozsahy. Môžete mať napríklad pole s heslom pre prihlásenie, ktoré akceptuje heslá v rozsahu 8 až 12 znakov. Pri hraničnom testovaní sa testujú heslá s dĺžkou znakov 7, 8, 12 a 13.

Myslíme si, že na hraniciach hraníc, t. j. 7, 8, 12 a 13, je väčšia pravdepodobnosť, že sa vyskytnú chyby, ako pri číslach vnútri hraníc, ako sú 9, 10 a 11. Zatiaľ čo v príklade poľa, ktoré prijíma 8 až 12 znakov, sa výhody môžu zdať zanedbateľné, sú zrejmejšie, keď potrebujete napísať testovacie prípady pre polia, ktoré prijímajú 1 až 20 znakov alebo čísla od 1 do 1000 atď.

Aby sa teda ušetril čas a znížil počet testovacích prípadov v rámci funkčného testovania, analýza hraničných hodnôt sa zaoberá hodnotami:

  • Pri minimálnej hodnote
  • Priamo pod minimálnou hodnotou
  • Pri maximálnej hodnote
  • Priamo nad maximálnou hodnotou

 

Výhody analýzy hraničných hodnôt pri testovaní

Testovanie QA - čo to je, typy, procesy, prístupy, nástroje a ďalšie!

Hraničné testovanie má pre tímy QA niekoľko presvedčivých výhod.

#1. Lepšia kvalita softvéru

Nočnou morou pre testerov sú chyby a nedostatky, ktoré zostanú nepovšimnuté. Pri takom množstve vecí, ktoré treba overiť, môžu niektoré chyby uniknúť. Hraničné testovanie dokazuje funkčnosť oblastí softvéru, v ktorých je väčšia pravdepodobnosť výskytu chýb, čo vedie k lepšiemu zostaveniu softvéru a v konečnom dôsledku k spoľahlivejšej a stabilnejšej aplikácii.

#2. Zvýšené pokrytie testov

BVA v testovaní softvéru je veľmi užitočná, pretože pomáha znížiť počet testovacích prípadov potrebných na komplexné pokrytie testov. Analýza hraničných hodnôt zabezpečuje, že dôležité hodnoty a každá hodnota môžu byť dôkladnejšie testované.

#3. Včasné odhalenie chyby

Testovanie hraničných hodnôt je súčasťou prístupu, ktorý uprednostňuje včasné odhalenie chýb. Odchytenie chýb na začiatku procesu znamená, že vývojové tímy môžu ušetriť čas a peniaze, a to ani nehovoríme o tom, že chyby sa oveľa ľahšie odstraňujú v počiatočných fázach vývoja.

#4. Účinnosť

Testovanie hraničných hodnôt je mimoriadne efektívne, pretože zmierňuje požiadavku na množstvo testovacích prípadov. Zredukovanie vstupov na všetky vstupy okrem tých, ktoré s najväčšou pravdepodobnosťou spôsobia problémy, môže testovacím tímom výrazne ušetriť čas pri písaní aj vykonávaní testovacích prípadov.

 

Nevýhody analýzy hraničných hodnôt pri testovaní

Rôzne metodiky softvéru a QA

Samozrejme, žiadna technika testovania softvéru nie je dokonalá alebo bez obmedzení. Hoci má analýza hraničných hodnôt mnoho výhod, práca s touto technikou funkčného testovania má určité obmedzenia.

#1. Úzky rozsah pôsobnosti

BVA pracuje na hraniciach alebo okrajoch platných dátových vstupov. Vo všeobecnosti ignoruje stredné vstupy s odôvodnením, že budú v poriadku, ak sú platné vstupy na okrajoch. Nie je však bez precedensu, že niektoré z týchto netestovaných hodnôt by mohli mať problémy.

#2. Príliš zjednodušené

Hraničná analýza je o zjednodušení. Hoci tento prístup funguje pri redukcii testovacích prípadov, je menej vhodný pre veľmi komplexné domény s viacerými hranicami, interakciami alebo závislosťami. V skutočnosti môže mať problémy so zvládaním zložitých scenárov, čo znamená, že na dosiahnutie primeraného pokrytia je potrebné preskúmať iné techniky.

#3. Predpoklady

Pri každom procese, ktorý sa snaží zvýšiť efektívnosť, hrozí, že sa nevyskytnú konkrétne chyby. BVA sa zameriava na hranice na okraji pásma. Musí pritom prijať predpoklady o ďalších vstupoch, ktoré sa nachádzajú na oboch stranách hraničných hodnôt. Testeri musia nájsť rovnováhu medzi účinnosťou a pokrytím, čo predstavuje mierne riziko, ak sa používa len hraničné testovanie.

#4. Spoliehanie sa na presné špecifikácie a požiadavky

Efektívna BVA závisí od kvality a presnosti špecifikácií a dokumentácie požiadaviek. Akékoľvek nekontrolované chyby v týchto dokumentoch sa môžu preniesť do testovania hraničných hodnôt a viesť k tomu, že konkrétne chyby zostanú nekontrolované a neodhalené až do kritických neskorých fáz vývoja.

#5. Spoliehanie sa na triedy ekvivalencie

Dôkladné vykonanie BVA si vyžaduje dôkladnú znalosť tried ekvivalencie. Presné nastavenie týchto tried si vyžaduje skúsenosti a určité základné informácie o aplikácii.

 

Výzvy analýzy hraničných hodnôt

v testovaní softvéru

Výzvy-testovanie záťaže

Teraz by vám už mali byť jasné výhody a nevýhody hraničného testovania. Ak však chcete tento prístup implementovať do vlastného testovania softvéru, musíte si byť vedomí rôznych problémov, ktoré musíte prekonať.

Tu sú uvedené niektoré z výziev implementácie testovania hraničných hodnôt pri testovaní softvéru.

 

#1. Vytýčenie hraníc

Identifikácia hraníc v jednoduchých systémoch nepredstavuje pre kompetentných testerov veľké výzvy. Existujú však aj zložitejšie situácie, ako napríklad:

  • Komplexné vstupné oblasti s rôznymi vstupnými premennými alebo zložitými vzťahmi
  • Nedokumentované hranice, ktoré neboli jasne uvedené v špecifikáciách
  • Dynamické hranice, ktoré sa menia na základe akcií používateľa alebo iných podmienok

 

#2. Nejednoznačné požiadavky

Zle napísané alebo nejasné dokumenty s požiadavkami môžu brániť identifikácii hraničných hodnôt. Jasnosť, úplnosť a snaha o vypracovanie vyčerpávajúcich špecifikácií si vyžadujú čas, ale nakoniec sa vyplatia.

 

#3. Odbornosť

Analýza hraničných hodnôt môže byť zvodne zložitá. Testovacie tímy skutočne potrebujú pracovníkov so skúsenosťami a znalosťami v tejto oblasti, aby pochopili jemné nuansy techniky. Navyše testeri musia mať určité znalosti o softvéri alebo aspoň spoľahlivé dokumenty so špecifikáciami, o ktoré sa môžu oprieť.

 

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

#4. Chyby

Hraničná analýza sa snaží znížiť počet testovacích prípadov potrebných na overenie platných a neplatných vstupov. Chyby, ktoré sa nachádzajú mimo testovacieho rozsahu, však môžu ľahko zostať nepovšimnuté. Okrem toho sú chyby „mimo jednotiek“ bežnými chybami kódovania, ktoré sa môžu vyskytnúť na hraniciach alebo v ich blízkosti. Testeri si musia byť vedomí týchto scenárov a prijať opatrenia na testovanie.

 

#5. Výbuch testovacieho prípadu

Pri viacerých vstupných hraniciach sa testovacie prípady môžu čoskoro stať zložitými a nekontrolovateľne sa znásobiť. V takýchto situáciách sa stráca čas a peniaze, ktoré môžete ušetriť pomocou hraničného testovania, čo znižuje výhody riešenia. Podobný účinok môžu mať aj zložité softvérové zostavy s množstvom kombinácií alebo permutácií.

 

#6. Obmedzenia analytického nástroja

Nástroje na automatizáciu testovania softvéru môžu tímom pomôcť vykonať adekvátnu analýzu hraničných hodnôt. Avšak aj v tých najlepších prípadoch si tieto nástroje vyžadujú určitý manuálny zásah pri testovaní aj vytváraní testov. Táto situácia sa môže zhoršiť v prípade komplexných zostáv s interakciami s viacerými premennými.

 

Rôzne typy hraničných hodnôt

testovanie pri testovaní softvéru

kontrolný zoznam procesov testovania softvéru

V knihe Testovanie softvéru: Jorgensen a Byron DeVries opisujú štyri rôzne typy testovania hraničných hodnôt, ktorými sú :

 

1. Testovanie normálnych hraničných hodnôt (NBVT)

  • Testuje platné vstupné hodnoty na okrajoch vstupnej oblasti
  • Skúma minimálne a maximálne hodnoty spolu so vstupmi tesne nad a pod hranicou
  • Ide o klasický typ analýzy hraničných hodnôt

 

2. Robustné testovanie hraničných hodnôt (RBVT)

  • Podobne ako NBVT vyššie, ale zahŕňa aj neplatné vstupy
  • Testuje na hraniciach a tesne za nimi, ale zohľadňuje aj neplatné vstupy.
  • Zameriava sa na vyhľadávanie chýb z extrémnych alebo neočakávaných výstupov

 

3. Testovanie hraničných hodnôt v najhoršom prípade (WBVT)

  • Overuje správanie softvéru pomocou extrémne platných a neplatných hodnôt
  • Skúma hodnoty na okraji vstupných oblastí a hodnoty za týmito hranicami
  • Snaží sa pochopiť správanie softvéru v extrémnejších podmienkach

 

4. Robustné testovanie hraničných hodnôt v najhoršom prípade (RWBVT)

  • Využíva kombináciu RBVT a WBVT na čo najdôkladnejšie testovanie hraničných hodnôt
  • Testuje platné a neplatné vstupné hodnoty na typických aj extrémnych hraniciach
  • Ponúka najlepšiu príležitosť nájsť chyby súvisiace s ohraničením

 

Tieto prístupy sa líšia v komplexnosti, pričom RWBVT je najdôkladnejší. Testeri si však musia uvedomiť, že na odomknutie tejto dodatočnej úrovne odhaľovania chýb je potrebné vynaložiť viac času aj úsilia.

 

Rozdelenie ekvivalencie a hraničná hodnota

analýza: podobnosti a rozdiely

objasnenie niektorých nejasností v oblasti automatizácie testovania softvéru

Rozdelenie ekvivalencie a analýza hraničných hodnôt sa často používajú vo vzájomnej kombinácii. Tieto dve techniky sa navzájom veľmi dobre dopĺňajú. Opisujú však odlišné prístupy k overovaniu vstupných údajov. Tu je prehľad podobností a rozdielov medzi nimi.

 

1. Podobnosti

Rozdelenie ekvivalencie a analýza hraničných hodnôt tvoria skvelú dvojicu. Tu sú niektoré podobnosti medzi oboma technikami.

  • V oboch prípadoch ide o techniky testovania čiernej skrinky, čo znamená, že sa zameriavajú na vstupy a výstupy, ktoré možno testovať bez predchádzajúcej znalosti zdrojového kódu aplikácie.
  • Obe sú súčasťou dôkladného prístupu k testovaniu vstupov
  • Obe pomáhajú testerom nájsť rovnováhu medzi komplexným pokrytím testov bez písania nadmerného množstva testovacích prípadov.

 

2. Rozdiely

Ak chceme preskúmať rozdiely medzi rozdelením ekvivalencie a analýzou hraničných hodnôt, musíme sa na každú z nich pozrieť samostatne.

Rozdelenie ekvivalencie

  • rozdeľuje vstupné údaje do tried ekvivalencie, ktoré by mali viesť k podobným výstupom systému
  • Používa jednu reprezentatívnu hodnotu z každej triedy a testuje systém s touto hodnotou.
  • Ide o identifikáciu platných a neplatných tried ekvivalencie

 

Analýza hraničných hodnôt

  • Testuje hodnoty na hraniciach alebo okrajoch tried ekvivalencie
  • Testovanie viacerých hodnôt vrátane minima, maxima a hodnôt na oboch stranách hranice
  • Hľadá chyby, ktoré sa nachádzajú na okraji hraníc

 

Príklady rozdelenia ekvivalencie a analýzy hraničných hodnôt

Aby ste si upevnili svoje znalosti o delení ekvivalencie a analýze hraničných hodnôt, uvádzame niekoľko príkladov.

Príklad rozdelenia ekvivalencie:

Povedzme, že máte vstupné pole pre registráciu automobilov. Registračné značky áut v USA majú zvyčajne 6 až 7 znakov. V záujme zjednodušenia nebudeme brať do úvahy špeciálne poznávacie značky.

Platné údaje = tabuľky 6 alebo 7 znakov

Neplatné údaje = tabuľky s >6 alebo >7 znakmi.

 

Príklad analýzy hraničných hodnôt:

Na rovnakom príklade s číselnou značkou ako vyššie sa hraničnou analýzou otestuje

Platné údaje = tabuľky so 6 alebo 7 znakmi

Neplatné údaje = tabuľky s 5 alebo 8 znakmi a v niektorých scenároch so 4 a 9 znakmi.

 

Príklad analýzy hraničných hodnôt

výhody alfa testovania a rpa

Možno najlepším spôsobom, ako plne pochopiť tento koncept, je pozrieť sa na ďalší príklad alebo dva príklady analýzy hraničných hodnôt.

 

Príklad testovania hraničnej hodnoty č. 1

Ak chcete podrobnejšie preskúmať testovanie hraničných hodnôt, pozrime sa na príklad domény overovania veku.

Máme pole, do ktorého môže používateľ zadať svoj vek.

Hraničné hodnoty sú:

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

  • Minimálny vek = 18 rokov
  • Maximálny vek = 120 rokov

 

Príklad hraničných testovacích prípadov:

Celkovo existuje šesť testovacích prípadov:

  • 17, 18 a 19, ktoré sú pod minimom, minimum a nad minimom.
  • 119, 18 a 19, ktoré sú pod maximom, maximálne a nad maximom

 

Príklad testovania hraničnej hodnoty č. 2.

V našom ďalšom príklade testovania hraníc preskúmame webovú lokalitu s minimálnou zľavou na nákup vo výške 20 % pri objednávkach v hodnote 100 USD a viac.

V tomto príklade sa pri nákupe za viac ako 600 USD poskytuje zľava 25 %. Test hraničnej hodnoty sa bude zaoberať vstupmi v rozmedzí od 100 do 600 USD.

Hraničné hodnoty sú:

Minimálna kvalifikovaná zľava = 100 USD

Maximálna oprávnená zľava = 600 USD

 

Príklad hraničných testovacích prípadov:

Opäť vygenerujeme celkovo šesť testovacích prípadov, ktorými sú:

  • 99,99 USD, 100 USD a 100,01 USD, ktoré sú pod minimom, minimálne a nad minimom.
  • 599,99 USD, 600 USD a 600,01 USD, ktoré sú pod maximom, maximálne a nad maximom.

 

Je hraničné testovanie pri testovaní softvéru presné?

alfa testovanie vs. beta testovanie

Vo výskumnej práci Black Box Testing with Equivalence Partitioning and Boundary Value Analysis Methods autori skúmajú použitie metódy rozdelenia ekvivalencie a analýzy hraničných hodnôt na testovanie akademického informačného systému pre univerzitu Mataram v Indonézii.

Autori použili na testovanie populárny testovací nástroj Selenium s otvoreným zdrojovým kódom a vykonali celkovo 322 testovacích prípadov. Testovanie ekvivalencie a analýza hraničných hodnôt odhalili približne 80 neúspešných prípadov, čo viedlo k pomeru platných a neplatných výsledkov testov približne 75:25. Celkovo možno povedať, že použitie kombinácie rozdelenia ekvivalencie a BVA pri testovaní softvéru viedlo k dôkladnému a užitočnému testovaniu softvéru.

 

Najlepšie nástroje na testovanie hraničných hodnôt

ZAPTEST RPA + balík pre automatizáciu testovania

Hoci špecializované softvérové nástroje na testovanie hraníc sú zriedkavé, existuje mnoho významných testovacích nástrojov, ktoré sú schopné túto úlohu vykonávať.

#3. TestCaseLab

TestCaseLab je cloudový nástroj na správu testov, ktorý môže pomôcť pri testovaní BVA. Softvér umožňuje tímom vytvárať a spravovať testovacie prípady prostredníctvom intuitívneho a atraktívne vyzerajúceho používateľského rozhrania. TestCaseLab je flexibilný a má veľa funkcií, ale má svoje obmedzenia vrátane obmedzených možností reportovania a prispôsobenia.

 

#2. Micro Focus UFT One

Micro Focus UFT One je nástroj na testovanie softvéru so zameraním na funkčné a regresné testovanie. Podporuje rôzne platformy, zariadenia a testovanie API a ponúka široké možnosti integrácie. Ponúka vytváranie testov bez kódu aj na základe kľúčových slov a môže tímom pomôcť ľahko vytvoriť testovacie prípady analýzy hraničných hodnôt. V porovnaní s nástrojmi, ako je ZAPTEST, je potrebné vziať do úvahy niektoré obmedzenia, ako napríklad strmú krivku učenia a nedostatočný výkon.

 

#1. ZAPTEST

Agilná automatizácia testovania DevOps: Vysvetlenie prístupu k automatizácii založeného na maketách ZAPTEST

ZAPTEST je komplexný nástroj na automatizované testovanie softvéru s pokročilými možnosťami RPA. Je vytvorený tak, aby poskytoval testerom používateľsky prívetivý a robustný balík nástrojov na automatizáciu testovania, ktoré môžu pomôcť overiť softvér rôznymi spôsobmi vrátane BVA pri testovaní softvéru.

Medzi najpresvedčivejšie prípady použitia ZAPTEST-u na pomoc pri analýze hraničných hodnôt patrí generovanie testovacích prípadov, spracovanie testovacích údajov, vykonávanie testov a podávanie správ a analýza. Vďaka množstvu šablón a vysokej úrovni prispôsobenia v kombinácii s vytváraním testovacích prípadov bez kódu môžu používatelia ZAPTEST rýchlo a jednoducho vytvárať a spravovať robustné testovacie prípady pre všetky typy hraničných analýz.

Okrem generovania a správy testovacích prípadov môžu možnosti RPA od ZAPTEST-u pomôcť testovacím tímom pri testovaní analýzy hraničných hodnôt aj inými spôsobmi. Môžete napríklad automatizovať vykonávanie testovacích prípadov, generovať testovacie údaje a vytvárať výkonné integrácie s inými testovacími nástrojmi.

 

Tipy na testovanie hraničných hodnôt

  • Kombinujte analýzu hraničných hodnôt s rozdelením ekvivalencie, aby ste zabezpečili, že vaše testovacie prípady pokryjú rôzne vstupné scenáre
  • Používajte scenáre neplatných vstupov (t. j. negatívne testovanie), aby ste si overili, ako softvér spracúva chyby a neočakávané vstupy.
  • Investujte čas do identifikácie hraničných hodnôt pre rôzne typy údajov, ako sú text, čísla, logické hodnoty atď.
  • Uprednostnite testovanie hraničných hodnôt pre kritické funkcie alebo oblasti, v ktorých je pravdepodobnosť výskytu chýb vyššia.
  • Používajte reálne údaje, ktoré predstavujú typ údajov, ktoré budú vaši používatelia zadávať do vašich domén.

 

Záverečné myšlienky

Analýza hraničných hodnôt je užitočný prístup k testovaniu funkčnosti. Keď máte vstupnú doménu, musíte skontrolovať, či prijíma platné údaje a či odosiela chybové správy, keď prijíma neplatné údaje. Testovanie hraničnou analýzou pomáha overiť túto funkčnosť efektívnym spôsobom tým, že vytvára len testovacie prípady potrebné na komplexné testovanie.

Pri hraničnom testovaní sa skúmajú hodnoty v prijateľnom rozsahu alebo v jeho okolí a overuje sa, ako systém reaguje na tieto vstupy. Výsledkom je veľa ušetreného času a menej úsilia, pretože nemusíte vytvárať zbytočné testovacie prípady. V rýchlom svete vývoja softvéru, kde sa zdá, že termíny prichádzajú rýchlo a rýchlo, potrebujú testovacie tímy všetku pomoc, ktorú môžu dostať.

Download post as PDF

Alex Zap Chernyak

Alex Zap Chernyak

Founder and CEO of ZAPTEST, with 20 years of experience in Software Automation for Testing + RPA processes, and application development. Read Alex Zap Chernyak's full executive profile on Forbes.

Get PDF-file of this post

Virtual Expert

ZAPTEST

ZAPTEST Logo