Mi a tartománytesztelés a szoftvertesztelésben? (példával)

⚡ Okos összefoglaló

A domain tesztelés egy alkalmazást úgy ellenőriz, hogy a lehető legkisebb hasznos bemeneti halmazt adja meg neki, lefedve az érvényes, érvénytelen és határértékeket, és megerősítve, hogy csak az elfogadott tartományon belüli értékek eredményezik a kívánt kimenetet.

  • 🔘 Alapötlet: Bontsd fel az egyes bemeneti tartományokat ekvivalenciaosztályokra, és osztályonként egy reprezentatív értéket tesztelj, ne minden lehetséges bemenetet.
  • ☑️ Határfókusz: Az osztály szélén és azon kívül eső értékek sokkal gyakrabban mutatnak ki egyenként eltérő hibákat, mint a középső tartományú értékek.
  • Párosított technikák: Az ekvivalencia osztály elemzése dönti el a csoportotpingA határérték-elemzés dönti el, hogy az egyes csoportok melyik tagját kell futtatni.
  • 🧪 Működő példa: Egy jegyértékesítő modul, amely kor és nem szerint osztja be a versenyeket, négy korosztályt egyetlen rövid, nagy értékű tesztkészletté redukál.
  • 📈 Tudásfüggőség: Annak megítéléséhez, hogy egy kimenet helyes-e, üzleti szabályokra van szükség, így a technika kis, jól érthető logikai egységekre illeszkedik.

Tartománytesztelés szoftvertesztelésben ekvivalenciaosztályokkal és határértékekkel

Mi az a domain tesztelés?

Domain tesztelése egy olyan szoftver tesztelés Egy olyan folyamat, amelynek során az alkalmazást minimális számú bemenet megadásával és a megfelelő kimenetek kiértékelésével tesztelik. A domain tesztelés elsődleges célja annak ellenőrzése, hogy a szoftveralkalmazás az elfogadható tartományon belül fogad-e bemeneteket, és a szükséges kimenetet biztosítja-e.

Ez egy funkcionális tesztelés technika, amelyben a rendszer kimenetét minimális számú bemenettel tesztelik annak biztosítása érdekében, hogy a rendszer ne fogadjon el érvénytelen és tartományon kívüli bemeneti értékeket. Ezt a módszert a legfontosabb fehér dobozos tesztelés metódusok. Továbbá ellenőrzi, hogy a rendszer ne fogadjon el a megadott vagy érvényes tartományon kívül eső bemeneteket, feltételeket és indexeket.

A domain tesztelés minden egyes domain esetében más és más, ezért domain specifikus ismeretekre van szükség egy szoftverrendszer teszteléséhez.

A domain tesztelésének egyszerűbb gyakorlata

A tartományteszt során egy tartományt aldomainekre (ekvivalenciaosztályokra) osztunk, majd tesztelünk az egyes aldomainekből származó értékek felhasználásával. Például, ha egy webhelyet (domaint) adtak tesztelésre, a tesztelés megkönnyítése érdekében a webhelyet kis részekre (aldomainekre) osztjuk.

A vizsgálati terület magában foglalhatja egyetlen bemeneti változó vagy bemeneti változók kombinációjának tesztelését.

A gyakorló szakemberek a domaintesztelés legegyszerűbb eseteit gyakran két másik néven tanulmányozzák: „határtesztelés” és „ekvivalenciaosztály-analízis”.

Határvizsgálat - Határérték elemzés A (BVA) a partíciók közötti határokon végzett tesztelésen alapul. A partíciókban/osztályokban mind az érvényes, mind az érvénytelen bemeneti értékeket tesztelni fogjuk.

Ekvivalencia osztály tesztelés – Ennek a technikának az a gondolata, hogy a tesztfeltételek halmazát fel kell osztani (azaz particionálni) olyan csoportokra vagy halmazokra, amelyek azonosnak tekinthetők (vagyis a rendszernek egyenértékűen kell kezelnie őket), ezért az „ekvivalencia particionálás”.

Ez az egyszerűsített forma vonatkozik a domain tesztelésre –

  • Csak a bemeneti változók tesztelésére
  • Csak akkor, ha a helyszínen tesztelik rendszerszintű
  • Csak egyenként tesztelve
  • Csak nagyon felületes tesztelés esetén

Az alábbiak szerint egyszerűsíthető:

Változó Érvényes osztályegyenértékűségi osztály Érvénytelen osztályegyenértékűségi osztály Határok és speciális esetek Megjegyzések
X 0-100 0
100
<0 -1
> 100 101

Magyarázat:

  • Ha egy mező 0 és 100 közötti tartományt fogad el, akkor a mezőnek nem szabad elfogadnia a -1-et és a 101-et, mivel ezek érvénytelen bejegyzések és a határokon kívül esnek.
  • A mezőnek olyan értékeket kell elfogadnia, mint a 0, 100 és a kettő közötti bármely szám.

Ilyen táblázatok építése (a gyakorlatban)

  • Egy ekvivalenciaosztály-elemzés időbeli lefolyásának felépítéséhez vigye fel az információkat egy táblázatba. Kezdje a változók felsorolásával. Ahogy megszerzi róluk az információkat, adja hozzá azokat.
  • A táblázatnak végül tartalmaznia kell az összes változót. Ez azt jelenti, hogy minden bemeneti változó, minden kimeneti változó és minden olyan köztes változó, amelyet megfigyelhet.
  • A gyakorlatban a legtöbb ilyen táblázat hiányos. A legjobbak felsorolják az összes változót, és a kritikus változókat részletesen is feltüntetik.

Domain tesztelési stratégia

A domain tesztelése során a következőket kell figyelembe venni:

  • Melyik domaint teszteljük?
  • Hogyan csoportosítsuk az értékeket osztályokba?
  • A tesztelendő osztályok mely értékei?
  • Hogyan határozható meg az eredmény?

Melyik domaint teszteljük?

Minden tesztelt tartomány rendelkezik valamilyen bemeneti és kimeneti funkcióval. Lesznek bemeneti változók, amelyeket meg kell adni, és a megfelelő kimenetet ellenőrizni kell. Az alábbi ábra ezt a bemenet-kimenet kapcsolatot mutatja.

Tartománytesztelési stratégia, amely bemutatja a bemeneti változók tartományba áramlását és kimenet előállítását

Domain tesztelési példa

Fontolja meg az egyetlen bemeneti teszt forgatókönyvét:

C = a+b, ahol a és b bemeneti változó, C pedig a kimeneti változó.

A fenti példában nincs szükség osztályozásra, és a változók kombinációjára sem.

Vegye figyelembe az alábbi több bemenetet és a megfelelő kimeneti forgatókönyvet:

Képzeljünk el egy gyerekeknek szóló játékkiállítást. Hat versenyszámot rendeznek, és a jegyeket a kor és a nem alapján kell kiosztani. A jegyértékesítés az egyik olyan modul, amelyet a játékkiállítás teljes funkcionalitásának tesztelésére kell használni.

A forgatókönyv szerint hat forgatókönyvet kaptunk az életkor és a versenyek alapján:

  • 5 éves kortól 10 éves korig a fiúknak részt kell venniük a történetmesélésben.
  • 5 éves kortól 10 éves korig lányoknak kell részt venniük a rajzpályázaton.
  • 10 év feletti és 15 év alatti fiúknak kvízben kell részt venniük.
  • 10 év feletti és 15 év alatti lányoknak esszéírásban kell részt venniük.
  • 5 éves kortól fiúknak és lányoknak egyaránt részt kell venniük a mondókás versenyen.
  • 15 év felettiek, fiúk és lányok egyaránt részt vegyenek a versmondó versenyen.

Itt a bemenet az életkor és a nem lesz, így a versenyre szóló jegyet kiadják. Ebben az esetben a bemenetek felosztása, vagy egyszerűen csoportosítása történik.ping az értékek, jön a képbe.

Hogyan csoportosítsuk az értékeket osztályokba?

Néhány érték particionálása azt jelenti, hogy nem átfedő részekre bontjuk őket.ping részhalmazok.

Amint azt korábban tárgyaltuk, kétféle particionálás létezik:

  • Egyenértékű particionálás – Az ekvivalencia particionálás egy olyan szoftvertesztelési technika, amely egy szoftveregység bemeneti adatait ekvivalens adatokból álló partíciókra osztja, amelyekből teszt esetek levezethető. Elvileg a teszteseteket úgy tervezik, hogy minden partíciót legalább egyszer lefedjenek.
  • Határérték elemzés – A határérték-analízis egy szoftvertesztelési technika, amelyben a teszteket úgy tervezik, hogy egy tartományon belül a határértékek reprezentatív képviselőit is tartalmazzák. Az ötlet a határból származik.

A fenti példában az értékeket részhalmazokra bontjuk. A korosztályokat az alábbi osztályokba osztjuk:

  • 1. osztály: 5-10 éves gyermekek
  • 2. osztály: 5 év alatti gyermekek
  • 3. osztály: 10-15 éves gyermekek
  • 4. osztály: 15 év feletti gyermekek.

A tesztelendő osztályok mely értékei?

A teszteléshez kiválasztott értékeknek határértékeknek kell lenniük:

  • A határok az ekvivalenciaosztályok reprezentációi, amelyekből mintát veszünk. Nagyobb valószínűséggel mutatnak hibát, mint más osztálytagok, így jobb reprezentációk.
  • Az ekvivalenciaosztály legjobb képviselője a tartomány közötti érték.

A fenti példában a következő osztályokat kell tesztelnünk:

Például az 1. forgatókönyv esetében:

1. osztály: 5-10 éves korosztályú gyermekek (5 év felettiek és 10 év alattiak)

Határértékek:

  • Az értékeknek egyenlőnek vagy kisebbnek kell lenniük, mint 10. Ezért a 10 éves korosztályt is bele kell számítani ebbe az osztályba.
  • Az értékeknek 5-nél nagyobbaknak kell lenniük. Ezért az 5 éves kort nem szabad ebbe az osztályba beleszámítani.
  • Az értékeknek 10-nél kisebbnek vagy egyenlőnek kell lenniük. Ezért a 11 éves korosztályt nem szabad ebbe az osztályba sorolni.
  • Az értékeknek 5-nél nagyobbaknak kell lenniük. Ezért a 6 éves kort bele kell foglalni ebbe az osztályba.

Ekvivalencia partíció értékek:

Ekvivalencia partícióról akkor beszélünk, amikor minden partícióból csak egy feltételt kell tesztelni. Ebben feltételezzük, hogy ha egy partícióban egy feltétel működik, akkor az összes többi feltételnek is működnie kell. Ugyanígy, ha az adott partícióban egy feltétel nem működik, akkor feltételezzük, hogy a többi feltétel egyike sem fog működni. Például:

(5 és 10 év feletti életkor)

Mivel a 6 és 10 közötti értékek érvényesek, a 6, 7, 8, 9 és 10 közül egyet kell kiválasztani. Ezért a kiválasztott „8” életkor érvényes bemeneti életkor az (5 év feletti és 10 év alatti) korcsoport számára. Az ilyen típusú partíciót ekvivalencia partíciónak nevezik.

Forgatókönyv Felveendő határértékek Egyenértékű particionálási értékek
Fiú – 5 és 10 év feletti életkor Életkor = 6
Életkor = 5
Életkor = 11
Életkor = 10
Életkor = 8
Lány – 5 és 10 év feletti életkor Életkor = 6
Életkor = 5
Életkor = 11
Életkor = 10
Életkor = 8
Fiú – 10 és 15 év feletti életkor Életkor = 11
Életkor = 10
Életkor = 15
Életkor = 16
Életkor = 13
Lány – 10 és 15 év feletti életkor Életkor = 11
Életkor = 10
Életkor = 15
Életkor = 16
Életkor = 13
Életkor<=5 Életkor = 4
Életkor = 5
Életkor = 3
Életkor >15 Életkor = 15
Életkor = 16
Életkor = 25

Hogyan állapíthatjuk meg, hogy a program megfelelt-e a teszten vagy nem?

A funkcionalitás átadása nemcsak a fenti forgatókönyvek eredményeitől függ. A megadott bemenet és a várt kimenet adja az eredményeket, ehhez pedig szakterületi ismeretek szükségesek.

A példa eredményeinek meghatározása: az alábbi képernyő az egyes kor- és nemkombinációk jegyértékesítési kimenetét mutatja.

Jegykimenet minden kor- és nemi kombinációhoz, amelyet a domain tesztelési eredmények meghatározásához használnak

Tehát, ha a fenti tesztesetek mindegyike sikeres, akkor a jegykibocsátási versenyben a teszt sikeresnek minősül. Ha nem, akkor a teszt nem felel meg a kritériumoknak.

Domain tesztelési struktúra

A tesztelők általában az alábbi lépéseket követik a domain tesztelés során. Ezeket testreszabhatjuk vagy kihagyhatjuk a tesztelési igényeink szerint.

  • Határozza meg a potenciálisan érdekes változókat.
  • Azonosítsa a most elemezhető változó(ka)t, és rendezze őket (a legkisebbtől a legnagyobbig és fordítva).
  • Hozzon létre és azonosítson határértékeket és ekvivalenciaosztályértékeket a fentiek szerint.
  • Azonosítsa a másodlagos dimenziókat, és elemezze mindegyiket klasszikus módon. (A fenti példában a nem a másodlagos dimenzió.)
  • Azonosítsa és tesztelje az eredményeket hordozó változókat (kimeneti változók).
  • Értékelje, hogyan használja a program ennek a változónak az értékét.
  • További, potenciálisan kapcsolódó változók azonosítása kombinációs teszteléshez, ahol döntési tábla tesztelés segít.
  • Képzelj el olyan kockázatokat, amelyek nem feltétlenül egy nyilvánvaló dimenzióhoz kapcsolódnak.
  • Azonosítsa és listázza a nem elemzett változókat. Gyűjtsön információkat a későbbi elemzéshez.
  • Foglalja össze elemzését egy kockázat/egyenértékűségi táblázattal.

GYIK

Mindkét címke megjelenik a gyakorlatban. A specifikációból származtatott osztályok teszik azt fekete doboz technika; a kódból származtatott osztályok alkotják a fehér dobozt. Maga az elemzés azonos.

Nagyon kevés tesztesettel fedi le a hibalehetőségű széleket. A korlátok valósak: a határokat nehéz pontosan meghatározni, és a teljes munkafolyamatokat soha nem gyakorolják, így inkább kiegészíti a többi módszert, mintsem helyettesítené azokat.

Az ekvivalencia particionálás a tartománytesztelés egyik lépése, amely a változókat is rendezi, határelemzést ad hozzá, kezeli a másodlagos dimenziókat és a kimeneti változókat, és egy kockázati táblázatban végződik.

A kettő átfedésben van anélkül, hogy azonos lenne. Ez a cikk a bemeneti tartományok elemzését tárgyalja, míg az olyan iparági felhasználások, mint például egészségügyi területen végzett tesztelés ágazati ismeretekkel való tesztelést jelent, amelyekre továbbra is szükség van a várható eredmények megítéléséhez.

A mesterséges intelligencia asszisztensek beolvasnak egy követelményt, és javaslatokat tesznek a lehetséges ekvivalencia osztályokra, élértékekre és hiányzó érvénytelen esetekre. A tesztelő továbbra is megerősíti a valódi határokat, mivel egy helytelenül kikövetkeztetett tartomány egy megbízható, de haszontalan teszthalmazt eredményez.

GitHub másodpilóta paraméteres tesztmetódusokat ír, amint az osztályok és élek megjelennek a promptban vagy a kódban. A ki nem mondott üzleti korlátokat a tesztelőnek kell megadnia.

Minden kombináció multiplikatívan növekszik, ezért ritkán praktikus. Először elemezzük az egyes változókat külön-külön, majd használjuk a páronkénti vagy ortogonális tömb A kockázatos kombinációk kiválasztása.

Csak érvényes osztályok tesztelése és kihagyásping negatív teszt, egy inkluzív határvonal használatával, ahol a szabály kizáró, és a kimeneti változókat teljesen figyelmen kívül hagyva.

Foglald össze ezt a bejegyzést a következőképpen: