18. óra · Szoftvertesztelés alapjai

Összefoglalás és gyakorlás a számonkéréshez

A 9–17. óra rendszerezése és 30 önellenőrző feladat

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

  • Összekapcsolod a fejlesztési életciklusokat a tesztelés időzítésével.
  • Biztosan megkülönbözteted a tesztelési szinteket és a teszttípusokat.
  • Hatáselemzést, megerősítő és regressziós tesztet tervezel egy változtatáshoz.

Az óra témái

  • Összefoglaló a 9–17. óra anyagából
  • Felkészülés a számonkérésre gyakorló feladatokkal

Ez az oldal a 9–17. órákra épülő felkészülési összefoglaló és gyakorlósor, nem az értékelt dolgozat.

01 / TANANYAG

9–10. óra: fejlesztési modellek és tesztelés az életciklusban

A V-modell szemlélteti, hogy a fejlesztés során meghatározott munkatermékekhez későbbi ellenőrzések kapcsolódnak. A komponens részletes terve a komponensteszt, az összekötések terve az integráció, a rendszerkövetelmény a rendszerteszt, a felhasználói igény az elfogadási vizsgálat alapja lehet. Ez nem utasítás arra, hogy a tesztek tervezésével megvárjuk a program elkészültét. A követelmény pontosságát és tesztelhetőségét már az elején ellenőrizzük.

Iteratív fejlesztésnél a megoldást több körben pontosítják; az inkrementum új, használható részt adhat a termékhez. Agilis munkában egy rövid körön belül közös példák, ellenőrizhető elfogadási feltételek, megvalósítás, tesztelés és visszajelzés követik egymást vagy fedik át egymást. Minden új funkciónál az új viselkedés és az érintett korábbi működés is számít. Ne keverd össze az iterációt a tesztelés elhagyásával: a gyakori változás még több tudatos visszajelzést igényel.

Példa: Egy kérdés két modellben

A kurzusportál új várólistája a V-modellben a követelményből levezetett ellenőrzésekhez kapcsolódik; rövid ciklusban a várólista első működő változatára azonnal érkezhet felhasználói visszajelzés. Mindkét esetben tisztázni kell a sorrend és az értesítés szabályát.

02 / TANANYAG

11–14. óra: a négy tesztelési szint

Komponenstesztben egy elkülöníthető rész viselkedése a kérdés: például a férőhelyszámoló helyes eredményt ad-e. Integrációs tesztnél a részek együttműködését és adatátadását ellenőrizzük: a jelentkezési modul helyes foglalást ment-e. Rendszertesztben a teljes alkalmazásra kérdezünk rá: a diák bejelentkezik, jelentkezik, visszaigazolást lát, majd a tárolt foglalását is megtalálja. Elfogadási tesztnél az átvevő tényleges célja és a bevezetés feltételei a mércék: az ügyintéző el tudja-e végezni a munkáját, és felkészült-e a működtetés.

A szintek nem pusztán az egymás utáni négy lépést jelentik. Iteratív munkában átfedhetnek, és egy magasabb szintű tesztben talált hiba oka lehet egy kis belső részben. A szintet a teszt tárgya és célja szerint nevezzük meg. Az elfogadásnak lehet felhasználói és üzemeltetési oldala; az átállásnál az átvitt adatok helyességét és a helyreállíthatóságot is vizsgálhatjuk.

Példa: Ugyanaz a 0 szabad hely

Komponens: a számoló 0-t ad. Integráció: a foglaló és tároló nem vesz fel még egy elfogadott jelentkezőt. Rendszer: a diák következetes betelt jelzést lát. Elfogadás: az ügyintéző a várólistával a megállapodott módon tud dolgozni.

Tanári tipp

Besoroláskor írd le egyetlen mondatban: mit figyelsz meg, és melyik elváráshoz viszonyítod?

03 / TANANYAG

15. óra: a teszttípusok másik nézőpontot adnak

A funkcionális tesztelés azt vizsgálja, helyes-e a rendszer meghatározott működése. A nem funkcionális tesztelés minőségi jellemzőre, például válaszidőre, használhatóságra vagy biztonságra kérdez rá. A strukturális vizsgálat a megvalósítás belső szerkezetéből, például fontos kódágakból indul ki. A változáshoz kapcsolódó tesztelésnél megerősítő próbával ellenőrizzük, megszűnt-e az eredeti hiba, regressziós próbával pedig azt, romlott-e más működés.

A szint és a típus két külön tengely: rendszerszinten is lehet funkcionális és teljesítménytesztet végezni, komponenstesztben pedig lehet kódágakat vizsgálni. Egy konkrét tesztnek több leírója is lehet. A magas strukturális lefedettség nem bizonyítja, hogy az elvárt üzleti eredmény helyes; a gyors válasz pedig nem bizonyítja, hogy a kapott találatok megfelelnek a keresési szabálynak.

Példa: Két tengely

„A teljes jelentkezés 100 egyidejű diáknál is az előírt válaszidőn belül fejeződik be”: rendszerszintű, nem funkcionális teszt. „A várólista függvény a betelt ágat végrehajtja és helyes sorrendet ad”: komponensszintű, strukturális és funkcionális szempont.

04 / TANANYAG

16–17. óra: alkalmazás és karbantartási teszt

A gyakorló feladatokban a címke önmagában kevés: kell a teszt célja, a kiinduló állapot, a lépések és a megfigyelhető elvárt eredmény. A 16. óra példájában a két egyidejű foglalás hibáját különböző szinten vizsgálhatjuk. Ha a hibát kijavítják, az eredeti eset újrafuttatása megerősítő teszt; a normál foglalás és lemondás ismételt ellenőrzése regresszió. A tesztek választását a lehetséges hatás indokolja.

Karbantartási tesztet hibajavítás, új funkció, környezeti frissítés, adatmigráció vagy funkció kivezetése is kiválthat. A hatáselemzés a módosítás függőségeit keresi: milyen felület, tárolt adat, más szolgáltatás vagy szerepkör érintett. Ezután új teszteket és célzott regressziós eseteket választunk. A fennmaradó, nem ellenőrzött kockázatot is jelezzük; egy korábbi verzió zöld eredménye nem bizonyítja az új verzió megfelelését.

Példa: Karbantartási terv

Új aktív jogviszony szabály → jogviszonyadat forrása → jelentkezés → várólista → adminisztráció. Készíts új esetet aktív és inaktív diákra, majd regressziós próbát a korábban jogosult diák jelentkezésére és a lemondásra.

05 / TANANYAG

Hogyan dolgozz a 30 feladattal?

Először ismételd át a fenti négy témakört és a kapcsolódó leckék példáit. A gyakorlósor 20 feleletválasztós és 10 kifejtős kérdést tartalmaz, öt témacsoportban. A feleletválasztós választás után azonnal megjelenik a magyarázat és a pillanatnyi eredmény. A kifejtős feladatnál előbb írd be saját megoldásodat, majd külön nyisd meg a tippet vagy a mintát. A mintát összehasonlításra használd: indokolt más megoldás is helyes lehet.

Ha egy kérdésnél elakadsz, a témacsoport fejlécéből egy kattintással visszaléphetsz a hozzá kapcsolódó órához. A számláló csak a feleletválasztós kérdések eredményét mutatja; a kifejtős válaszokat neked kell értékelned. Ez az oldal felkészülési összefoglaló és gyakorlás, nem az osztályban értékelt dolgozat.

Tanári tipp

Azokat a fogalompárokat, amelyeket kétszer is összetévesztesz, saját példával különítsd el: komponens/integráció, szint/típus, megerősítés/regresszió.

A felkészülés fogalmi térképe
  1. 1ÉletciklusV-modell, iteráció és rövid agilis körök
  2. 2SzintekKomponens, integráció, rendszer, elfogadás
  3. 3TípusokFunkció, minőség, szerkezet, változás
  4. 4KarbantartásHatáselemzés és regressziós választás

Ez a lecke önálló tanulást támogató összefoglaló és gyakorló, nem maga az értékelt számonkérés.

06 / TANANYAG

Gyakori fogalmi tévesztések

A V-modell tesztelési kapcsolatai nem azt jelentik, hogy csak a kód elkészülte után szabad tesztet tervezni. Az iteráció nem egyenlő a követelmények és tesztek hiányával. A komponensteszt egy rész működését, az integrációs teszt a részek kapcsolatát célozza; a rendszerteszt a teljes rendszerről, az elfogadási teszt az átvevő céljairól ad bizonyítékot.

A szint és a típus külön kérdésre válaszol. A megerősítő teszt a kijavított eredeti hibát, a regressziós teszt az esetleges mellékhatásokat ellenőrzi. Ha egy feladatban két értelmezés lehetséges, mindig írd le, melyik rendszerhatárt és melyik elvárást választod. Indoklással a besorolás ellenőrizhetővé válik.

Példa: Rövid önellenőrzés

„Az API jól ment a tárolóba” integrációs fókusz; „a diák a teljes folyamat végén látja a jelentkezését” rendszerszintű fókusz. Mindkettő lehet funkcionális teszt.

07 / TANANYAG

Egy összetett feladat megoldási menete

Vegyünk egy új szabályt: egy kurzusra csak aktív jogviszonyú diák jelentkezhet, és egyszerre csak az utolsó egy szabad hely foglalható le. Első lépésként pontosítsd az elvárt viselkedést aktív, inaktív és hiányzó jogviszony mellett. Második lépésként jelöld ki a vizsgált szintet: a jogosultságot számoló függvény, az adatforrás kapcsolata, a teljes jelentkezés és az ügyintézői munkafolyamat külön tesztcélt jelentenek.

Harmadik lépésként válassz teszttípust és adatot: helyes funkcionális eredmény, egyidejű kéréshez mérhető működés, fontos kódág, valamint a korábbi foglalások regressziója. Negyedik lépésként írd le a bizonyítékot: bemenet, induló állapot, végrehajtás, elvárt és tényleges eredmény. Az utolsó férőhelyre két sikeres foglalás nem elfogadható; a második jelentkező pontos kimenete a várólista szabályától függ.

Tanári tipp

Egy komplex válaszban a címkék mellett a tesztadatot és a megfigyelhető következményt is add meg.

08 / TANANYAG

A feladatsor használata

Az első és második témacsoport a V-modellt, az iteratív és agilis életciklust, valamint a komponens és integrációs szintet járja körül. A harmadik a rendszer- és elfogadási vizsgálatot, a negyedik a szint és típus összefüggését, az ötödik a karbantartási tesztet és a hatáselemzést gyakoroltatja. Minden blokk közvetlen hivatkozást ad a kapcsolódó leckékre.

Előbb próbálj önállóan dönteni, utána nézd meg a magyarázatot. A kifejtős választ röviden, de konkrétan írd meg: cél → kiinduló állapot → lépések → ellenőrizhető eredmény → indoklás. A mintamegoldás nem automatikus értékelés, mert több megközelítés is védhető. A tévesztett fogalmakat a megfelelő óra példáin keresztül gyakorold újra.

Példa: Előrehaladás

A számláló a feleletválasztós 20 kérdés közül a kitöltötteket és a helyeseket mutatja. A 10 kifejtős választ saját magad hasonlítod össze a mintákkal.

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

Életciklus, szintek és típusok összefoglalása

A tesztelés időzítését a fejlesztési életciklus, a teszt célját a szint és típus, a szükséges mélységet pedig a kockázat határozza meg. A döntések összefüggnek: egy gyakori kiadásnál automatizált regressziós tesztekre lehet szükség, míg nagy következményű átadásnál a felhasználói elfogadás és az üzemeltetési felkészültség kap kiemelt szerepet.

A jó tesztterv nem pusztán felsorolja a tesztfajtákat. Megmutatja, hogy az adott követelményt ki, mikor, milyen környezetben, milyen bizonyítékkal ellenőrzi, és mit tesz sikertelen eredmény esetén.

Új, iskolai példa

Az iskolai napló új kiadása előtt a komponens tesztek, integrációs ellenőrzések, terheléspróba és titkársági átadás egyaránt indokolt lehet.

Gondolkodtató gyakorlófeladat

Készíts egy rövid tesztstratégiát egy új iskolai mobilalkalmazás kiadására.

30 gyakorlófeladat

Ellenőrizd, mit értesz már!

20 feleletválasztós kérdés azonnali magyarázattal és 10 kifejtős feladat segítséggel, mintamegoldással. A kifejtős válaszokat te ellenőrzöd; ezek nem részei a pontszámnak.

Feleletválasztós feladatok: 0/20 kitöltve · 0/20 helyes

1. Fejlesztési modellek és életciklus

Kapcsolódó leckék: 9. óra, 10. óra

1. feladat · Feleletválasztós

A V-modellben melyik fejlesztési alap kapcsolódik leginkább a rendszerteszt tervezéséhez?

2. feladat · Feleletválasztós

Mi jellemzi helyesen az iteratív fejlesztést?

3. feladat · Feleletválasztós

Mi különbözteti meg az inkrementumot az iterációtól?

4. feladat · Feleletválasztós

Mikor érdemes egy agilis csapatnak tisztázni a kereső elfogadási feltételeit?

5. feladat · Kifejtős

Egy kurzusportál három körben készül: keresés, jelentkezés, várólista. Mutasd be az inkrementumokat, és írj egy-egy fontos ellenőrzést minden kör végére!

6. feladat · Kifejtős

A V-modellben egy rendszerkövetelmény így szól: „A diák a jelentkezése után lássa a foglalását.” Írj korai pontosító kérdést és egy későbbi rendszertesztet!

2. Komponens és integráció

Kapcsolódó leckék: 11. óra, 14. óra

7. feladat · Feleletválasztós

Egy férőhelyszámító függvény 20-ból 19 foglalásra 1 szabad helyet ad. Melyik szintet vizsgáljuk közvetlenül?

8. feladat · Feleletválasztós

A jelentkezési modul jól számol, az adatbázis külön helyesen ment, de együtt rossz kurzusazonosítót rögzítenek. Mi a legközvetlenebb tesztfókusz?

9. feladat · Feleletválasztós

Mit NEM bizonyít egy külső e-mail szolgáltatást sikeres próbaválasszal helyettesítő komponensteszt?

10. feladat · Feleletválasztós

Miért lehet szükség integrációs tesztre két sikeres komponensteszt után?

11. feladat · Kifejtős

Adj egy komponenstesztet és két integrációs tesztet a várólista és az értesítő összekapcsolásához! Mindegyiknél legyen elvárt eredmény.

12. feladat · Kifejtős

A kosár 0,2 értéket ad át 20%-os kuponhoz, a pénztár viszont 20-at vár. Miért maradhat rejtve a hiba izolált tesztekben? Írj reprodukálható kapcsolat-tesztet.

3. Rendszer és elfogadás

Kapcsolódó leckék: 12. óra, 13. óra, 14. óra

13. feladat · Feleletválasztós

Melyik eset ad bizonyítékot a teljes rendszer működéséről?

14. feladat · Feleletválasztós

Mi különbözteti meg leginkább a felhasználói elfogadási tesztet a rendszerteszttől?

15. feladat · Feleletválasztós

Melyik vizsgálat tartozhat az üzemeltetési elfogadáshoz?

16. feladat · Feleletválasztós

Az átállás napján a régi rendszer 120 foglalását importálják. Mi az erős ellenőrzés?

17. feladat · Kifejtős

Egy 1 férőhelyes kurzusra A diák sikeresen jelentkezik. Írj rendszertesztet a következő B diák próbálkozására: előfeltétel, lépések, eredmények.

18. feladat · Kifejtős

Egy iskolai portál minden előírt rendszerteszten átment. Írj két felhasználói és egy üzemeltetési elfogadási kritériumot a bevezetéshez.

4. Tesztelési szintek és teszttípusok

Kapcsolódó leckék: 14. óra, 15. óra, 16. óra

19. feladat · Feleletválasztós

„A teljes kereső 100 egyidejű felhasználó mellett 2 másodpercen belül válaszol.” Milyen szint és típus?

20. feladat · Feleletválasztós

Egy függvény betelt és szabad helyre vezető kódágának végrehajtását ellenőrzik. Mi a vizsgálat nézőpontja?

21. feladat · Feleletválasztós

Melyik állítás pontos a kódág-lefedettségről?

22. feladat · Feleletválasztós

Melyik pár fejezi ki helyesen a kétféle besorolást?

23. feladat · Kifejtős

A kurzuskereső új szűrőt kapott. Adj egy funkcionális, egy nem funkcionális és egy strukturális tesztesetet elvárt eredménnyel!

24. feladat · Kifejtős

A betelt kurzusra jelentkezés hibáját kijavították. Írj egy megerősítő és két regressziós tesztet, és indokold, miért különböznek!

5. Karbantartás és hatáselemzés

Kapcsolódó leckék: 16. óra, 17. óra

25. feladat · Feleletválasztós

Melyik esemény indokolhat karbantartási tesztet a forráskód változása nélkül is?

26. feladat · Feleletválasztós

Mi a hatáselemzés szerepe egy jogosultsági szabály módosításakor?

27. feladat · Feleletválasztós

A régi regressziós teszt a szándékosan megváltozott jogosultsági szabályt kéri számon. Mi a helyes lépés?

28. feladat · Feleletválasztós

A korábbi verzióban 50 teszt sikeres volt. Mit állíthatunk automatikusan az új verzióról?

29. feladat · Kifejtős

Új szabály szerint az inaktív jogviszonyú diák nem jelentkezhet. Írj hatáselemzést, két új tesztet és két regressziós esetet!

30. feladat · Kifejtős

Adatmigráció után 120 korábbi foglalásból 119 látszik. Írj hibajegyhez ellenőrizhető tényeket és következő karbantartási tesztlépéseket!

Amit érdemes megjegyezni

  • A 9–10. órák a fejlesztési életciklus és a tesztelés kapcsolatát mutatják meg.
  • A 11–14. órák a tesztelési szinteket, a 15. óra a teszttípusokat rendszerezi.
  • A 16–17. órák a gyakorlati alkalmazást, hatáselemzést és változás utáni ellenőrzést kötik össze.