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

Mi az a domain tesztelés?

Domain tesztelése egy olyan Szoftvertesztelés folyamat, amelyben az alkalmazást minimális számú bemenet megadásával és a megfelelő kimenetek értékelésével tesztelik. A tartományteszt elsődleges célja annak ellenőrzése, hogy a szoftveralkalmazás elfogadja-e az elfogadható tartományon belüli bemeneteket, és biztosítja-e a szükséges kimenetet.

Ez egy Funkcionális tesztelés olyan technika, amelyben a rendszer kimenetét minimális számú bemenettel tesztelik annak biztosítására, hogy a rendszer ne fogadjon el érvénytelen és tartományon kívüli bemeneti értékeket. Ez az egyik legfontosabb fehér Box Tesztelés mód. Azt is ellenőrzi, hogy a rendszer ne fogadjon el bemeneteket, feltételeket és indexeket a megadott vagy érvényes tartományon kívül.

A tartománytesztelés minden egyes tartomány esetében eltérő, ezért a szoftverrendszer teszteléséhez tartományspecifikus ismeretekkel kell rendelkeznie.

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 tartomány bármely bemeneti változó vagy bemeneti változók kombinációjának tesztelését jelentheti.

A gyakorló szakemberek gyakran tanulmányozzák a domain tesztelésének legegyszerűbb eseteit, mint két másik nevet, a „határtesztelést” és az „ekvivalenciaosztály-elemzést”.

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

Egyenértékűségi osztály tesztelése – 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 űrlap a domain tesztelésére vonatkozik –

  1. Csak a bemeneti változók tesztelésére
  2. Csak rendszerszinten tesztelve
  3. Csak egyenként tesztelve
  4. 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:

  1. Ha egy mező elfogadja a 0 és 100 közötti tartományokat, a mezőnek nem szabad elfogadnia a -1-et és a 101-et, mivel ezek érvénytelen bejegyzések, és túlmutatnak a határokon.
  2. A mezőnek olyan értékeket kell elfogadnia, mint a 0,100, és a köztük lévő tetszőleges szám.

Ilyen építőasztal (a gyakorlatban)

  1. Az ekvivalenciaosztály-elemzés időbeli felépítéséhez helyezze az információkat egy táblázatba. Kezdje a változók felsorolásával. Adjon hozzá információkat róluk, amint megszerzi azokat.
  2. A táblázatnak végül minden változót tartalmaznia kell. Ez azt jelenti, hogy az összes bemeneti változó, az összes kimeneti változó és az összes megfigyelhető közbenső változó.
  3. A gyakorlatban a legtöbb táblázat, amit láttam, hiányos. A legjobbak felsorolják az összes változót, és részletezik a kritikus változókat.

Domain tesztelési stratégia

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

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

Melyik domaint teszteljük?

Minden általunk tesztelt tartomány rendelkezik bizonyos bemeneti és kimeneti funkciókkal. Néhány bemeneti változót kell megadni, és ellenőrizni kell a megfelelő kimenetet.

Domain tesztelési stratégia

Domain tesztelési példa

  1. 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ó.

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

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

Fontolja meg a gyerekeknek szóló játékkiállítást, 6 versenyt rendeznek, és a jegyeket az életkor és nem szerint kell adni. A jegyértékesítés egyike azoknak a moduloknak, amelyekben tesztelni kell a Games kiállítás teljes funkcionalitását.

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

  1. 5 és 10 év alatti fiúknak részt kell venniük a történetmesélésben.
  2. 5 és 10 év alatti lányoknak rajzversenyen kell részt venniük.
  3. 10 év feletti és 15 év alatti fiúknak részt kell venniük a kvízben.
  4. 10 és 15 év alatti korú lányoknak esszéírásban kell részt venniük.
  5. 5 évesnél fiatalabbak, fiúk és lányok egyaránt részt vegyenek a mondókaversenyen.
  6. 15 év felettiek, fiúk és lányok egyaránt részt vegyenek a versmondó versenyen.

Itt az életkor és a nem lesz megadva, így adják ki a jegyet a versenyre. Ez a bemeneti particionálás vagy egyszerűen az értékek csoportosítása jön a képbe.

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

Egyes értékek particionálása azt jelenti, hogy nem átfedő részhalmazokra kell felosztani.

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

  1. Egyenértékű particionálás – Az egyenértékű particionálás a szoftver tesztelés technika, amely egy szoftveregység bemeneti adatait egyenértékű adatok partícióira osztja, amelyekből tesztesetek származtathatók. Elvileg a tesztesetek úgy vannak kialakítva, hogy minden partíciót legalább egyszer lefedjenek.
  2. Határérték elemzés – A határérték-elemzés a szoftver tesztelés olyan technika, amelyben a teszteket úgy tervezték, hogy a határértékek képviselőit egy tartományba foglalják. Az ötlet a határ.

A fenti példában az értékeket részhalmazokra vagy részhalmazokra particionáljuk. A korosztályt az alábbi osztályokra osztjuk:

  1. 1 osztály: 5-10 éves korosztályú gyerekek
  2. 2. osztály: 5 évnél fiatalabb gyermekek
  3. 3 osztály: 10 és 15 év közötti gyermekek
  4. 4 osztály: 15 évnél idősebb gyermekek.

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

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

  1. A határok az ekvivalencia osztályok képviselői, amelyekből mintát veszünk. Valószínűbb, hogy felfedik a hibát, mint az osztály többi tagja, tehát jobb képviselők.
  2. 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. szcenárióhoz:

  1. 1 osztály: 5 és 10 év közötti gyermekek (5 és 10 év feletti korosztály)

Határértékek:

  1. Az értékeknek egyenlőnek vagy kisebbnek kell lenniük 10-el. Ezért a 10 éves kort bele kell foglalni ebbe az osztályba.
  2. 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.
  3. Az értékeknek egyenlőnek vagy kisebbnek kell lenniük 10-el. Ezért a 11 éves kor nem szerepelhet ebben az osztályban.
  4. Az értékeknek 5-nél nagyobbaknak kell lenniük. Ezért a 6 éves kort bele kell foglalni ebbe az osztályba.

Egyenértékű partíció értékei:

Az ekvivalenciapartícióra akkor hivatkozunk, ha minden partícióból csak egy feltételt kell tesztelni. Ebben azt feltételezzük, hogy ha egy partícióban egy feltétel működik, akkor az összes feltételnek működnie kell. Ugyanígy, ha a partíció egyik feltétele nem működik, akkor feltételezzük, hogy a többi feltétel sem fog működni. Például,

(5 és 10 év feletti életkor)

Mivel a 6-tól 10-ig terjedő értékek érvényesek, a 6,7,8,9, 10, 8, 5 és 10 közötti értékek valamelyikét kell felvenni. Ezért a kiválasztott „XNUMX” életkor érvényes beviteli életkor a (életkor >XNUMX és <=XNUMX) közötti korcsoporthoz. Ezt a fajta 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 funkció átadása nem csak a fenti forgatókönyvek eredményeitől függ. A megadott input és a várt kimenet adja meg az eredményeket, ehhez pedig területi ismeretek szükségesek.

A példa eredményeinek meghatározása:

Eredmények meghatározása

Így, ha a fenti tesztesetek mindegyike megfelel, akkor a versenyben a jegyek kiadásának tartománya átmegy. Ha nem, a domain meghibásodik.

Domain tesztelési struktúra

A tesztelők általában az alábbi lépéseket követik a domain tesztelése során. Ezek testreszabhatók/kihagyhatók 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.
  • Határozza meg 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.
  • Határozzon meg további potenciálisan kapcsolódó változókat a kombinációs teszteléshez.
  • Képzeljen el olyan kockázatokat, amelyek nem feltétlenül illeszkednek egy nyilvánvaló dimenzióhoz.
  • 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.

Összegzésként

A fent leírtak szerint a tartományteszthez tudás szükséges a megfelelő bemenet biztosításához a kívánt kimenet eléréséhez. Így csak kis kóddarabokhoz használható.