16. óra · Szoftvertesztelés alapjai

Gyakorlás: modellek, szintek és típusok

Önálló rendszerezés és alkalmazás a 9–15. óra témáiból

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

  • Valós helyzetekben kiválasztod a megfelelő tesztelési szintet és típust.
  • Önállóan indoklod a tesztalapot és az elvárt eredményt.
  • Összekapcsolod az életciklus és a tesztelés döntéseit.

Az óra témái

  • Gyakorlás a 9–15. óra életciklus, tesztelési szint és teszttípus témáiból
01 / TANANYAG

Hogyan oldj meg besorolási feladatot?

Először olvasd el, milyen eredményre keres bizonyítékot a feladat. Egy függvény kimenetét, két rendszer adatcseréjét, a teljes folyamatot vagy az átvevő célját vizsgálja? Ebből következik a szint. Utána külön döntsd el, milyen jellemzőre kérdez rá: helyes működés, válaszidő, kódágak vagy egy változtatás hatása? Ebből következhet a teszttípus. A két címke együtt is használható, például „rendszerszintű funkcionális teszt”.

Végül nézd meg, ad-e a feladat pontos elvárást. A „gyors a keresés” nem elég; a „10 000 kurzus és 100 egyidejű felhasználó mellett 2 másodpercen belül megjelenik a lista” már mérhető. Ha hiányzik a szabály, írj visszakérdezést. Jól indokolt hiányjelzés többet ér egy véletlenszerűen választott kategóriánál.

Példa: Besorolás

„A kereső API a helyes találati listát továbbítja a felületnek” → integrációs, funkcionális. „A teljes felület két másodperc alatt válaszol 100 felhasználónál” → rendszerszintű, nem funkcionális.

02 / TANANYAG

Esettanulmány: kurzusfoglalás

Adott egy portál, ahol a diákok 20 férőhelyes kurzusokra jelentkeznek. Az utolsó helyet két diák közel egyszerre próbálja lefoglalni; egy régi hiba miatt időnként mindketten visszaigazolást kapnak. A javítás után az eredeti versenyhelyzetben legfeljebb egy elfogadott foglalásnak kell keletkeznie, a második jelentkező pedig a rögzített szabály szerinti választ kapja. A tesztkörnyezethez kell két felhasználó, 19 már foglalt hely és kontrollált, ismételhető indítás.

A hibát komponensszinten a helyszámoló rész logikáján, integrációban a foglalás és tárolás közti tranzakción, rendszerszinten pedig a két felhasználó által látott teljes eredményen keresztül vizsgálhatjuk. Az elfogadási teszt során az ügyintéző ellenőrizheti, megfelel-e a helyfoglalási és várólista-szabály a valós folyamatnak. A hibajavítás igazolása mellett regressziós ellenőrzés a normál, egyfelhasználós jelentkezés is.

Tanári tipp

Párosan oldjátok meg: egyikőtök írjon esetet, másikótok próbálja megmutatni, milyen elvárás vagy adat hiányzik belőle.

03 / TANANYAG

Önálló feladatsor

1. Rajzold fel saját szavaiddal a V-modell két oldalának kapcsolatát, és írj egy-egy tesztalapot a rendszer- és elfogadási szinthez. 2. Ugyanezt a portált bontsd három rövid inkrementumra; mondd meg, mi lenne ellenőrizhető mindegyik végén. 3. Adj külön komponenstesztet a férőhelyszámításra és integrációs tesztet a tárolásra. 4. Írj sikertelen rendszertesztet megszakadó kapcsolattal.

5. Fogalmazz meg egy felhasználói és egy üzemeltetési elfogadási feltételt. 6. Válassz teljesítmény- és strukturális ellenőrzést. 7. Tervezz egy megerősítő és két regressziós tesztet a kettős foglalás javításához. 8. Egy sikeres teszt után írd le egy mondatban, mit állíthatsz biztosan és mit nem. A feladatokat előbb megoldás nélkül próbáld; alább a segítség és a minta külön nyitható meg.

Példa: Önellenőrzés

Minden feladatnál legyen tesztcél, induló állapot, lépések és megfigyelhető elvárás. Az általános „működik” válasz még nem teszteset.

Feladatmegoldó séma
  1. 1CélMilyen bizonyítékot keresel?
  2. 2SzintRész, kapcsolat, rendszer vagy elfogadás?
  3. 3TípusFunkció, minőség, szerkezet vagy változás?
  4. 4EsetAdat, lépés és megfigyelhető elvárás

A gyakorlás a közvetlenül megelőző 9–15. órák fogalmait alkalmazza.

04 / TANANYAG

Még négy rövid helyzet besoroláshoz

A) A várólista-sorrendező függvény 3 jelentkezőt a felvétel időpontja szerint rendez. B) A foglaló API egy sikeres válasz után nem ír rekordot az adatbázisba. C) A teljes portálban a jelentkezés mobilon öt lépésből végrehajtható. D) A javítás után az eredeti hibajegy megszűnt, de a lemondás ellenőrzése még hiányzik. Írd le, melyik eset milyen tesztelési szinthez vagy típushoz illik.

Lehetséges ellenőrzés: A komponensszintű funkcionális eset; B integrációs vagy teljes folyamatból nézve rendszerszintű hiba, a teszt céljától függően; C teljes rendszer használhatósági, tehát nem funkcionális nézőpont; D eredeti hiba megerősítő és a lemondásra tervezendő regressziós próba. Az indoklás mutatja meg, nem pusztán a címke.

Példa: Nem mindig egyetlen helyes címke

Ha B esetben csak az API és a tároló kapcsolatát vizsgálod, integráció. Ha a diák végig a felületen jelentkezik és a teljes eredményt nézed, rendszer.

05 / TANANYAG

Pontozható önellenőrzési szempontok

Saját megoldásodra adj pontot a következőkért: világos tesztcél, helyesen megnevezett vizsgált rendszerhatár, megfelelő típus, konkrét kiinduló állapot, végrehajtható lépések és mérhető eredmény. Ha több szint is indokolható, fogalmazd meg, melyik határon figyelsz. Ez segít elkerülni, hogy egy egyszavas kategória elfedje a hiányzó tesztesetet.

Dolgozat előtt a 9. órában a V-modell párosításait, a 10. órában a rövid ciklus visszajelzését, a 11–14. órában a négy szint eltérő célját, a 15. órában pedig a négy teszttípus nézőpontját nézd át. A gyakorlás után külön jegyezd fel azokat a fogalompárokat, amelyeket még összekeversz, és próbálj mindkettőre egyetlen új, saját példát írni.

Tanári tipp

Önellenőrzésnél a mintamegoldást csak a saját első próbálkozás után nyisd meg.

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

Tesztelési típusok és tesztcélok

A tesztelési típus a teszt célját és az ellenőrzött jellemzőt írja le; nem azonos a tesztelési szinttel. Ugyanazon rendszer- vagy integrációs szinten lehet például funkcionális, teljesítmény- és biztonsági ellenőrzés. A megfelelő kombináció a követelményekből és a termékkockázatból következik.

A teszttervben érdemes megkülönböztetni a hibajavítást igazoló újratesztelést és a regressziós vizsgálatot. Előbbi a javítás célzott ellenőrzése, utóbbi a kapcsolódó funkciókra gyakorolt nem kívánt hatásokat keresi. A tesztcsomagokat úgy kell karbantartani, hogy az ismétlés ne váljon feleslegessé vagy félrevezetővé.

Új, iskolai példa

A könyvtári rendszer új keresőjén a találatok helyessége funkcionális, a gyors válaszidő teljesítmény-, a hozzáférési szűrés biztonsági teszt.

Gondolkodtató gyakorlófeladat

Csoportosíts öt ellenőrzési célt szint és típus szerint; jelöld, ha több kategória is illik rá.

PRÓBÁLD KI

Órai feladat

A fenti 1–8. feladatra készíts rövid, indokolt megoldást. Legalább négy különböző tesztelési szintet, három teszttípust és két változás utáni ellenőrzést használj!

ELLENŐRIZD MAGAD

„A rendszer 100 egyidejű jelentkezés mellett a megadott válaszidőn belül működik.” Mi a helyes besorolás?

Amit érdemes megjegyezni

  • Előbb a célt és a tárgyat, majd a szintet és a típust nevezd meg.
  • A megoldásban minden elvárás legyen megfigyelhető és ellenőrizhető.
  • A gyakorlás a 9–15. órák anyagát alkalmazza; a következő órán a karbantartás következik.