Mikrokontrolleres alkalmazások automatizált tesztelése

OData támogatás
Konzulens:
Dr. Iváncsy Szabolcs
Automatizálási és Alkalmazott Informatikai Tanszék

A szoftverfejlesztés jelentős átalakuláson ment keresztül, mióta az első program elkészült. Egyre nagyobb és bonyolultabb szoftverek készülnek, amelyek az esetek döntő többségében több fejlesztő munkáját tükrözik. Emellett egyre több olyan területre férkőznek be a szoftverek, ahol néhány évtizede ez még elképzelhetetlen volt. A növekvő igényekhez, rövidebb fejlesztési idő társul, így előtérbe került a kódok újrafelhasználhatósága, illetve a programok moduláris felépítése. Emellett sok helyen biztonságkritikus feladatot látnak el a szoftverek, mint például az autó- vagy a repülőiparban, amely további követelményeket támaszt a szoftverrel szemben.

Elengedhetetlen, hogy a fejlesztési módszerek alkalmazkodjanak a változó igényekhez, gondoljunk csak az egyre segítőkészebb fejlesztőkörnyezetekre vagy a különböző verziókezelő rendszerekre. Nincs ez másképp a tesztelési eljárásokkal sem. Míg egy kisebb programnál megoldható, hogy az egyes funkciókat manuálisan tesztelje a programozó, egy bonyolult programnál ez már irreálisan sok időt emésztene fel, és az emberi tényező miatt megkérdőjelezhető a pontossága.

Robert C. Martin, a nagy sikerű Tiszta kód könyv szerzője, a következő módon fogalmaz a teszteléssel kapcsolatban: "Tesztek nélkül minden módosítás egy lehetséges hibát jelent." Nyilván nem lehet minden módosítás után kézzel ellenőrizni, hogy az összes funkció megfelelően működik-e, ezért kezdtek el különböző tesztelésautomatizáló keretrendszereket készíteni erre a célra.

Beágyazott szoftverek kapcsán méltatlanul kevés szó esik a tesztelés jelentőségéről, kiváltképp annak tekintetében, hogy a biztonságkritikus alkalmazások nagy része ezt a területet érinti. A mikrokontrollereken futó szoftverek tesztelése számos kihívást tartogat, mivel a szoftver szoros kapcsolatban van a hardverrel és az operációs rendszerrel, így például a külső események hatásának vagy az időzítések tesztelése nehézkes.

Diplomatervem a fentiek tekintetében kínál megoldást a beágyazott szoftverek automatizált tesztelésére. Az olvasó betekintést nyerhet a különböző teszttípusokba és a rendszer fejlesztése során betöltött szerepükbe. Kiemelt helyet kapnak a dolgozatban a unit test keretrendszerek, a beágyazott rendszerekben történő alkalmazhatóság szempontjából. A fentiek alapján kiválasztásra és ismertetésre kerül egy framework, amelyet az erre épülő, automatizált tesztelést lehetővé tevő hardver és szoftver ismertetése követ.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.