|
| 1 | +\chapter{Eredmények és továbbfejlesztési lehetőségek} |
| 2 | + |
| 3 | +\section{Elért eredmények összefoglalása} |
| 4 | + |
| 5 | + A \textit{SuperSet} projekt sikeresen megvalósította a kitűzött célokat, a megvalósított teszt keretrendszer egy |
| 6 | + rugalmas, bővítményekkel kiegészíthető, könnyen konfigurálható rendszer lett. A megvalósítás során modern |
| 7 | + technológiákat alkalmaztam, például a \textit{Python} nyelv típusellenőrzése, vagy az aszinkron esemény hurok |
| 8 | + használata \textit{I/O} limitált hívások kiküszöbölésére. |
| 9 | + |
| 10 | + A projekt során az alábbi eredményeket értem el: |
| 11 | + |
| 12 | + \begin{itemize} |
| 13 | + \item Sikeresen kialakítottam egy komplex, azonban könnyen használható és bővíthető konfigurációs rendszert a |
| 14 | + teszt keretrendszer, és a tesztcsomagok paraméterezésére. |
| 15 | + \item Megvalósítottam a teszt keretrendszer lokális és elosztott működési lehetőségét is, ezzel növelve a |
| 16 | + potenciális elérhető hardverek kihasználtságát. |
| 17 | + \item A rendszer implementálása során különös figyelemmel voltam a teljesítményre, hogy az implementációt adó |
| 18 | + \textit{Python} nyelv ne korlátozza azt. |
| 19 | + \item Létrehoztam egy testre szabható bővítmény rendszert, amely dinamikusan tölti be a tesztcsomagok |
| 20 | + futtatásához szükséges parancsokat. |
| 21 | + \item Megoldottam, hogy a keretrendszernek több különböző kimeneti formátuma is legyen, mind humán olvasható, |
| 22 | + mind standard struktúrált \textit{JUnit XML} alapú. |
| 23 | + \item Implementáltam egy flexibilis teszteset generáló alkalmazást, amely a keretrendszer számára kérésre elő |
| 24 | + tud állítani \textit{fuzz} teszteket a \textit{Csmith} segítségével. |
| 25 | + \item A megvalósított rendszer képes a teszteseteket, kiválasztani, kihagyni és futási eredményeik alapján |
| 26 | + kategorizálni. |
| 27 | + \end{itemize} |
| 28 | + \pagebreak |
| 29 | + |
| 30 | +\section{Továbbfejlesztési lehetőségek} |
| 31 | + |
| 32 | + Bár a jelenlegi implementáció teljes mértékben funkcionális és számos előnnyel rendelkezik a bemutatott egyéb |
| 33 | + megoldásokkal szemben, bőven adódik lehetőség továbbfejlesztésre. |
| 34 | + |
| 35 | + \begin{itemize} |
| 36 | + \item \textbf{Makró építő:} A hasonló alkalmazásokkal való összevetésből kiderül, hogy a \\ \textit{SuperSet} |
| 37 | + nem támogat teszt forrásfájl szintű makrózást natívan. Ugyan az implementációs lehetőseg meg van rá a |
| 38 | + bővítmény rendszeren keresztül, mégis jobb volna egy beépített módszer amely opcionáéisan igénybe vehető. |
| 39 | + \item \textbf{Web nézet:} A jelenleg támogatott kimenetek rendkívül hasznosak, azonban betöltésük igen |
| 40 | + sok időt vesz igényben ha a futtatott tesztek száma nagy. Mivel a keretrendszer kimenete \textit{SQLite} |
| 41 | + adatbázis, így érdemes lenne egy minimális webalkalmazást fejleszteni amely interaktív keresővel, |
| 42 | + oldalakra bontva prezentálja az eredményeket. |
| 43 | + \item \textbf{Hálózati logolás:} Az elosztott működés során a kliensek a \textit{log} üzeneteiket nem küldik el |
| 44 | + a szerver számára így a szerver oldalán nem látható, hogy a kliensek hol tartanak a futtatásban. Ezeket |
| 45 | + az üzeneteket érdemes lenne továbbítani a szerver számára. |
| 46 | + \item \textbf{Hálózati fájl küldés:} A jelenlegi implementáció nem támogatja a teszteset fájlok küldését |
| 47 | + hálózaton keresztül. Így a generáló alkalmazás kimenetét előbb egy másik úton kell eljuttatni a kliensek |
| 48 | + felé ha futtatni szeretnénk elosztottan. |
| 49 | + \item \textbf{Daemon üzemmód:} A szerver alkalmazás egyszeri konfiguráció betöltést hajt végre majd, ha |
| 50 | + a kliensek végeztek a kiosztott tesztekkel akkor aggergálja az eredményeket és leáll. Egy jobb |
| 51 | + implementáció volna, ha szervernek kéréseket lehetne küldeni konfigurációs fájlokkal, hogy mit futasson |
| 52 | + és soha nem terminálna. |
| 53 | + \item \textbf{Bővítmények dinamikus betöltése:} Jelenleg a bővítmény betöltés csak egyszer történik meg az |
| 54 | + alkalmazás indulása után. A \textit{Daemon üzemmód} megvalósításához azonban elengedhetetlen extra |
| 55 | + bővítmények futás idejű betöltése, hogy új konfigurációk új fordítóprogramokra adjanak támogatást. |
| 56 | + \item \textbf{Csatlakozás külső adatbázishoz:} A kimeneti információ jelenleg egy \textit{SQLite} adatbázis |
| 57 | + fájlban tárolódik el a futás végeztével. Egy jó lehetőség volna, ha az alkalmazás nem csak |
| 58 | + \textit{SQLite} hanem bármilyen standard \textit{SQL} alapú adatbázishoz tudna csatlakozni és erdeményeit |
| 59 | + publikálni. Ez jelentősen megkönnyítené a lehetséges web nézet implementációját is. |
| 60 | + \item \textbf{További tesztgenerálók integrálása:} A \textit{Gekko} komponens jelenleg csak a \textit{Csmith} teszt |
| 61 | + generáló alkalmazást kezeli, azonban léteznek egyéb alkalmazások is amelyek integrálására a kód készen |
| 62 | + áll, viszont idő hiányában még nem valósult meg. |
| 63 | + \end{itemize} |
0 commit comments