Get your 6-month No-Cost Opt-Out offer for Unlimited Software Automation?

A határérték-elemzés – jellemzően BVA-nak rövidítve – egy általános fekete dobozos tesztelési technika. A megközelítés a szoftverhibákat a bemeneti értékeknek a megengedett tartományok határán történő ellenőrzésével vizsgálja.

Ez a cikk feltárja, hogy mi a határelemzési tesztelés, miért hasznos, és megvizsgál néhány különböző megközelítést, technikát és különböző határelemzési eszközt.

 

Table of Contents

Mi az a határérték-elemzés a szoftvertesztelésben?

Statikus tesztelés a szoftvertesztelésben - Mi az, típusok, folyamat, megközelítések, eszközök és még sok más!

A határérték-elemzés a funkcionális tesztelés egyik típusa. Ez a fajta tesztelés annak ellenőrzésével foglalkozik, hogy a szoftver minden egyes funkciója megfelel-e a követelményeknek és a specifikációknak. A határtesztelés esetében ez a funkcionalitás magában foglalja azt, hogy a szoftver hogyan kezeli a különböző bemeneteket.

A BVA egy olyan szoftvertesztelési technika, amely validálja, hogy a szoftver hogyan reagál a bemenetekre a bemeneti határoknál vagy azok környékén. Lényegében minden bemenetnek vannak megengedett tartományai. Lehet például egy olyan jelszómezője a bejelentkezéshez, amely 8 és 12 karakter közötti jelszavakat fogad el. A határtesztelés a 7, 8, 12 és 13 karakter hosszúságú jelszavakat vizsgálja.

A gondolkodásmód itt az, hogy a határértékek határai, azaz a 7, 8, 12 és 13 nagyobb valószínűséggel dobnak hibát, mint a határértékeken belüli számok, például a 9, 10 és 11. Míg a 8 és 12 karakter közötti karaktereket fogadó meződobozok esetében az előnyök marginálisnak tűnhetnek, sokkal nyilvánvalóbbá válnak, amikor olyan meződobozok teszteseteit kell megírni, amelyek 1 és 20 karakter közötti karaktereket vagy 1 és 1000 közötti számokat fogadnak el, és így tovább.

Tehát, hogy időt takarítson meg és csökkentse a tesztesetek számát a funkcionális tesztelésen belül, a határérték-elemzés az értékeket vizsgálja:

  • Minimális értéken
  • Közvetlenül a minimális érték alatt
  • Maximális értéken
  • Közvetlenül a maximális érték felett

 

A határérték-elemzés előnyei a tesztelésben

QA tesztelés - Mi az, típusok, folyamatok, megközelítések, eszközök és még sok más!

A határmenti tesztelésnek számos előnye van a minőségbiztosítási csapatok számára.

#1. Jobb szoftverminőség

A tesztelők rémálma a hibák és hiányosságok észrevétlen maradása. Mivel annyi mindent kell ellenőrizni, néhány hiba kicsúszhat a kezünkből. A határtesztelés a szoftver azon területeinek működőképességét bizonyítja, amelyek nagyobb valószínűséggel tartalmaznak hibákat, ami jobb szoftverkészítéshez és végső soron megbízhatóbb, stabilabb alkalmazáshoz vezet.

#2. Fokozott tesztelési lefedettség

A BVA a szoftvertesztelésben azért olyan hasznos, mert segít csökkenteni az átfogó tesztlefedettséghez szükséges tesztesetek számát. A határérték-elemzés biztosítja, hogy a fontos értékek és az egyes értékek alaposabban tesztelhetők legyenek.

#3. A hibák korai felismerése

A határérték-tesztelés egy olyan megközelítés része, amely a hibák korai felismerését helyezi előtérbe. A hibák korai felismerése azt jelenti, hogy a fejlesztőcsapatok időt és pénzt takaríthatnak meg, nem is beszélve arról, hogy a fejlesztés korai szakaszában sokkal könnyebb a hibákat orvosolni.

#4. Hatékonyság

A határérték-tesztelés szuperhatékony, mert csökkenti a sok teszteset szükségességét. A bemenetek csökkentése a legvalószínűbb problémákat okozó tényezők kivételével jelentősen időt takaríthat meg a tesztelő csapatoknak mind a tesztesetek megírására, mind a tesztek végrehajtására.

 

A határérték-elemzés hátrányai a tesztelésben

Különböző szoftver- és minőségbiztosítási módszertanok

Természetesen egyetlen szoftvertesztelési technika sem tökéletes vagy korlátok nélküli. Bár a határérték-elemzésnek számos előnye van, a funkcionális tesztelési technikával való munkavégzésnek vannak bizonyos korlátai.

#1. Szűk hatókör

A BVA az érvényes adatbevitelek határain vagy szélein dolgozik. Általában figyelmen kívül hagyja a középső bemeneteket azzal az érveléssel, hogy azok rendben lesznek, ha a széleken lévő érvényes bemenetek is azok. Nem példa nélküli azonban, hogy néhány ilyen érték, amelyet nem teszteltek, problémás lehet.

#2. Túlságosan leegyszerűsítő

A határelemzés a dolgok leegyszerűsítéséről szól. Míg ez a tesztesetek csökkentésére alkalmas, a megközelítés kevésbé alkalmas a több határt, kölcsönhatást vagy függőséget tartalmazó, rendkívül összetett tartományok esetében. Valójában nehezen tudja kezelni az összetett forgatókönyveket, ami azt jelenti, hogy a megfelelő lefedettség érdekében más technikákat kell keresnie.

#3. Feltételezések

Minden olyan folyamat, amely a hatékonyság növelésére törekszik, azzal a kockázattal jár, hogy bizonyos hibák kimaradnak. A BVA a tartomány szélén lévő határokat veszi górcső alá. Ennek során feltételezéseket kell tennie a határértékek bármelyik oldalára eső egyéb bemenetekre vonatkozóan. A tesztelőknek egyensúlyt kell teremteniük a hatékonyság és a lefedettség között, ami egy kis kockázatot jelent, ha csak a határtesztelést alkalmazzák.

#4. A pontos specifikációkra és követelményekre való támaszkodás

A hatékony BVA a specifikációk és a követelménydokumentáció minőségétől és pontosságától függ. Az ezekben a dokumentumokban található ellenőrizetlen hibák átterjedhetnek a határérték-tesztelésre, és ahhoz vezethetnek, hogy a fejlesztés kritikus, késői szakaszáig nem ellenőrzött és felfedezetlen hibák maradnak.

#5. Az ekvivalenciaosztályokra való támaszkodás

Az alapos BVA elvégzéséhez az ekvivalenciaosztályok alapos ismerete szükséges. Ezen osztályok pontos beállítása tapasztalatot és némi háttérinformációt igényel az alkalmazásról.

 

A határérték-elemzés kihívásai

a szoftvertesztelésben

challenges-load-testing

Mostanra már eléggé tisztában kell lennie a határtesztelés előnyeivel és hátrányaival. Ha azonban a megközelítést saját szoftvertesztelésében szeretné alkalmazni, akkor tisztában kell lennie a különböző kihívásokkal, amelyeket le kell küzdenie.

Íme néhány kihívás a határérték-tesztelés megvalósítása során a szoftvertesztelésben.

 

#1. Határok kijelölése

Az egyszerű rendszereken belüli határok azonosítása kevés kihívást jelent a hozzáértő tesztelők számára. Vannak azonban összetettebb helyzetek is, mint például:

  • Összetett bemeneti tartományok különböző bemeneti változókkal vagy bonyolult kapcsolatokkal
  • Dokumentálatlan határok, amelyeket nem vázoltak fel egyértelműen a specifikációs dokumentumokban.
  • Dinamikus határok, amelyek a felhasználói műveletek vagy egyéb feltételek alapján változnak

 

#2. Kétértelmű követelmények

A rosszul megírt vagy nem egyértelmű követelménydokumentumok akadályozhatják a határértékek azonosítását. Az egyértelműség, a teljesség és a kimerítő specifikációs dokumentumok iránti elkötelezettség időbe telik, de végül kifizetődik.

 

#3. Szakértelem

A határérték-elemzés megtévesztően bonyolult lehet. A tesztelő csapatoknak valóban szükségük van a területen tapasztalt és jártas személyzetre, hogy megértsék a technika finomságait. Ráadásul a tesztelőknek rendelkezniük kell némi szoftverismerettel, vagy legalábbis megbízható specifikációs dokumentumokkal, amelyekre támaszkodhatnak.

 

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

#4. Hibák

A határelemzés célja az érvényes és érvénytelen bemenetek ellenőrzéséhez szükséges tesztesetek számának csökkentése. A vizsgálati tartományon kívül eső hibák azonban könnyen észrevétlenek maradhatnak. Ezenkívül az “off-by-one” hibák gyakori kódolási hibák, amelyek a határoknál vagy azok közelében fordulhatnak elő. A tesztelőknek tisztában kell lenniük ezekkel a forgatókönyvekkel, és rendelkezniük kell a tesztelésről.

 

#5. Tesztelési eset robbanás

Több bemeneti határértékkel a tesztesetek hamarosan összetetté válhatnak, és irányíthatatlanul megsokszorozódhatnak. Ezekben a helyzetekben a határteszteléssel megtakarítható idő és pénz elveszik, ami aláássa a megoldás előnyeit. A sok kombinációt vagy permutációt tartalmazó összetett szoftverek hasonló hatással járhatnak.

 

#6. Az elemzési eszköz korlátai

A szoftverteszt-automatizálási eszközök segíthetnek a csapatoknak a megfelelő határérték-elemzés elvégzésében. Ezek az eszközök azonban még a legjobb esetben is igényelnek némi kézi beavatkozást mind a teszteléshez, mind a tesztek létrehozásához. Ez a helyzet súlyosbodhat a többváltozós kölcsönhatásokat tartalmazó összetett építmények esetében.

 

Különböző típusú határértékek

tesztelés a szoftvertesztelésben

ellenőrzőlista szoftvertesztelési folyamatok

A Szoftvertesztelés című könyvben: A Craftsman’s Approach című könyv szerzői, Paul C. Jorgensen és Byron DeVries a határérték-tesztelés négy különböző típusát írják le, amelyek a következők:

 

1. Normál határérték tesztelés (NBVT)

  • Érvényes bemeneti értékek tesztelése a bemeneti tartomány éleinél
  • Feltárja a minimális és maximális értékeket a határértékek feletti és alatti bemenetek mellett.
  • Ez a határérték-elemzés klasszikus típusa.

 

2. Robusztus határérték-tesztelés (RBVT)

  • Hasonló a fenti NBVT-hez, de az érvénytelen bemeneteket is tartalmazza.
  • A határoknál és közvetlenül azokon túl végez vizsgálatokat, de figyelembe veszi az érvénytelen bemeneteket is
  • A szélsőséges vagy váratlan kimenetekből eredő hibák megtalálására összpontosít.

 

3. Legrosszabb eset határérték vizsgálata (WBVT)

  • A szoftver viselkedésének ellenőrzése extrém érvényes és érvénytelen értékek segítségével
  • Feltárja a bemeneti tartományok szélén lévő értékeket és az ezeken a határokon túli értékeket.
  • A szoftverek viselkedésének megértése szélsőségesebb körülmények között

 

4. Robusztus legrosszabb esetre vonatkozó határérték-tesztelés (RWBVT)

  • Az RBVT és a WBVT keverékét használja a legalaposabb határérték-teszteléshez.
  • Érvényes és érvénytelen bemeneti értékek tesztelése tipikus és szélsőséges határértékeken egyaránt
  • A legjobb lehetőséget kínálja a határokkal kapcsolatos hibák megtalálására.

 

Ezek a megközelítések különböznek egymástól a teljesség tekintetében, az RWBVT a legátfogóbb. A tesztelőknek azonban tudomásul kell venniük, hogy a hibák felfedezésének e további szintjéhez többletbefektetés szükséges mind időben, mind erőfeszítésben.

 

Ekvivalencia partícionálás és határértékek

elemzés: hasonlóságok és különbségek

a szoftvertesztelés automatizálásával kapcsolatos zűrzavarok tisztázása

Az ekvivalenciapartícionálást és a határérték-elemzést gyakran együtt használják. A két technika ugyanis nagymértékben kiegészíti egymást. Az adatbevitel validálására azonban különböző megközelítéseket írnak le. Íme egy pillantás a kettő közötti hasonlóságokra és különbségekre.

 

1. Hasonlóságok

Az ekvivalenciapartícionálás és a határérték-elemzés remek párost alkotnak. Íme néhány hasonlóság a két technika között.

  • Mindkettő fekete dobozos tesztelési technika, ami azt jelenti, hogy a bemenetekre és kimenetekre összpontosítanak, amelyek az alkalmazás forráskódjának előzetes ismerete nélkül tesztelhetők.
  • Mindkettő része a bemenetek alapos teszteléséhez való hozzáállásnak.
  • Mindkettő segít a tesztelőknek megtalálni az egyensúlyt az átfogó tesztlefedettség között anélkül, hogy túlzott mennyiségű tesztesetet írnának.

 

2. Különbségek

Ahhoz, hogy feltárjuk az ekvivalenciapartícionálás és a határérték-elemzés közötti különbségeket, külön-külön kell megvizsgálnunk mindkettőt.

Ekvivalencia partícionálás

  • A bemeneti adatokat olyan ekvivalenciaosztályokra osztja, amelyeknek hasonló rendszer kimeneteket kell eredményezniük.
  • Minden osztályból egyetlen reprezentatív értéket használ, és ezzel az értékkel teszteli a rendszert.
  • Az érvényes és érvénytelen ekvivalenciaosztályok azonosításával foglalkozik.

 

Határérték-elemzés

  • Az ekvivalenciaosztályok határain vagy szélein lévő értékek vizsgálata
  • Számos érték tesztelése, beleértve a minimumot, a maximumot és a határ mindkét oldalán lévő értékeket.
  • A határok szélén található hibákat keresi.

 

Ekvivalencia partícionálás és határérték analízis példák

Az egyenértékűség-felosztás és a határérték-analízis megértésének elősegítése érdekében íme néhány példa.

Egyenértékűség felosztási példa:

Tegyük fel, hogy van egy gépkocsi-regisztrációs beviteli mezője. Az amerikai rendszámtáblák általában 6 és 7 karakter közöttiek. Az egyszerűség kedvéért a különleges rendszámtáblákat figyelmen kívül hagyjuk.

Érvényes adatok = 6 vagy 7 karakteres táblák

Érvénytelen adatok = >6 vagy >7 karaktert tartalmazó rendszámtáblák.

 

Példa a határérték-elemzésre:

A fenti számtábla példát használva a határérték-elemzés a következőket vizsgálja

Érvényes adatok = 6 vagy 7 karakteres rendszámtáblák

Érvénytelen adatok = 5 vagy 8 karakteres, illetve egyes esetekben 4 és 9 karakteres rendszámtáblák.

 

Példa a határérték-elemzésre

az alfa-tesztelés és az rpa előnyei

Talán a fogalom teljes megértéséhez a legjobb módja, ha egy-két másik határérték-elemzési példát nézünk.

 

Határérték-tesztelési példa #1

A határérték-tesztelés részletesebb feltárásához nézzünk meg egy példát egy korhűségi tartományra.

Van egy mezőnk, ahol a felhasználó megadhatja a korát.

A határértékek a következők:

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

  • Minimum életkor = 18 év
  • Maximális életkor = 120 év

 

Példa a határesetekre:

Összesen hat teszteset van:

  • 17, 18 és 19, amelyek a minimum, a minimum és a minimum alatt, illetve felett vannak.
  • 119, 18 és 19, amelyek a maximális érték alatt, a maximális érték felett, illetve a maximális érték felett vannak.

 

Határértékvizsgálati példa #2.

A következő határérték-tesztelési példánkban egy olyan weboldalt vizsgálunk meg, ahol a 100 dolláros vagy annál nagyobb értékű rendelések esetén 20%-os minimális vásárlási kedvezményt adunk.

Ebben a példában a 600 dollár feletti vásárlás 25%-os kedvezményt eredményez. A határérték-teszt 100 és 600 dollár közötti inputokkal foglalkozik.

A határértékek a következők:

Minimális kedvezmény = 100 $

Maximális jogosult kedvezmény = 600 $

 

Példa a határesetekre:

Ismét összesen hat tesztesetet generálunk, amelyek a következők:

  • 99,99 $, 100 $ és 100,01 $, amelyek a minimum, a minimum és a minimum felett vannak.
  • $599,99, $600, illetve $600,01, amelyek a maximum alatt, maximum, illetve a maximum felett vannak.

 

Pontos-e a határtesztelés a szoftvertesztelésben?

alfa tesztelés vs. béta tesztelés

A Black Box Testing with Equivalence Partitioning and Boundary Value Analysis Methods (Fekete doboz tesztelés egyenértékűség partícionálással és határérték-elemzéssel) című kutatási dokumentumban a szerzők az egyenértékűség partícionálás és a határérték-elemzés felhasználásával vizsgálják az indonéziai Mataram Egyetem tudományos információs rendszerének tesztelését.

A szerzők a népszerű nyílt forráskódú Selenium tesztelő eszközt használták a tesztekhez, és összesen 322 tesztesetet futtattak le. Az ekvivalenciateszt és a határérték-elemzés körülbelül 80 sikertelen esetet tárt fel, ami nagyjából 75:25 arányt eredményezett az érvényes és érvénytelen tesztpontszámok között. Összességében az ekvivalenciapartícionálás és a BVA kombinációjának használata a szoftvertesztelésben alapos és hasznos tesztelést eredményezett a szoftver számára.

 

A legjobb határérték-tesztelő eszközök

ZAPTEST RPA + Teszt automatizálási csomag

Míg a dedikált határtesztelő szoftvereszközök ritkák, számos figyelemre méltó tesztelési eszköz alkalmas a feladat elvégzésére.

#3. TestCaseLab

A TestCaseLab egy felhőalapú tesztkezelő eszköz, amely segíthet a BVA tesztelésben. A szoftver lehetővé teszi a csapatok számára, hogy intuitív és vonzó megjelenésű felhasználói felületéről teszteseteket hozzanak létre és kezeljenek. A TestCaseLab rugalmas és funkciógazdag, de megvannak a maga korlátai, többek között a korlátozott jelentéskészítési és testreszabási lehetőségek.

 

#2. Micro Focus UFT One

A Micro Focus UFT One egy szoftvertesztelő eszköz, amely a funkcionális és regressziós tesztelésre összpontosít. Támogatja a különböző platformokat, eszközöket és API-teszteléseket, és erős integrációs lehetőségeket kínál. Kód nélküli és kulcsszóvezérelt tesztkészítést is kínál, és segít a csapatoknak a határérték-elemzés teszteseteinek egyszerű elkészítésében. Vannak bizonyos korlátok, amelyeket figyelembe kell vennie, például a meredek tanulási görbe és a teljesítmény hiánya az olyan eszközökhöz képest, mint a ZAPTEST.

 

#1. ZAPTEST

Agilis DevOps teszt-automatizálás: A ZAPTEST mockup-alapú automatizálási megközelítés magyarázata

A ZAPTEST egy átfogó szoftverautomatizálási tesztelő eszköz fejlett RPA képességekkel. Úgy épült fel, hogy a tesztelők számára felhasználóbarát és robusztus teszt-automatizálási eszközkészletet biztosítson, amely számos módon segíthet a szoftverek ellenőrzésében, többek között a BVA-val a szoftvertesztelésben.

A ZAPTEST legmeggyőzőbb felhasználási esetei közé tartozik a határérték-elemzést segítő tesztesetek generálása, a tesztadatok kezelése, a tesztek végrehajtása, valamint a jelentéskészítés és elemzés. A ZAPTEST felhasználók számos sablon és a magas szintű testreszabhatóság, valamint a kód nélküli tesztesetek létrehozásával kombinálva gyorsan és egyszerűen létrehozhatnak és kezelhetnek robusztus teszteseteket minden típusú határelemzéshez.

A tesztesetek generálásán és kezelésén túl a ZAPTEST RPA-képességei más módon is segíthetik a tesztelő csapatokat a határérték-elemzéses tesztelésben. Például automatizálhatja a tesztesetek végrehajtását, tesztadatokat generálhat, és hatékony integrációkat építhet más tesztelési eszközökkel.

 

Tippek a határérték-teszteléshez

  • Kombinálja a határérték-elemzést az ekvivalencia partícionálással, hogy a tesztesetek különböző bemeneti forgatókönyveket fedjenek le.
  • Használjon érvénytelen bemeneti forgatókönyveket (pl. negatív tesztelés), hogy ellenőrizze, hogyan kezeli a szoftver a hibákat és a váratlan bemeneti adatokat.
  • Fektessen időt a különböző adattípusok, például szöveg, számok, Boolean stb. határértékeinek meghatározására.
  • A kritikus funkciók vagy olyan területek határérték-tesztelésének előtérbe helyezése, ahol a hibák előfordulásának valószínűsége nagyobb.
  • Használjon olyan reális adatokat, amelyek reprezentálják, hogy a felhasználók milyen adatokat fognak bevinni a domainjeibe.

 

Végső gondolatok

A határérték-elemzés egy hasznos funkcionális tesztelési megközelítés. Ha van egy bemeneti tartomány, akkor ellenőriznie kell, hogy az érvényes adatokat fogad-e el, és hibaüzeneteket küld, ha érvénytelen adatokat kap. A határelemzéses tesztelés segít a funkcionalitás hatékony ellenőrzésében azáltal, hogy csak az átfogó teszteléshez szükséges teszteseteket készíti el.

A határértékek tesztelése az elfogadható tartományon belüli vagy azt körülvevő értékeket vizsgálja, és ellenőrzi, hogy a rendszer hogyan reagál ezekre a bemenetekre. Az eredmény rengeteg megtakarított idő és csökkentett erőfeszítés, mivel nem kell felesleges teszteseteket készítenie. A szoftverfejlesztés rohanó világában, ahol a határidők sűrűn és gyorsan jönnek, a tesztelő csapatoknak minden segítségre szükségük van.

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