Tantárgy adatlapja

Tárgy neve: Basics of Software Testing
Tárgy kódja: P-ITSZT-0029
Óraszám: N: 2/0/0, L: 0/0/0
Kreditérték: 2
Az oktatás nyelve: angol, magyar
Követelmény típus: Kollokvium
Felelős kar: ITK
Felelős szervezeti egység: Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar
Tárgyfelelős oktató: Dr. Oláh András
Tárgyleírás:

Tantárgy neve:Basics of Software Testing
P-ITSZT-0029
Tárgyfelelős:Oláh András
Tantárgy oktatója:Oláh András
A tantárgy céljának rövid ismertetése:A Szoftvertesztelés alapjai tantárgy elsődleges célja, hogy a hallgatók gyakorlatorientált bevezetést kapjanak a modern szoftvertesztelés alapfogalmaiba, módszereibe és támogató eszközeibe. A tantárgy a tesztelést a szoftverfejlesztési életciklus szerves részeként mutatja be, amely hozzájárul a szoftver minőségéhez, megbízhatóságához és karbantarthatóságához.
A tantárgy különleges értéke, hogy oktatásában tapasztalt szakemberek is részt vesznek vendégelőadóként, akik valós ipari szoftverfejlesztési és tesztelési környezetből származó gyakorlati tudást hoznak be az oktatásba. Ez segíti a hallgatókat annak megértésében, hogy a tesztelés nem csupán technikai tevékenység, hanem az együttműködésen alapuló, agilis szoftverszállítás fontos része is.
A laboratóriumi gyakorlatok során a hallgatók bevezető szintű gyakorlati tapasztalatot szereznek széles körben használt eszközökkel és technikákkal, például verziókezeléssel, egységteszteléssel, adatvezérelt teszteléssel, mockolással, API-teszteléssel, webes felületi teszteléssel, folyamatos integrációval és konténeralapú tesztelési környezetekkel kapcsolatban. A tantárgy célja egy olyan stabil alap kialakítása, amely képessé teszi a hallgatókat az alapvető tesztelési tevékenységek megértésére, megtervezésére és végrehajtására valószerű szoftverprojektekben.
A tantárgy emellett bevezeti a mesterséges intelligenciával támogatott eszközök minimális és felelős használatát a szoftvertesztelésben. A hallgatók megismerik, hogyan támogathatja az AI a követelmények elemzését, a tesztötletek generálását, a szélső esetek feltárását, a tesztesetek átnézését és a hibakeresést. Az AI a tesztelői gondolkodást támogató eszközként jelenik meg, nem pedig az emberi megértés, szakmai ítélőképesség vagy önálló ellenőrzés helyettesítőjeként.
Elsajátítandó elméleti ismeretanyag:

Főbb elméleti témakörök:

  • A szoftvertesztelés szerepe a szoftverfejlesztési életciklusban.
  • A szoftverminőség, megbízhatóság, karbantarthatóság és tesztelhetőség alapfogalmai.
  • A tesztelés helye az agilis fejlesztési folyamatokban, különös tekintettel az Agile, Scrum és XP megközelítésekre.
  • Alapvető tesztelési fogalmak: tesztcél, tesztszint, teszttípus, teszteset, tesztadat, elvárt eredmény és hiba.
  • A teszttervezés és tesztlefedettség alapelvei.
  • Bevezetés a tesztautomatizálásba, annak előnyeibe, korlátaiba és kockázataiba.
  • A tesztvezérelt fejlesztés (TDD) és az adatvezérelt tesztelés (DDT) alapelvei.
  • Egységtesztelési alapfogalmak, izoláció, mockolás és egyszerű automatizált tesztkészletek felépítése.
  • Az API-tesztelés, webes felületi tesztelés, folyamatos integráció és konténeralapú tesztelési környezetek alapfogalmai.
  • Bevezetés az AI-támogatott szoftvertesztelésbe, tipikus kezdő szintű felhasználási esetekkel és korlátokkal.
  • Alapvető prompt engineering tesztelési feladatokhoz: kontextus megadása, elvárt kimenet meghatározása, szélső esetek kérése és megalapozatlan feltételezések elkerülése.
  • Az AI felelős használata a tesztelésben, beleértve az AI által generált javaslatok kritikus átnézésének, javításának és indoklásának szükségességét.
Elsajátítandó gyakorlati ismeretanyag:

Főbb gyakorlati témakörök:

  • Git használata alapvető verziókezelési folyamatokhoz szoftvertesztelési és fejlesztési projektekben.
  • Egyszerű egységtesztek tervezése és futtatása.
  • Adatvezérelt tesztek készítése és alapvető mockolási technikák használata.
  • Alapvető API-tesztek tervezése és végrehajtása.
  • Egyszerű webes felületi tesztek készítése és a Page Object minta alapvető alkalmazása.
  • Automatizált tesztek futtatása folyamatos integrációs környezetben.
  • Docker vagy más konténeralapú környezet használata szoftverfejlesztési és tesztelési tevékenységek támogatására.
  • Egyszerű tesztesetek írása követelmények vagy user story-k alapján.
  • Pozitív, negatív és határértékhez kapcsolódó tesztszcenáriók azonosítása.
  • AI-támogatott eszközök használata egyszerű követelmények elemzésére, kétértelműségek, hiányzó információk és lehetséges szélső esetek azonosítására.
  • AI-támogatott eszközök használata tesztötletek vázlatos generálására, majd ezek manuális átnézése, javítása és a hasznos javaslatok kiválasztása.
  • AI-támogatott eszközök használata hibajegyek javítására vagy egyszerű teszthibák magyarázatára, az eredmény önálló ellenőrzése mellett.
  • Az AI-használat dokumentálása kiválasztott beadandókban: a prompt, a kapott válasz, az elfogadott részek, az elutasított vagy javított részek és a végső emberi döntés rövid bemutatásával.
A 2-4 legfontosabb kötelező irodalom felsorolása bibliográfiai adatokkal (szerző, cím, kiadás adatai, (esetleg oldalak), ISBN):R. Osherove, The Art of Unit Testing, 2nd ed. Shelter Island, NY, USA: Manning Publications, 2013. ISBN: 978-1-61729-089-3.
U. Gundecha, Selenium Testing Tools Cookbook. Birmingham, UK: Packt Publishing, 2012. ISBN: 978-1-84951-574-0.
L. Crispin and J. Gregory, Agile Testing: A Practical Guide for Testers and Agile Teams. Upper Saddle River, NJ, USA: Addison-Wesley Professional, 2009. ISBN: 978-0-321-53446-0.
International Software Testing Qualifications Board, Certified Tester Foundation Level Syllabus v4.0.1, 2024. [Online].
A 2-4 legfontosabb ajánlott felsorolása bibliográfiai adatokkal (szerző, cím, kiadás adatai, (esetleg oldalak), ISBN):P. C. Jorgensen and B. DeVries, Software Testing: A Craftsman's Approach, 5th ed. Boca Raton, FL, USA: CRC Press / Auerbach Publications, 2021. ISBN: 978-0-367-76762-4.
M. Winteringham, Software Testing with Generative AI. Shelter Island, NY, USA: Manning Publications, 2024. ISBN: 978-1-63343-736-4.
International Software Testing Qualifications Board, Certified Tester Specialist Level – Testing with Generative AI (CT-GenAI), Syllabus v1.1, 2026. [Online].
OpenAI, Prompt Engineering Guide. OpenAI Developer Documentation. [Online].
Elmélet-gyakorlat aránya:Elméleti óra óraszáma: 2
Gyakorlati óra és labor óra óraszáma: 0 + 0
Az alkalmazott oktatási módszerek:
  • Laborgyakorlat
  • Otthoni projektmunkák konzultációval
Az értékelés módja:Kollokvium
Az értékelés kritériuma:A tantárgy gyakorlati jeggyel zárul. A végső jegy egy nagyobb, tantermi körülmények között teljesítendő gyakorlati számonkérésből, valamint a félév során elkészített 2–3 otthoni projektfeladat értékeléséből áll össze.
Az elégséges jegy megszerzéséhez minden otthoni projektet legalább kettesre kell teljesíteni.
Miként járul hozzá a tantárgy a KKK-ban megjelölt kompetenciaelemek megszerzéséhez:

Mérnökinformatikus alapképzés:
A tantárgy fejleszti a mérnökinformatikus képzésben szükséges szoftverminőségi, tesztelési és verifikációs kompetenciákat. A hallgatók megismerik a tesztelés szerepét a szoftverfejlesztési életciklusban, és gyakorlati tapasztalatot szereznek egységtesztelésben, API- és felületi tesztelésben, automatizálásban, verziókezelésben és CI-környezetek használatában, ami támogatja a megbízható és karbantartható szoftverek fejlesztését.

A tárgy az alábbi képzéseken vehető fel

Nincs megjeleníthető adat
Széchenyi 2020 - Magyarország Kormánya - Európai Unió, Európai Regionális Fejlesztési Alap - Befektetés a Jövőbe