Kihagyás

Blackbox tesztelés

Állapotátmenet-tesztelés

Az állapotátmenet-tesztelés egy fekete dobozalapú tesztelési technika, amelyben a bemeneti feltételek változásai állapotváltozásokat vagy kimeneti változásokat okoznak a tesztelt alkalmazásban (AUT). Ez a módszer segít az alkalmazás viselkedésének elemzésében különböző bemeneti feltételek mellett.

Az állapotátmenet-tesztelés során a rendszert állapotokkal írjuk le, és az állapotokat átkötő átmeneteket végrehajtható tesztlépéseknek tekintjük. Az állapotátmeneti modellnek négy fő összetevője van:

  • Állapotok: A szoftver különböző állapotai (pl. nyitott vagy bezárt).
  • Átmenetek: Az egyik állapotból a másikba történő változások.
  • Események: Az átmenetet kiváltó események (pl. fájl bezárása).
  • Akciók: Az átmenet eredményeként végrehajtott tevékenységek (pl. hibaüzenet).

Az ilyen típusú tesztek matematikai modellje a determinisztikus automaták kiterjesztéseként kapott szekvenciális gépek. Megjelenítésükre az állapottábla és az állapotátmenet-diagram használható (a formális leíráson túl). Az állapottábla egy olyan táblázat, ami az összes állapotra és lehetséges eseményre mutatja az állapotátmeneteket, megjelenítve az érvényes és érvénytelen átmeneteket is. Az állapotátmenet-diagram pedig olyan, a rendszer állapotait jelző diagram, ami az állapotváltozást okozó eseményeket/körülményeket is ábrázolja.

Az állapotátmenet-tesztelés során az állapotokból elérhető összes lépést bejárjuk. Amennyiben a specifikáció alapján a teljes bejárás nem lehetséges, jelezzük az illetékesnek, hogy a specifikáció kiegészítésre szorul. A végállapot(ok)nak kiemelt szerepe van: egy teszteset akkor teljes, ha végállapotban ér véget, és akkor van elegendő tesztesetünk, ha minden lehetséges utat bejártunk – ugyanis egy bejárási út pontosan egy tesztesetet ír le.

Példa

Vegyünk egy ATM rendszerfunkciót, ahol ha a felhasználó az érvénytelen jelszót írja be háromszor, akkor a fiók zárolva lesz. Ha bármely kísérletnél helyes a jelszó, akkor annál a kísérletnél beengedi a rendszer. Az első és második kísérletnél hibás jelszó esetén a felhasználó figyelmeztetést kap.

Állapotok Helyes PIN beütése Helytelen PIN beütése
A1 1. kísérlet A4 A2
A2 2. kísérlet A4 A3
A3 3. kísérlet A4 A5
A4 Hozzzáférés megadva - -
A5 Fiók zárolása - -

Megjegyzés: A0 állapotból (START) indulunk, ahonnan automatikusan A1-be kerülünk. A4 és A5 végálllapotok. Ez jelölhető egy A6 állapottal is, amelybe szintén automatikus az átmenet.

A példa állapotátmenet diagramja:

AD

Feladatok

Vasúti biztosítóberendezés

Egy vasúti fényjelző berendezés tesztjéhez kell előkészülni.

  • A fényjelző berendezés a mögötte lévő szakaszra a jelző irányából való behajtást szabályozza.
  • A szakasz egy következő jelzőig tart, és nem tartalmaz elágazást (vagyis vonat csak a két végén tud be- és kilépni).
  • A szakasz mindkét végén van egy-egy érzékelő, amely jelezni tudja, ha egy szerelvény éppen be- vagy kilép a szakasz adott végén.
  • A jelző a következő (szakaszvégi, a következő szakaszt biztosító) jelző áthaladást tiltó/engedélyező állapotváltozásairól is értesül, valamint saját hasonló állapotváltozását képes jelezni az előző jelző felé.
  • A szakaszon kétirányú a vasúti forgalom (a jelző feladata -- többek között --, hogy a két irány ne egyidőben valósuljon meg).
  • A fényjelző háromféle jelzésre képes: tilos, lassú haladás, szabad jelzés.
  • Ha a jelző által védett szakaszon vonat tartózkodik, akkor a jelzés tilos, különben ha a következő (szakasz végi) jelzés tilos, akkor lassú haladást engedélyez, egyébként szabad.
  • A jelzőnek érzékelnie kell az esetleges inkonzisztens állapotot és a vészhelyzetet is.
  • Mindkét esetben tilos jelzésre kell váltania, és jeleznie kell a központ felé a problémát.
  • Ilyen esetben a jelzőt csak manuális fizikai beavatkozással (újraindítás) lehet újra működő állapotba hozni (ez már nem része a jelző normál működésének).

Vasúti biztosítóberendezés tesztje

Állapotátmenet diagram segítségével készíts teszteseteket a rendszer teszteléséhez.

Vasúti biztosítóberendezés tesztelésének lehetséges megoldása

A feladat egy lehetséges megoldását az alábbiakban láthatjuk:

  • Események:
  • Vonat_BE (bármelyik oldalon)
  • Vonat_KI (bármelyik oldalon)
  • Köv_áth_tiltottra_vált
  • Köv_áth_megengedettre_vált
  • Kimenetek:
  • Fényjelzés TILOSra vált (Fény_T)
  • Fényjelzés LASSÚra vált (Fény_L)
  • Fényjelzés SZABADra vált (Fény_SZ)
  • Áthaladás engedélyezett (Áth_E)
  • Áthaladás tiltott (Áth_T)
  • Hibajelzés (HIBA)
  • Vészjelzés (VESZÉLY)
  • Állapotok és átmenetek

    Állapot Vonat_BE Vonat_KI Köv_áth_tiltottra_vált Köv_áth_megengedettre_vált
    S1 (szabad) S2 / Fény_T, Áth_T S5 / Fény_T, Áth_T, HIBA S3 / - S5 / Fény_T, Áth_T, HIBA
    S2 (tilos) S5 / VESZÉLY S1 / Fény_SZ, Áth_E S4 / - S5 / Fény_T, Áth_T, HIBA
    S3 (lassú) S4 / Fény_T, Áth_T S5 / Fény_T, Áth_T, HIBA S5 / Fény_T, Áth_T, HIBA S1 / -
    S4 (tilos) S5 / VESZÉLY S3 / Fény_L, Áth_E S5 / Fény_T, Áth_T, HIBA S3 / -
    S5 (hiba) S5 / VESZÉLY S5 / - S5 / - S5 / -
  • Tesztek

  • Minden állapotban minden lehetséges esemény hatását meg kell vizsgálni
  • Állapotátmenet diagram Vonat

Felhasználói történet alapú tesztelés

A felhasználói történet alapú tesztelés egy olyan tesztelési módszer, amely a felhasználói történetekre (user story-kra) épül. A user story egy rövid, egyszerű leírása annak, hogy egy felhasználó mit szeretne elérni a szoftverrel, általában egy adott funkció vagy feladat formájában.

A user story alapú tesztelés során a tesztelők a következő lépéseket követik:

  • User story azonosítása: Azonosítják és megértik a user story-kat, amelyek a felhasználói igényeket és elvárásokat tükrözik.
  • Elfogadási kritériumok meghatározása: Minden user story-hoz elfogadási kritériumokat határoznak meg, amelyek leírják, hogy a funkció mikor tekinthető késznek.
  • Tesztesetek készítése: A user story-k és az elfogadási kritériumok alapján teszteseteket készítenek, amelyek lefedik a különböző felhasználói forgatókönyveket.
  • Tesztelés végrehajtása: A teszteseteket végrehajtják, és ellenőrzik, hogy a szoftver megfelel-e az elfogadási kritériumoknak.
  • Eredmények értékelése: Az eredményeket értékelik, és visszajelzést adnak a fejlesztőcsapatnak a szükséges javításokról vagy módosításokról.

Ez a módszer segít biztosítani, hogy a szoftver megfeleljen a felhasználói igényeknek és elvárásoknak, és hogy a fejlesztési folyamat során a felhasználói élményre összpontosítsanak.

Feladatok

NEPTUN kurzusfelvétel

Tekintsük a következő felhasználói történetet:

Én, mint harmadéves programtervező informatikus hallgató, szeretném felvenni a Neptunban a Szoftverfejlesztés alapjai kurzust azért, hogy meglegyen a szükséges kreditem a félév során.

Elfogadási kritériumok:

  • Sikeres bejelentkezés, tárgyfelvétel kiválasztása
  • Tárgyak listázásának biztosítása
  • Keresési lehetőség biztosítása a tárgy kiválasztása során
  • Választási lehetőség biztosítása a különböző gyakorlati időpontok között
  • Sikeres előadás és gyakorlatfelvétel
  • Hibás adatok bevitele esetében adekvát üzenetet ír ki a rendszer
  • Betelt gyakorlat esetében megfelelő tájékoztatás és meghiúsuló tárgyfelvétel
  • Előfeltételek hiánya esetén megfelelő tájékoztatás és meghiúsuló tárgyfelvétel

NEPTUN kurzusfelvétel tesztelése

Készítsünk teszteseteket a megadott felhasználói történethez!

NEPTUN kurzusfelvétel lehetséges tesztesetei

1. sz. Forgatókönyv: Szoftvertesztelés alapjai tárgy felvétele alapeset

  • Előfeltételek
  • Internet kapcsolat.
  • Regisztrálás a Neptunba.

  • Folyamat lépései

    No. Steps
    1. A hallgató beírja az EHA/Neptun kódját és a jelszavát.
    2. A rendszer ellenőrzi az adatokat.
    3. A home screent látja a hallgató.
    4. A hallgató a tárgyak dropdown menüre viszi az egerét.
    5. Tárgyfelvétel választása.
    6. Félévek menüpontban kiválasztja az aktuális félévet.
    7. Tárgytípusnál kiválasztja a mintaterv tárgyait.
    8. Tárgynévhez beírja, hogy Szoftvertesztelés alapjai.
    9. Tárgyak listázása gombra kattint.
    10. Felvesz gombra kattint.
    11. Felugró ablakban a checkboxot kipipálja.
    12. Mentés gombra kattint.
    13. A rendszer kiírja: A tárgyfelvétel sikeres.
  • Utófeltétel: A tárgyfelvétel sikeres.

2. sz. Forgatókönyv: Szoftvertesztelés alapjai tárgy felvétele, hibás felhasználónév

  • Előfeltételek
  • Internet kapcsolat.
  • Regisztrálás a Neptunba.

  • Folyamat lépései

    No. Steps
    1. A hallgató beírja az EHA/Neptun kódját és a jelszavát.
    2. A rendszer ellenőrzi az adatokat.
    3. A rendszer kiírja: Érvénytelen felhasználónév vagy jelszó.
  • Utófeltétel: Hibaüzenet után lehetőség újrapróbálkozásra.

3. sz. Forgatókönyv: Szoftvertesztelés alapjai tárgy felvétele, rossz félév kiválasztása

  • Előfeltételek
  • Internet kapcsolat.
  • Regisztrálás a Neptunba.

  • Folyamat lépései

    No. Steps
    1. A hallgató beírja az EHA/Neptun kódját és a jelszavát.
    2. A rendszer ellenőrzi az adatokat.
    3. A home screent látja a hallgató.
    4. A hallgató a tárgyak dropdown menüre viszi az egerét.
    5. Tárgyfelvétel választása.
    6. Félévek menüpontban kiválaszt egy rossz félévet.
    7. Tárgytípusnál kiválasztja a minta terv tárgyait
    8. Tárgynévhez beírja, hogy "Szoftvertesztelés alapjai"
    9. Tárgyak listázása gombra kattint
    10. A rendszer kiírja: Nincs találat
  • Utófeltétel: Lehetőséget ad más félév kiválasztására és újrapróbálkozásra.

4. sz. Forgatókönyv: Szoftvertesztelés alapjai tárgy felvétele, rossz tárgynév megadása

  • Előfeltételek
  • Internet kapcsolat.
  • Regisztrálás a Neptunba.

  • Folyamat lépései

    No. Steps
    1. A hallgató beírja az EHA/Neptun kódját és a jelszavát.
    2. A rendszer ellenőrzi az adatokat.
    3. A home screent látja a hallgató.
    4. A hallgató a tárgyak dropdown menüre viszi az egerét.
    5. Tárgyfelvétel választása.
    6. Félévek menüpontban kiválasztja az aktuális félévet.
    7. Tárgytípusnál kiválasztja a minta terv tárgyait
    8. T árgynévhez beírja, hogy "Szoftvertesztalés alapjai"
    9. Tárgyak listázása gombra kattint
    10. A rendszer kiírja: Nincs találat
  • Utófeltétel: Lehetőséget ad a tárgy ismételt keresésére.

5. sz. Forgatókönyv: Szoftvertesztelés alapjai tárgy felvétele, betelt gyakorlat

  • Előfeltételek
  • Internet kapcsolat.
  • Regisztrálás a Neptunba.

  • Folyamat lépései

    No. Steps
    1. A hallgató beírja az EHA/Neptun kódját és a jelszavát.
    2. A rendszer ellenőrzi az adatokat.
    3. A home screent látja a hallgató.
    4. A hallgató a tárgyak dropdown menüre viszi az egerét.
    5. Tárgyfelvétel választása.
    6. Félévek menüpontban kiválasztja az aktuális félévet.
    7. Tárgytípusnál kiválasztja a mintaterv tárgyait.
    8. Tárgynévhez beírja, hogy Szoftvertesztelés alapjai.
    9. Tárgyak listázása gombra kattint.
    10. Felvesz gombra kattint.
    11. Felugró ablakban a checkboxot kipipálja.
    12. Mentés gombra kattint.
    13. A gyakorlaton nincs hely üzenet kerül kiírásra
  • Utófeltétel: Lehetőség más tárgy felvételére

6. sz. Forgatókönyv: Szoftvertesztelés alapjai tárgy felvétele, nincsenek meg az előfeltételek

  • Előfeltételek
  • Internet kapcsolat.
  • Regisztrálás a Neptunba.

  • Folyamat lépései

    No. Steps
    1. A hallgató beírja az EHA/Neptun kódját és a jelszavát.
    2. A rendszer ellenőrzi az adatokat.
    3. A home screent látja a hallgató.
    4. A hallgató a tárgyak dropdown menüre viszi az egerét.
    5. Tárgyfelvétel választása.
    6. Félévek menüpontban kiválasztja az aktuális félévet.
    7. Tárgytípusnál kiválasztja a mintaterv tárgyait.
    8. Tárgynévhez beírja, hogy Szoftvertesztelés alapjai.
    9. Tárgyak listázása gombra kattint.
    10. Felvesz gombra kattint.
    11. Felugró ablakban a checkboxot kipipálja.
    12. Mentés gombra kattint.
    13. Előfeltétel hiányzik üzenet kerül kiírásra
  • Utófeltétel: Lehetőség más tárgy felvételére

Házi feladat

QualitySoftware tesztelése

A felhasználói kézikönyv alapján készíts teszteket a szoftverhez.

  • Milyen tesztelemeket tudsz definiálni?
  • Melyik tesztelemhez milyen módszer segítségével készítenél teszteket?
  • Milyen teszteket eredményez az adott módszer használata?

Két tesztet kell kiválasztani. Az egyik legyen állapotátmenet-teszt, a másik pedig egy konkrét felhasználói történetre kidolgozott teszt. A feladat része a megfelelő felhasználói történet és elfogadási kritériumok meghatározása a dokumentációból.

A megoldásokat a Coospace-n kell benyújtani PDF, vagy bármely dokumentum formában. A tesztek definiálása során elegendő egy eszköz használata (például az állapotátmenet-teszt esetében vagy a diagram, vagy a táblázat).


Utolsó frissítés: 2024-09-02 12:56:34