|
| 1 | +\chapter{Szoftver architektútra} |
| 2 | + |
| 3 | +Ebben a fejezetben egy általános áttekintést adok a \textit{SuperSet} felépítéséről, a projekt struktúráról és a |
| 4 | +fejlesztést támogató folyamatokról. |
| 5 | + |
| 6 | +A \textit{SuperSet} egy elosztott tesz keretrendszser, amely Python 3.12 \cite{python312} nyelvben implementált. A |
| 7 | +verzió kezelés Git segítségével történt. A \textit{SuperSet} mind logikailag mind modul szinten struktúrált. Ez a |
| 8 | +struktúráltság teszi lehetővé a különböző absztrakciós szintek fenntartását és az implementációs részletek elrejtését. |
| 9 | + |
| 10 | +\section{A projekt felépítés} |
| 11 | + |
| 12 | +Ebben a fejezetben röviden ismertetem a szoftverkomponenseket amelyek felépítik a \textit{SuperSet} elosztott teszt |
| 13 | +keretrendszert alkamazást. Mélyebb működésükre, konkrét implementációs részleteikre, és az azokat alátámasztó |
| 14 | +indoklásokora a komponensek saját fejezeteiben fogok kitérni. |
| 15 | + |
| 16 | +A teszt keretrendszer hét fő szoftver komponensből áll amelyek két \emph{nem} diszjunkt halmazba sorolhatók. |
| 17 | + |
| 18 | +Az első halmaz a lokális futtatásért felelős szoftver komponenseket tartalmazza. Ebbe a halmazba tartozik a |
| 19 | +\textit{run.py} fájl által implementált \textit{SuperSet} szoftver komponens, amely névadója lett a projektnek. |
| 20 | + |
| 21 | +A második halmaz az elosztott futtatáshoz szükséges szoftver komponenseket tartalmazza. Ide tartozik a |
| 22 | +\textit{client.py} fájl által implementált \textit{SuperSetConsumer} és a \textit{server.py} által implementált |
| 23 | +\textit{SuperSetProducer} szoftver komponensek. |
| 24 | + |
| 25 | +A két halmaz metszetében azok a szoftver komponensek szerepelnek amelyek elengedhetetlenek mind az elosztott, mind a |
| 26 | +lokális futtatáshoz. Ezek a komponensek a \textit{Gekko}, a \textit{ConfigManager}, a \textit{SystemUnderTest} |
| 27 | +(továbbiakban \textit{Sut}), illetve a program kimenet szabványos formára hozásáért felelős \textit{Reporter}. |
| 28 | + |
| 29 | +\subsection{A \textit{SuperSet} szoftver komponens} |
| 30 | + |
| 31 | +A \textit{SuperSet} szoftver komponens a lokális futtatásért felelős fő komponens. Feladata a \textit{ConfigManager} |
| 32 | +szoftver komponens által előállított teszt csomagok futtatása, valamint a \textit{Gekko} szoftver komponens által |
| 33 | +előállított \textit{fuzz} típusú teszt csomagok futtatása is. Továbbá a \textit{ConfigManagertől} megkapja a tesztekre |
| 34 | +érvényes beállításokat is, azok kapcsolatatival és kizárásaival, így megalkotja a futtatási mátrixot. Kimenetét egy |
| 35 | +\textit{SQLite} \cite{sqlite} adatbázisban tárolja. |
0 commit comments