Kihagyás

Blackbox tesztelés

A feketedoboz, vagy black-box tesztek specifikáció vagy ismert modell alapján tervezhetők. Ilyen esetben a tesztbázis csak azt mutatja meg, mit csinál a szoftver, azt hogy miként csinálja, rejtve marad. A feketedoboz tesztek funkcionális és nemfunkcionális tesztelésre egyaránt alkalmasak. A nemfunkcionális tesztekre nézve a minőségi modell (ISO/IEC 25010) ad támpontot.

ISO25010

Ezen a gyakorlaton három feketedoboz technikát ismerünk meg:

  • Ekvivalencia partícionálás
  • Határérték analízis
  • Döntési táblák

Ekvivalencia partícionálás

Az ekvivalencia partícionálás során a bemeneti adatokat olyan osztályokra osztjuk, amelyek azonos viselkedést eredményeznek a programban. Az osztályokat úgy hozzuk létre, hogy az egyes osztályokba tartozó bemeneti adatok ekvivalensek legyenek egymással, azaz azonos viselkedést eredményezzenek a programban.

  • Azonos partícióból csak egyet tesztelünk, ugyanis a partíció elemei ekvivalensek.
  • A partíciók diszjunktak, ami az előzőből következik. (Ekvivalencia reláció osztályozást hoz létre!)
  • Az érvénytelen partíciókat egyenként kell tesztelni. Az érvénytelen partíció olyan osztály, amely nem tartalmaz olyan bemeneti adatot, amelyet a program elfogadna vagy nem tartalmaz olyan bemeneti adatot, amelyet a program elutasítana.
  • A partícionálás finomítható.

Partíciókat létrehozatunk bemeneti adatok szerint, kimenetként kapott adatok szerint, a program belső értékei alapján, idő szerint, interfészekre nézve, paraméterek értékei alapján, stb.

Megjegyzés: Az érvénytelen partíciók tesztelésénél a programnak valamilyen hibaüzenetet kell adni.

Példa

Példaként vegyük a következő programot, amely egy egész számot vár bemenetként. A program akkor ad vissza helyes eredményt, ha a bemenet pozitív és kisebb, mint 10 000, vagy negatív és nagyobb, mint -10 000. Az ekvivalencia partícionálás során az érvényes bemeneti adatokat két osztályba soroljuk: az érvényes pozitív és az érvényes negatív partícióba. Az érvénytelen bemeneti adatokat három osztályba soroljuk: az érvénytelen pozitív, az érvénytelen negatív partícióba és a nullát tartalmazó egyelemű halmazba.

Osztály Reprezentánsok
Érvényes pozitív 1,2,3,4,5,6,7,8,9
Érvényes negatív -1,-2,-3,-4,-5,-6,-7,-8,-9
Érvénytelen pozitív 10000,10001,10002,...
Érvénytelen negatív -10000,-10001,-10002,...
Érvénytelen (0) 0

Hatérték analízis

A szoftvertesztelésben a határérték analízis során a bemeneti adattartományok határait vizsgáljuk. Az alsó és felső határokra koncentrálunk, illetve az egyes ekvivalencia osztályok határait vizsgáljuk.

  • A hibák gyakran a határeseteknél jelentkeznek.
  • Ezek sokszor jellegzetes programstruktúrákhoz (pl. elágazásokhoz) kapcsolódnak. Ilyen például a relációk felcserélése, vagy a ciklusindítás rossz indexről.
  • Az ekvivalencia partícionálással együtt használjuk.
  • Lehet kettő vagy háromértékű.
  • A határértéktesztekhez a szomszédos elemek legkisebb távolságát ismerni kell (pontosság megadása).

Példa

Legyen egy olyan függvényünk, amely pozitív egész számot fogad paraméterként és ha az kisebb, mint 100, akkor meghívja az A függvényt, egyébként a B függvényt. Ebben a példában két érvényes partícióra osztható a függvény bemenete. Az egyik esetben 1,2,...,99, a másik partíció a 100, 101,... A hatértékünk a 100 és kétértékű vizsgálat esetén az első teszteset a 99 lesz az első partícióból, míg 100 a másodikból. Ugyanakkor van egy érvénytelen partíciónk is, a nulla és a negatív számok. A 0 környékén 3 pontos elemzést használunk, a tesztesetek így lehetnek -1,0 és 1.

Példa

Az előző példában az érvényes partícióhoz hárompontos teszt lehet: 99, 100, 101.

Döntési tábla alapú tesztelés

A döntési tábla alapú tesztelés egy tesztelési módszer, amely során a bemeneti adatokat olyan táblázatba rendezzük, amelyben az egyes oszlopok a teszteseteket, míg a sorok a tesztesetekhez tartozó feltételeket tartalmazzák. A cellákban a tesztesethez tartozó konkrét tesztfeltételek találhatók. A táblázat tartalmaz továbbá egy egy műveletek blokkot is, amelynek sorai a lehetséges műveletek, míg a tesztesetekkel történő metszetük az adott tesztesethez kapcsolódó, a tesztefeltételek konkrét értékeiből származtatható műveleteket tartalmazzák.

Példa

Vegyünk egy légitársaság jegyeladási rendszerét, amelyben az árak diszkontálását kell tesztelni. A következő szabályokat (teszteseteket) kell ellenőrizni:

  • Ha két év alatti az utas és az államon belül utazik, akkor 80% kedvezményt kap,
  • Ha két év alatti az utas és nemzetközi járaton utazik, akkor a kedvezmény 70%,
  • 2-16 év közötti utas 10% kedvezményben részesül, de amennyiben korai foglalása van, úgy 20% kedvezményt kap,
  • A törzsutasok kedvezménye 15%, kivéve a korai foglalás esetében, mert ekkor ők is 20% kedvezményt kapnak,
  • Nemzetközi járatokon szezonon kívüli időben történő utazás esetében 15% kedvezményt ad a társaság.

Amennyiben több feltétel is teljesül, az utas a nagyobb kedvezményt kapja. Ha a kedvezmény megegyezik, akkor értelemszerűen az egyik eset választható.

A fenti tesztesetek tesztelésére az alábbi döntési táblázatot készíthetjük:

Feltételek 1 2 3 4 5 6 7
2 év alatti utas I I N N
2-16 éves utas N N I I
Törzsutas N I I
Államon belüli járat I N N
Korai foglalás N I N I
Szezonon kívül N N I
Műveletek 1 2 3 4 5 6 7
10% kedvezmény - - X - - - -
15% kedvezmény - - - - X - X
20% kedvezmény - - - X - X -
70% kedvezmény - X - - - - -
80% kedvezmény X - - - - - -

A táblázatban üresen hagyott cellák azt jelképezik, hogy az adott feltétel bármely értéket felvehet, a tesztelés során erre figyelni kell! Amennyiben ezeket is beírjuk, akkor a tesztesetek számát növelni kell a táblázatban az adott feltétel lehetséges értékeivel, miközben a többi feltétel változatlan marad. Esetünkben egy-egy feltétel mindkét értékének tesztelése el is maradhat, mert pl. a 7. oszlopban 2 év alatti utas esetén a 70%-os kedvezmény (a 2. feltétel) is érvényesül, ami "erősebb", mint a szezonon kívüli kedvezmény. Ezt azonban minden feltétel esetén vizsgálni kell.

Döntési táblákat készíthetünk Excelben és Wordben is. Van termék, ami támogatja ezt a modellt, például a Visual Paradigm. Egy példa a fenti döntési táblázatra:

VP

1. feladat:

Telefon számlázási szoftver

Egy telefontársaság számlázási szoftvert készít. A díjszámítás eléggé bonyolult, többféle kedvezmény is igénybe vehető. Az alapdíj 1 peták másodpercenként. A hívás alapja csúcsidőben (minden nap 8 és 16 között) az alapdíj 150%-a, éjszaka (minden nap 22 és 6 között) az alapdíj 75%-a. Üzletpolitikai kedvezményként a saját hálózatba irányuló hívások mindig 40%-kal olcsóbbak. Van továbbá életkor alapú kedvezmény is, a 18 év alattiak 10%, a 14 év alatti gyerekek további 10% kedvezményt kapnak. 18 és 26 év között is jár 5%. A 15 perc feletti időtartamú beszélgetések 15 perc feletti részére 15%, a 30 percen túli beszélgetésekre 30% kedvezmény jár. A különböző jogalapú kedvezmények összeadódnak. Egyazon flottába tartozó telefonok között csúcsidőn kívül ingyen lehet beszélni, a nemzetközi hívásoknak viszont mindig 3 peták másodpercenkénti díja van.

Telefon számlázási szoftver tesztje

Határozza meg az egyes tesztelemeket. Mindegyikhez rendeljen teszteseteket többféle módszer segítségével.

Lehetséges tesztek ekvivalencia partícionálás (EP) módszerével

Említettük, hogy a partíciókat többféle szempont szerint is elkészíthetjük. Itt minden érintett változóhoz készítünk partíciókat, majd a lehetséges tesztesetek ezek kombinálásából adódnak (minden osztálykombinációt tesztelni kell), illetve az egyes kombinációkhoz a konkrét elvárt viselkedést is meg kell adni.

A lehetséges partíciók az alábbiak: - Időszak: { Éjszaka, Normál, Csúcsidő } vagy { [0:00:00-5:59:59], [6:00:00-7:59:59], [8:00:00-15:59:59], [16:00:00-21:59:59], [22:00:00-23:59:59] } - Hossz: { Rövid = [0:01-15:00], Közepes = [15:01-30:00], Hosszú = [30:01+] } - Kor: {Gyermek = 14 év alatt, Ifjú = 14-17, Fiatal = 18-25, Felnőtt = 26 év felett} - Irány: {Flotta, Saját hálózat, Belföld, Külföld}

Lehetséges tesztek határérték analízis (BVA - Bound Value Analysis) módszerrel

A fent meghatározott partíciókat tekintjük alapnak, ugyanis a BVA módszerhez ismerni kell a partíciókat, mert azok határait teszteljük. Megadjuk a kétpontos és hárompontos eseteket is. Akárcsak fent a tesztesetek az így kialakított értékek kombinálásából (párosításából) adódnak az elvárt viselkedés megadása mellett. - Időszak: - 2 pontos: 0:00:00, 5:59:59, 6:00:00, 7:59:59, 8:00:00, 15:59:59, 16:00:00, 21:59:59, 22:00:00, 23:59:59 - 3 pontos (pluszban): 0:00:01, 5:59:58, 6:00:01, 7:59:58, 8:00:01, 15:59:58, 16:00:01, 21:59:58, 22:00:01, 23:59:58 - Hossz: - 2 pontos: 0:00, 0:01, 15:00, 15:01, 30:00, 30:01 - 3 pontos (pluszban): 0:02, 14:59, 15:02, 29:59, 30:02 - Kor (napi éves): - 2 pontos: 13 év, 14 év, 17 év, 18 év, 25 év, 26 év - 3 pontos (pluszban): 12 év, 15 év, 16 év, 19 év, 24 év, 27 év - Kor (napi pontossággal): - 2 pontos: 14 év - 1 nap, 14 év, 18 év - 1 nap, 18 év, 26 év - 1 nap, 26 év - 3 pontos (pluszban): 14 év - 2 nap, 14 év + 1 nap, 18 év - 2 nap, 18 év + 1 nap, 26 év - 2 nap, 26 év + 2 nap

Lehetséges kombinációs tesztek DT módszerrel

A döntési tábla cellái nemcsak bináris (Y/N, I/N, X/- értékeket), hanem konkrétakat is tartalmazhatnak. Ezek mindig az adott feladat leírásától függenek. A fenti feladat esetében konkrét értékeket adunk meg. Ez 144 esetet jelent. A teljes megoldáshoz minden esetben meg kell adni az elvárt viselkedést is, amely követelménytől itt a táblázat mérete miatt eltekintünk. - Teljes: 144db: 1-144

TC 1 2 .. 48 49 .. 70 .. 96 97 .. 139 .. 144
Időszak É É .. É N .. N .. N Cs .. Cs .. Cs
Hossz R R .. H R .. K .. H R .. H .. H
Kor Gy Gy .. Fe Gy .. I .. Fe Gy .. Fi .. Fe
Irány F S .. K F .. S .. K F .. B .. K
  • Páros (16db): 1, 13, 24, 27, 38, 55, 64, 66, 78, 89, 92, 100, 106, 117, 131, 143
  • Minimális (egyenként minden): 4db: 1, 70, 139, 48

2. feladat:

Biztosító társaság jutalmazás 1.

Egy biztosító egyesület elhatározta, hogy bevonul a tőzsdére, és ezzel egy időben jutalmat ajánl fel tagjainak a korábbi ügyfeleikért. Minden jelenlegi kötvénytulajdonos részesedik a jutalomból. Akinek összesen legalább 20 ügyfele van, az részvényhányadot is kaphat, a többiek csak készpénzt. Akinek legalább 10 prémium ügyfele van, az elbírálásnál +50% osztalékra jogosult, míg aki legalább 50%-ban normál ügyfelekkel rendelkezik, az 25%-kal több osztalékot kap.

A kötvény

A kötvény hitelviszonyt megtestesítő értékpapír. A kötvényben a kibocsátó (az adós) arra kötelezi magát, hogy az ott megjelölt pénzösszegnek az előre meghatározott kamatát vagy egyéb jutalékait, valamint az általa vállalt esetleges egyéb szolgáltatásokat, továbbá a pénzösszeget a kötvény mindenkori tulajdonosának, illetve jogosultjának (a hitelezőnek) a megjelölt időben és módon megfizeti, illetőleg teljesíti. Vannak olyan kötvénynek nevezett szerződések, értékpapírok, amelyek tartalmilag nem tekinthetők annak, ilyen például a biztosítási kötvény.

A részvény

A részvény tulajdonjogot és egyéb jogokat megtestesítő értékpapír. A részvény birtokosa részesedése arányában résztulajdonosa az adott társaságnak, és jogosult a jövedelem és a szavazati jogok arányos részére is. Magyarországon nagykorú (pontosabban: cselekvőképes) személyek, jogi személyek, és jogi személlyel nem rendelkező szervezetek adhatják, vehetik, birtokolhatják ezen értékpapírokat.

Az oszalék

Az osztalék az a pénzösszeg, melyet a részvénytársaság a részvény-tulajdonosainak fizet, általában akkor, amikor nyereséget ért el. Amikor egy vállalat hasznot, vagy többletbevételt ér el, akkor annak egy jelentős részét visszaforgatja a vállalkozás fejlesztésébe, míg egy részét osztalékként odaadhatja részvényeseinek. Az osztalékfizetés történhet készpénzben (banki átutalással), vagy a vállalat további részvényeket is adhat a részvényeseknek osztalék címén.

Biztosító társaság 1. jutalmazási szoftver tesztje

Döntési tábla segítségével határozza meg a teszteseteket!

Lehetséges kombinációs tesztek DT módszerrel
TC 1 2 3 4 5 6 7 8 9-16
Tulaj I I I I I I I I N
20+ üf. I I I I N N N N -
10+ pr. I I N N I I N N -
50%+ n. I N I N I N I N -
Pénz I I I I I I I I N
Részvény I I I I N N N N N
+25% N N I N N N I N N
+50% N I N N N I N N N
+75% I N N N I N N N N

A fenti döntési tábla precíz tesztesetleírást biztosít, ugyanis a tevékenységekkel az elvárt viselkedést is specifikáltuk.

3. feladat:

Zöld energia projekt

Egy ház elektromos rendszerét napelemmel, szélkerékkel és tárolókapacitással bővítik. A rendszer vezérlőegységének össze kell hangolnia a forráshasználatot, energiatárolást és visszatáplálást. Ennek a logikája a következő. Ha van nap vagy szélenergia termelés, akkor erről töltődnek az akkumulátorok. Ha ezek nem állnak rendelkezésre, de van vezérelt áram (éjszakai áramnak is nevezik, a lényege, hogy olcsóbb mint a nappali, de nem folyamatos, naponta csak 4-6 órán keresztül elérhető), akkor arról töltünk. Természetesen töltés csak az akkumulátor 100%-os töltöttségéig van. Ha az akkumulátor fel van töltve, és van megújuló termelés, az visszatáplálásra kerül a hálózatba. A ház fogyasztását alapvetően akkumulátorról fedezzük (az akkumulátor a vezérlőrendszer szempontjából párhuzamosan tölthető és meríthető, ennek a technikai részleteit a tároló saját vezérlője intézi). Ha a tárolóban már nincs energia, akkor a ház átkapcsol hálózati üzemre, és hagyományos módon üzemel. A hagyományos hálózatról soha nem töltünk akkumulátort, és akkumulátorról nem táplálunk vissza a hálózatba.

Zöld energia projekt vezérlő szoftver tesztje

Döntési tábla segítségével határozza meg a teszteseteket!

Lehetséges kombinációs tesztek DT módszerrel

A következő döntési táblát definiálhatjuk (a táblázatban figyelembe vettük az egymást kizáró eseteket, valamint az üres cellák azt jelentik, hogy az adott esetben a feltétel nem releváns):

Feltételek 1 2 3 4 5 6 7 8
Van megújuló? Y Y Y N N N N N
Van vezérelt áram? Y Y Y N N
Töltöttség < 100% ? Y Y N Y Y N Y
Töltöttség > 0% ? Y N Y Y N Y Y N
Műveletek 1 2 3 4 5 6 7 8
Akkumulátor töltés X X - X X - - -
Visszatáplálás - - X - - - - -
Akkumulátor üzem X - X X - X X -
Hálózati üzem - X - - X - - X

4. feladat (házi feladat):

Házi feladat: Biztosító társaság jutalmazás 2.

Egy biztosító egyesület elhatározta, hogy bevonul a tőzsdére, és ezzel egy időben jutalmat ajánl fel tagjainak a korábbi ügyfeleikért. Minden jelenlegi kötvénytulajdonos részesedik a jutalomból, feltéve, hogy osztalékra feljogosító kötvénye van, és ennek 2001 óta tulajdonosa. Akik teljesítik ezt a két feltételt, azok választhatnak a készpénz vagy az új cég részvényhányada között; akik a szükségesnél rövidebb ideje birtokolnak megfelelő kötvényt, azok csak készpénzre jogosultak, részvényhányadra nem. A részvényhányad súlyozásánál az ügyfelek számát is figyelembe veszik. A 10-nél kevesebb ügyféllel rendelkezők 1-es szorzóval, a 10-19 ügyféllel rendelkezők 2-es szorzóval, a 20-49 ügyfelesek 3-as, a többiek 5-ös szorzóval szerepelnek.

Biztosító társaság 2. jutalmazási szoftver tesztje

Döntési tábla, ekvivalencia partíciók és határérték analízis segítségével határozza meg a teszteseteket!

A feladatot a Coospacen kell beadni, Word vagy Excel dokumentum formájában a megadott feladaton.


Utolsó frissítés: 2023-11-24 06:27:23