- Kezdőlap
- Események
- Oktatás
- Specializációválasztás
- BSc tárgyak (Új képzés)
- MSc tárgyak (Új képzés)
- Önálló munka
- Választható tárgyak
- Doktori tárgyak
- Korábbi tárgyak
- Kutatás
- Hallgatóink sikerei
- Magunkról
Szoftverellenőrzési technikák
Tárgyfelelős:
Majzik István
Tárgy adatlap:
https://www.vik.bme.hu/kepzes/targyak/vimim148/ Aktuális információk
A tárgy célkitűzése
A tárgy célja megismertetni a hallgatókat azokkal a technikákkal, eszközökkel és folyamatokkal, amelyek alkalmasak az informatikai rendszerek hibamentességének ellenőrzésére a tervezés, megvalósítás, az integrálás és az üzembehelyezés során. A tárgy az eljárások és eszközök ismertetése során figyelembe veszi a nagy rendelkezésre állású illetve biztonságkritikus rendszerek tervezési szabványaiban megjelenő előírásokat is.
A tárgy részletesebb tematikája
-
A fejlesztési folyamathoz kötődő ellenőrzések áttekintése: Életciklus modellek, a verifikáció és validáció szerepe az egyes fejlesztési folyamatokban. A fejlesztési szabványokban megjelenő előírások.
- Esettanulmányok: Az IEC 61508 által előírt verifikációs technikák. V&V tervezése a fejlesztési folyamatban (eszközláncok).
- Gyakorlat: Mintapéldák.
-
A követelményspecifikáció ellenőrzése: Követelménykezelő eszközök használata, a követelmények közötti kapcsolatok, a követhetőség biztosítása. A specifikáció teljességének és ellentmondás-mentességének vizsgálata.
- Esettanulmány: UML modell alapú teljesség és ellentmondás-mentesség ellenőrzés (pl. IAR VisualState).
- Gyakorlat: Követelménykezelés.
-
Ellenőrzések a tervezési fázisban: A tervek ellenőrzése átvizsgálással. Modell alapú verifikáció (helyességbizonyítás) és szimuláció. Kapcsolat a teszt tervezéssel.
- Esettanulmány: Modell ellenőrzés UML állapottérkép modellek alapján.
- Gyakorlat: Részletes tervek ellenőrzése.
-
A forráskód verifikáció technikái: A vezérlési struktúra és az adatfolyam statikus ellenőrzésének lehetőségei. Az absztrakt interpretáció. Kód komplexitási mértékek.
- Esettanulmány: A MISRA szabvány előírásai és ezek ellenőrzése. Statikus forráskód analízis eszközök (pl. PolySpace).
- Gyakorlat: Forráskód ellenőrzés (pl. FindBugs, PMD).
-
Tesztelési módszerek és folyamatok: A funkcionális (fekete doboz) és a struktura alapú (fehér doboz) tesztelés szerepe. Funkcionális tesztek tervezése. Teszt fedettségi metrikák a struktura alapú tesztelés során. A modell alapú tesztgenerálás lehetőségei. A szoftver-hardver integrációs tesztelés szisztematikus technikái. A tesztek végrehajtásának tervezése és menedzselése. A tesztek dokumentálása.
- Esettanulmányok: Automatikus tesztelési környezetek és eszközök (pl. Cantata++, Rational Test Suite). Az UML tesztelési profil használata. A DECOS Test Bench. Biztonságkritikus kezelőfelület tesztelése.
- Gyakorlatok: Funkcionális tesztelés (pl. JUnit, JMock). Integrációs tesztelés. GUI tesztelése (pl. Selenium).
-
Validáció: A validáció módszerei, terhelés és robusztusság tesztelés, hibainjektálás, szolgáltatásbiztonsági benchmarkok.
- Esettanulmányok: Robosztusság tesztelési technikák. A hibainjektálás megvalósítási lehetőségei.
- Az életciklust átfogó előírások: Hibajelentő és hibakezelő eszközök használata, a hibák elemzése, regressziós tesztelés. A verifikáció és a validáció szervezeti rendje, a dokumentálás folyamata, a költségek tervezése és a szoftver minőség becslése. Értékelés és tanúsítás biztonságkritikus rendszerekben.