12. óra · Szoftvertesztelés alapjai

Rendszerteszt

A teljes rendszer viselkedése és a felhasználói folyamat

Az óra végére képes leszel

  • Megtervezel teljes folyamatot lefedő rendszertesztet.
  • Megkülönbözteted a rendszerteszt célját az integrációs tesztétől.
  • Rögzíted a tesztkörnyezet és a tesztadatok szerepét.

Az óra témái

  • Rendszerteszt
01 / TANANYAG

A rendszer egészére tett állítás

Rendszerteszt során a teljes, összekapcsolt rendszert vizsgáljuk az előírt viselkedés és a minőségi elvárások fényében. A feladat nem pusztán egy modul működése, hanem egy végigjárható használati folyamat ellenőrzése. Online jelentkezésnél a keresés, választás, belépés, mentés, visszaigazolás és esetleges hibaüzenet együttesen adja a felhasználó által észlelt eredményt.

A rendszerteszt alapja lehet rendszerkövetelmény, felhasználási eset vagy üzleti szabály. Az elvárt eredmény ne csak azt mondja ki, hogy „megjelenik a siker üzenet”: tartalmazza, hogy az adat mentődött, a kapacitás változott, és a további használatban az állapot következetes maradt. Ezt a próbát a rendszer szintjén értékeljük akkor is, ha a hiba oka később egyetlen komponensben található.

Példa: Teljes út

Egy diák szabad helyet lát, jelentkezik, visszaigazolást kap; újbóli belépéskor látja a foglalását, és a szabad helyek száma csökkent.

02 / TANANYAG

Sikeres és sikertelen utak

A fő sikeres folyamat mellett a sikertelen változatokat is meg kell tervezni. Mi történik, ha a diák nincs bejelentkezve, a kurzus közben megtelik, az adatbázis nem elérhető, vagy kétszer nyomja meg a beküldést? Egy jó teszteset megadja a kiinduló adatokat, a végrehajtás lépéseit és a megfigyelhető elvárt eredményeket. Sikertelen mentésnél például ne jelenjen meg hamis siker, és ne keletkezzen félkész foglalás.

A rendszerteszt funkcionális és nem funkcionális kérdéseket egyaránt felvethet: megfelelően működik-e a folyamat, használható-e mobilon, hogyan viselkedik több egyidejű jelentkezőnél? A teljesítményre vagy a biztonságra vonatkozó teszthez mérhető feltételek és megfelelő környezet kellenek. Egyetlen átlagos használati próba nem válaszolja meg ezeket a kérdéseket.

Tanári tipp

Minden 'siker' után nézd meg az állapotot egy másik nézetből vagy egy következő belépéssel is.

03 / TANANYAG

Környezet, adat, nyomon követhetőség

A rendszerteszt eredménye a környezettől függ. Ha az éles rendszerben más böngésző, adatmennyiség vagy külső szolgáltatás működik, a laboreredmény korlátozottan általánosítható. Jegyezd fel a szoftver verzióját, a felhasználói szerepet és a szükséges előfeltételeket. Gondoskodj arról, hogy az előre felvitt adatok és a teszt után visszamaradó adatok ne torzítsák a következő futást.

A tesztekhez érdemes megjelölni, melyik követelményt ellenőrzik. A kapcsolat segít észrevenni a még le nem fedett szabályt, illetve egy módosított követelmény után kiválasztani a frissítendő eseteket. A tesztesetek száma önmagában nem jelenti a célok megfelelő vizsgálatát: fontos az elvárások minősége és a felhasználói kockázat is.

Példa: Reprodukálható hibajegy

Rendszerverzió, böngésző, felhasználó, kurzus kapacitása, pontos lépések, várt foglalás és tényleges állapot: ezekből más is meg tudja ismételni az esetet.

A végponttól végpontig vizsgált jelentkezés
  1. 1KeresésA megfelelő kurzus látható
  2. 2JelentkezésJogosultság és szabad hely vizsgálata
  3. 3MentésA foglalás tartósan rögzül
  4. 4VisszajelzésA diák és a rendszer állapota összhangban van

Minden lépésnél a tényleges és az elvárt eredményt hasonlítjuk össze; a végső sikerhez a tárolt állapot is hozzátartozik.

04 / TANANYAG

Tesztelj megfigyelhető eredményt

A rendszerteszt akkor meggyőző, ha nem csak a képernyőn megjelenő jelzésre támaszkodik. Visszaigazolás után megnyithatjuk a diák foglalásait, majd egy másik szerepkörből megnézhetjük az ügyintézői listát. Ha az első nézet „sikert” jelez, de a másodikban nincs rekord, eltérés van a teljes folyamatban. A rendszerteszt ezt észlelheti anélkül, hogy előre tudnánk, melyik belső rész okozta.

A negatív út megtervezése ugyanolyan fontos. Betelt kurzusnál az elutasítás vagy várólista nem egyszerű hibaüzenet kérdése: az adatbázisban sem jöhet létre a szabállyal ellentétes elfogadott foglalás. Ha a hálózat megszakad, a rendszernek a rögzített elvárásnak megfelelő, következetes állapotban kell maradnia.

Példa: Három megfigyelés

Jelentkezési üzenet, diák saját listája, ügyintézői foglalási lista. Azonos ügylet három nézete segít az ellentmondás felfedezésében.

05 / TANANYAG

A próbakörnyezet és az éles működés különbsége

Egy 10 kurzust tartalmazó próbaadatbázisban gyors a keresés, de az éles rendszerben több ezer kurzus lehet. A próbakörnyezet célja az ellenőrizhetőség; érdemes a releváns éles körülményekhez közelíteni, ha teljesítményről vagy összetett kapcsolatról szeretnénk következtetni. Nem minden teszt igényel teljes éles másolatot, de az eltéréseket dokumentálni kell.

A teszt során létrejött foglalások külön adatkezelést igényelnek: törlés, visszaállítás vagy elkülönített próbaadat. Két egymás után futó esetnél az első megváltoztathatja a szabad helyek számát; ha ezt nem kezeljük, a második eset véletlenszerűen sikeres vagy sikertelen lehet. A megbízható teszt megismételhető kiinduló állapotot ad.

Tanári tipp

Mielőtt az eredményt értékeled, ellenőrizd, hogy tényleg abban az állapotban indultál-e, amit a teszteset előír.

RÉSZLETES ELMÉLETI KIEGÉSZÍTÉS

Rendszertesztelés és nem funkcionális minőség

A rendszertesztelés a teljes, integrált rendszer viselkedését vizsgálja a megadott követelményekhez képest. A funkcionális ellenőrzés mellett a nem funkcionális jellemzőket is tesztelni kell: például teljesítményt, használhatóságot, biztonságot, kompatibilitást és megbízhatóságot.

A környezetnek reprezentálnia kell a tervezett használatot. A tesztadatoknak adatvédelmi szempontból is megfelelőnek kell lenniük, ezért valós személyes adatok helyett gyakran anonimizált vagy mesterséges adatok használhatók. A mért eredményeket előre meghatározott elfogadási kritériumokkal kell összevetni.

Új, iskolai példa

Egy online dolgozatfelület rendszertesztje nemcsak azt nézi, hogy menti-e a választ, hanem hogy sok tanuló egyidejű belépésekor elfogadható idő alatt töltődik-e be.

Gondolkodtató gyakorlófeladat

Javasolj három nem funkcionális ellenőrzést egy iskolai e-learning rendszerhez, mindegyikhez mérhető kritériummal.

PRÓBÁLD KI

Órai feladat

Írj két rendszertesztet egy 1 férőhelyes kurzusra: egy sikeres jelentkezést és egy betelt kurzusra érkező második jelentkezést. Add meg az előfeltételt, a lépéseket és az elvárt eredményeket!

ELLENŐRIZD MAGAD

Melyik ellenőrzés jellemzően rendszerteszt?

Amit érdemes megjegyezni

  • A rendszerteszt a teljes rendszer működéséről ad bizonyítékot.
  • A fő út mellett a hibás és szélső helyzeteket is vizsgáljuk.
  • A környezet, adat és követelmény rögzítése nélkül a sikeres futás jelentése korlátozott.