Treffer: Radni okvir za testiranje funkcionalnosti sustava IMUNES

Title:
Radni okvir za testiranje funkcionalnosti sustava IMUNES
Authors:
Contributors:
Mikuc, Miljenko
Publisher Information:
Sveučilište u Zagrebu. Fakultet elektrotehnike i računarstva., 2025.
Publication Year:
2025
Document Type:
Dissertation Master thesis
File Description:
application/pdf
Language:
Croatian
Accession Number:
edsair.od......4131..dcf69b5aa7c723911535ddd57bd959a8
Database:
OpenAIRE

Weitere Informationen

Rad prezentira rješenje za testiranje mrežnih simulacija u programu IMUNES, mrežnom emulatoru/simulatoru razvijenom na Fakultetu elektrotehnike i računarstva Sveučilišta u Zagrebu koji se koristi u edukacijske i praktične svrhe. Aktualne inačice IMUNES-a podržavaju rad na operacijskim sustavima FreeBSD i Linux. U svrhu olakšavanja pisanja testova za simulirane IMUNES mreže, potrebe za jednostavnijim testiranjem proizvoljnih mrežnih zahtjeva te manjka alata za testiranje samog programa IMUNES pojavila se potreba za stvaranjem radnog okvira koji bi riješio navedene probleme. U sklopu rada razvijen je radni okvir napisan u programskom jeziku Python zbog njegovog skupa funkcionalnosti te dostupnosti na operacijskom sustavu FreeBSD i na Linux distribucijama. Radni okvir omogućuje korisniku definiciju testova u lako čitljivom JSON formatu odnosno omogućuje testiranje proizvoljnih mrežnih zahtjeva bez potrebe za programiranjem. Podržava dva načina rada, testiranje jedne simulacije validiranjem korisničko definiranih zahtjeva i validaciju IMUNES instalacije pokretanjem prethodno napisanog skupa testova koji kao cjelina potvrđuju ispravno funkcioniranje IMUNES-a. Zahvaljujući predvidivom ponašanju, tome što pokretanje radnog okvira nije interaktivni proces i tome što radni okvir osigurava siguran izlaz ne ostavljajući pokrenute simulacije nakon završetka rada radnog okvira moguće je jednostavno implementirati udaljeno i automatizirano pokretanje radnog okvira. U sklopu rada osposobljen je Jenkins poslužitelj s ugrađenim agentom i jednim udaljenim agentom koji istovremeno periodički instaliraju najnoviju IMUNES verziju, dohvaćaju najnoviju verziju radnog okvira i pokreću validaciju IMUNES instalacije, potvrđujući valjanost nove verzije te njezine instalacije. Radni okvir korišten na ovaj način, koristeći automatizirano i udaljeno pokretanje s pomoću Jenkinsa, može pomoći razvoju IMUNES-a služeći kao test najnovije verzije, dok se dodavanjem novih agenata s raznim verzijama FreeBSD i Linux operacijskih sustava te raznim sklopovljem može potvrditi ispravno funkcioniranje IMUNES-a na širokom skupu kombinacija operacijskih sustava i sklopovlja. Radni okvir lako je nadogradiv novim funkcionalnostima i testovima zahvaljujući svom dizajnu podržavajući budući razvoj i prilagođavanje novim potrebama po identifikaciji novih zahtjeva ili potreba korisnika.
The paper presents a solution for testing network simulations in IMUNES, a network emulator and simulator developed at the Faculty of Electrical Engineering and Computing, University of Zagreb, used for both educational and practical purposes. Current versions of IMUNES support FreeBSD and Linux operating systems. Due to the limitations of existing testing solutions for simulated IMUNES networks, the need for simpler testing of arbitrary network requirements in simulations, and the lack of tools for testing IMUNES itself, a new framework was developed to address these issues. The framework, implemented in Python for its functionality and availability on FreeBSD and Linux distributions, allows users to define tests in a readable JSON format, enabling the testing of arbitrary network scenarios without programming.The framework supports two modes of operation: testing a single simulation by validating user-defined requirements, and validating the IMUNES installation by running a predefined set of tests that collectively confirm IMUNES’s correct operation. Its predictable behavior, non-interactive process, and safe exit—ensuring no simulations are left running—make remote and automated execution straightforward. As part of this paper, a Jenkins server with a built-in agent and one remote agent was configured to periodically install the latest IMUNES version, retrieve the latest framework version, and validate the IMUNES installation, thereby confirming the validity of new versions and their installations. Using automated and remote execution via Jenkins, the framework can support IMUNES development by serving as a test for the latest version. Adding new agents with various versions of FreeBSD, Linux, and different hardware can further confirm IMUNES’s correct operation across a wide range of system and hardware combinations. The framework's design allows for easy extension with new features and tests, supporting future development and adaptation as new requirements or user needs arise.