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 –
- Csak a bemeneti változók tesztelésére
- Csak rendszerszinten tesztelve
- 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ő 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.
- 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)
- 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.
- 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ó.
- 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:
- 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 á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 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ó.
Itt a fenti példában nincs szükség osztályozásra vagy a változók kombinációjára.
- 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:
- 5 és 10 év alatti fiúknak részt kell venniük a történetmesélésben.
- 5 és 10 év alatti lányoknak rajzversenyen kell részt venniük.
- 10 év feletti és 15 év alatti fiúknak részt kell venniük a kvízben.
- 10 és 15 év alatti korú lányoknak esszéírásban kell részt venniük.
- 5 évesnél fiatalabbak, fiúk és lányok egyaránt részt vegyenek a mondókaversenyen.
- 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:
- 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.
- 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 osztály: 5-10 éves korosztályú gyerekek
- 2. osztály: 5 évnél fiatalabb gyermekek
- 3 osztály: 10 és 15 év közötti gyermekek
- 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:
- 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.
- 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 osztály: 5 és 10 év közötti gyermekek (5 és 10 év feletti korosztály)
Határértékek:
- 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.
- 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 egyenlőnek vagy kisebbnek kell lenniük 10-el. Ezért a 11 éves kor nem szerepelhet ebben az osztályban.
- 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:
Í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ó.