Határérték-elemzés

A szoftverkomponens várható bemeneti és kimeneti értékeit a komponens specifikációjából kell kinyerni. Az értékeket ezután azonosítható határokkal rendelkező halmazokba kell csoportosítani. Minden halmaz vagy partíció olyan értékeket tartalmaz, amelyeket a komponens várhatóan azonos módon dolgoz fel. A tesztadat-tartományok partícionálását az ekvivalenciapartícionáló teszteset-tervezési technika ismerteti. A tesztesetek tervezésekor fontos figyelembe venni az érvényes és az érvénytelen partíciókat is.

A demonstráció egy Java nyelven írt függvény segítségével végezhető el.

class Safe { static int add(int a, int b) { int c = a + b ; if (a >= 0 && b >= 0 && c < 0) { System.err.println("Overflow!"); } if (a < 0 && b < 0 && c >= 0) { System.err.println("Underflow!"); } return c; }}

A kód alapján a bemeneti vektorok a partícionálásra kerülnek. A blokkok, amelyeket le kell fednünk, a túlcsordulási utasítás és az alulcsordulási utasítás, és ezek közül egyik sem 2. Ez 3 egyenértékű osztályt eredményez, magából a kódvizsgálatból.

Határértékek bemutatása (narancssárga)

megjegyezzük, hogy van egy fix méretű egész szám tehát:-

MIN_VALUE ≤ x + y ≤ MAX_VALUE

Megjegyezzük, hogy az a és b bemeneti paraméter mindkettő egész szám, tehát teljes rend létezik rajtuk.Ha kiszámítjuk az egyenlőségeket:-

x + y = MAX_VALUE MIN_VALUE = x + y

azokat az értékeket kapjuk vissza, amelyek a határon vannak, beleértve, vagyis ezek a (a,b) párok érvényes kombinációk,és nem történne velük alul- vagy túlcsordulás.

Másrészt:-

x + y = MAX_VALUE + 1

a (a,b) párokat kapjuk, amelyek érvénytelen kombinációk,túlcsordulás történne velük. Ugyanígy:-

x + y = MIN_VALUE – 1

olyan (a,b) párokat ad, amelyek érvénytelen kombinációk,Underflow következne be számukra.

A határértékek (csak a túlcsordulás esetére rajzolva) a jobb oldali ábrán narancssárga vonalként jelennek meg.

Egy másik példa: ha a bemeneti értékek az év hónapjai lennének, egész számokként kifejezve, a “hónap” bemeneti paraméter a következő partíciókat kaphatná:

 ... -2 -1 0 1 .............. 12 13 14 15 ..... --------------|-------------------|-------------------invalid partition 1 valid partition invalid partition 2

A két partíció közötti határ az a hely, ahol az alkalmazás viselkedése megváltozik, és nem maga a valós szám. A határérték az a minimális (vagy maximális) érték, amely a határon van. A 0 a maximális szám az első partícióban, az 1 a minimális érték a második partícióban, mindkettő határérték. Olyan teszteseteket kell létrehozni, amelyek olyan bemeneteket vagy kimeneteket generálnak, amelyek az egyes határok mindkét oldalára esnek, ami határonként két esetet eredményez. A határ mindkét oldalán lévő teszteseteknek a tesztelendő komponens számára a lehető legkisebb növekményben kell lenniük, egész szám esetén ez 1, de ha a bemenet egy kétjegyű tizedes szám lenne, akkor ez 0,01 lenne. A fenti példában 0,1 és 12,13 határértékek vannak, és mindegyiket tesztelni kell.

A határérték-elemzés nem igényel érvénytelen partíciókat. Vegyünk egy példát, ahol egy fűtőberendezés akkor kapcsol be, ha a hőmérséklet 10 fok vagy hidegebb. Két partíció van (hőmérséklet≤10, hőmérséklet>10) és két határértéket kell tesztelni (hőmérséklet=10, hőmérséklet=11).

Ahol egy határérték az érvénytelen partícióba esik, ott a teszteset úgy van kialakítva, hogy a szoftverkomponens ellenőrzött módon kezelje az értéket. A határérték-elemzés a teljes tesztelési ciklus során használható, és minden tesztelési fázisban egyformán alkalmazható.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.