Szoftver- és rendszerellenőrzés

VIMIMA01  |  Mérnökinformatikus MSc  |  Félév: 2  |  Kredit: 4

A tantárgy célkitűzése

A tantárgy célkitűzése, hogy megismertesse a hallgatókat a teljes szoftver- és rendszerfejlesztési életciklus során alkalmazható különböző ellenőrzési technikákkal. Ilyen ellenőrzési technikákra manapság már nem csak a kritikus rendszerek esetén van szükség (ahol ezek alkalmazását legtöbbször szabvány írja elő), hanem minden alkalmazás esetén elvárás, hogy jó minőségű rendszert fejlesszünk.

A tantárgy teljesítése után a hallgatók átlátják a teljes ellenőrzési folyamatot, és ismerik, hogy az egyes fejlesztési fázisokban mely technikák alkalmazása javasolt. Ismerik a különböző statikus ellenőrzési technikákat, és képesek terveket és specifikációkat ellenőrizni, valamint statikus ellenőrző eszközöket használni forráskódok átvizsgálására. Megismerik a szoftvertesztelés szintjeit és módszereit, és képesek alkalmazni a specifikáció és struktúra alapú teszttervezési technikákat. Ismerik az extrafunkcionális jellemzők ellenőrzésére használható módszereket (pl. megbízhatóság modellezése és vizsgálata). Ismerik a futásidőbeli verifikáció alkalmazási lehetőségeit.

Micskei Zoltán
Micskei Zoltán

habilitált docens

tárgyfelelős

A tantárgy részletes tematikája

Az előadások tematikája  Áttekintés 1. Kritikus rendszerek elvárásai, szolgáltatásbiztonság jellemzői2. Ellenőrzési módszerek helye a fejlesztési folyamatban Statikus ellenőrzési technikák3. Követelmények ellenőrzése (ellenőrzési szempontok, teljesség és ellentmondás-mentesség, követelménykezelő eszközök)4. Tervek ellenőrzése (részletes tervek ellenőrzése átvizsgálással, modell alapú verifikáció)5. Forráskód ellenőrzése (ajánlások és előírások, vezérlési struktúra és adatfolyam ellenőrzése, ellenőrzési eszközök) Tesztelés 6. Tesztelési szintek és módszerek (tesztelési megközelítések és célok, tesztek a fejlesztési folyamat egyes fázisaiban)7. Specifikáció és struktúra alapú teszttervezés (fekete és fehér doboz technikák, összetettebb lefedettségi kritériumok)8. Tesztautomatizálás (build folyamatok, folytonos integráció, regressziós tesztelés)9. Modell és kód alapú tesztgenerálás (tesztgenerálási algoritmusok, modell ellenőrzők és kényszermegoldók használata, dinamikus szimbolikus végrehajtás) Szolgáltatásbiztonság vizsgálata 10. Extrafunkcionális követelmények ellenőrzése (extrafunkcionális követelmények fajtái, terhelés és robusztusságtesztelés, hibainjektálás)11. Kvalitatív és kvantitatív analízis (a biztonsági analízis módszerei: hibafa, eseményfa, ok-következmény analízis, hibamód és -hatás analízis)12. Megbízhatóság modellezése (modell alapú megbízhatósági analízis)13. Futásidőbeli verifikáció (követelmény alapú monitorozás és monitor szintézis) 14. Esettanulmány / Vendégelőadás A gyakorlatok tematikája 1. Incidenskezelő eszközök használata. HF tájékoztató2. Követelmények ellenőrzése. Követelménykezelő eszköz kipróbálása3. Részletes tervek verifikálása.  Statikus ellenőrző eszköz használata4. Modultesztelés eszközeinek használata (automatikus tesztfuttatás, izoláció)5. Teszttervezési technikák használata egyszerűbb mintapéldákon6. Automatikus tesztgeneráló eszköz használata7. Biztonsági analízis módszereinek gyakorlása