====== GEIAL31H-B Szoftvertesztelés ====== Mérnökinformatikus alapszak (BSc) ===== Tantárgy feladata és célja: ===== A tárgy célja a szoftvertesztelés főbb módszereinek és technikájának a bemutatása. A tesztelési szintek megismerése. Test First és Test Drienn Development módszerek ismertetése. A különböző szoftvertesztelési technikák gyakorlatban történő megismerése. ===== Tárgy tematikus leírása: ===== Szoftver‐minőségi kritériumok áttekintése és minőségbiztosítási folyamat megvalósulásának vizsgálata szoftverprojektekben. Tesztelési alapelvek. Funkcionális tesztelés, Unit, Integrációs, Alrendszer és Rendszer tesztek ismertetése. JUnit keretrendszer ismertetése. Agilis fejlesztési módszertanok átfogó ismertetése, Test First Development fejlesztési módszer empirikus vizsgálata ===== Ütemterv ===== ^ # Hét ^ Előadás ^ Gyakorlat ^ | 1. hét | Követelmények ismertetése | Labor használati rend, oktatási anyagok elérése, szoftverkörnyezet beállítása, Használt technológiák ismertetése, Git | | 2. hét | Szoftver minőség jellemzők| | | 3. hét | Szoftver hibák és forrásaik | Unit teszt alapok | | 4. hét | Tesztelés alapjai. Tesztelés céljai, tesztelés és hibakezelés, teszttevékenységek, munkatermékek | | | 5. hét | Tesztelés a sw életciklusában | Kódolási gyakorlat | | 6. hét | Statikus tesztelés | | | 7. hét | Teszttechnikák [[TDD és BDD]] | Kódolási gyakorlat | | 8. hét | Őszi szünet| | | 9. hét | Tesztmenedzsment | UI tesztelés kódolási gyakorlat 1 | | 10. hét | Teszt támogató eszközök | | | 11. hét | Refactoring 1 | UI tesztelés kódolási gyakorlat 2| | 12. hét | Refactoring 2 | | | 13. hét | Teljesítmény tesztelés, biztonsági tesztelés | Pótlások | | 14. hét | Összefoglalás | | ===== Aláírás megszerzése: ===== A zárthelyi dolgozaton legalább elégséges = 40% eredmény elérése Pótlások: az utolsó tanulmányi héten Az előadások legalább 60%-án való részvétel, a gyakorlatok legalább 70%-án való részvétel ===== Számonkérés módja: ===== Kollokvium A vizsgaidőszakban írásbeli + szóbeli vizsga ===== Gyakorló feladatok ===== A 2024. évben az alábbi feladatok szerepelnek 1. Készítsd egy github repozitóriumot. Használd a következő utasításokat: git init git status git add git diff git commit git log git pull git push Oszd meg a github repozitóriumodat. Ellenőrizd a megosztást 2. Implementálj arab szám - római szám konvertert 3. Készits olyan kódot ami a holdjáróval feltérképezi a bolygót! * Meg kell adni a kezdő (x,y) koordinátát, és azt, hogy merre néz a holdjáró (N, E, S, W) * A holdjáró karakteres utasításokat kap * Implementáld az előre/hátra parancsokat (f,b) * Implementáld a balra/jobbra parancsokat (l,r) * Kezeld le a térkép "széleit" * Kezeld le, hogy a bolygók gömbök! * A bolygón akadályok is vannak. Minden lépés előtt a holdjáró ellenőrzi, van-e akadály. Ha a holdjáró akadályt érzékel, akkor visszatér az utolsó pontra és jelenti az akadályt * Szigorúan TDD elveket kell követni. nincs kivétel! Tipp: {{:tanszek:oktatas:holdjaro.png?400|}} ===== Ajánlott irodalom: ===== * Mauro Pezzé, Michal Young: [[http://ix.cs.uoregon.edu/~michal/book/Samples/book.pdf|Software Testing and Analysis]] * International Software Testing Qualifications Board: [[https://hstqb.org/downloadarea/istqb-ctfl-syllabus-4-0-magyar/|Certified Tester – Foundation Level Syllabus (2024)]] * Ficsor Lajos, Dr. Kovács László, Dr. Krizsán Zoltán, Dr. Kusper Gábor - , [[https://dtk.tankonyvtar.hu/xmlui/handle/123456789/13039|Szoftvertesztelés jegyzet]] * Dorothy Graham, Erik van Veenendaal, Isabel Evans és Rex Black - A szoftvertesztelés alapjai * Fehér Krisztián - Szoftvertesztelési alapismeretek * Robert C. Martin – Tiszta kód * Hornyák Olivér - Szoftverminőség-jellemzők előadás fóliák {{ :tanszek:oktatas:swtest2020_2ea.ppt |}} * Hornyák Olivér - Szoftverminőség {{ :tanszek:oktatas:swmin_2024_2ea_hu.pptx |}} ===== Mock gyakorlat ===== * {{Fóiák :tanszek:oktatas:2024-11-07-szoftverteszteles-mock.pdf | Mock Fóliák }} * Letölthető kód: {{ :tanszek:oktatas:2024_09_uni-sw-unit-testing-main.zip |}} **Feladat:** - Nézd át a beimportált függőségeket és frissítsd a legfrissebb verziókra - Írj mock tesztet a Triangle osztály mind az 5 metódusához - Írj mock tesztet, ami ellenőrzi a Fibonacci sorozat 15. és 20. elemét ( nem kell a tényleges kalkulációt implementálni) - Írj Unit tesztet, ami ellenőrzi a Fibonacci sorozat 8. és 23. elemét (kell a tényleges kalkuláció implementálás) ===== UI tesztelés gyakorlat ===== * Leírás {{UI tesztautomatizálás :tanszek:oktatas:ui_tesztautomatizalas.pdf | UI tesztautomatizálás}} * Letölthető kódok {{ :tanszek:oktatas:uitesztaut.zip | UI tesztautomatizálási kódok}}