Java-alapú teszt-automatizálási környezet létrehozása Kubernetes-ben menedzselt cloud-alapokon

OData támogatás
Konzulens:
Dr. Sonkoly Balázs
Távközlési és Médiainformatikai Tanszék

A nagyvállalatok által fejlesztett termékek tesztelése általában rendkívül összetett tesztelési folyamatokat követel meg – főleg, ha azt elosztott környezetben, klasztereken („számítógép-fürt”) kell elvégezni. Ezeket – a konkrét terméktől függetlenül – lehetőleg automatizált módon érdemes megvalósítani.

A hasonló környezetben végzett tesztautomatizálást az elsősorban telekommunikációval foglalkozó Ericsson Magyarország Kft-nél volt lehetőségem közelebbről is megvizsgálni. A cég által fejlesztett szoftverek klasztereken való tesztelése virtuális gépek segítségével történik. Az adott fejlesztett szoftver legfrissebb változatának automatizált tesztelése éjszakánként zajlik főleg amiatt, mivel az ilyen tesztek akár 8-10 órát is igénybe vehetnek a virtuális gépek működésének köszönhetően, ilyenkor ugyanis a klaszterek teljes formázása és az aktuális szoftverrel való újratelepítése, majd az adott tesztek futtatása történik. A szakdolgozatomban ezen automatizált tesztek futásának megrövidítésére kerestem megoldást. Ezt a megoldást pedig a tesztelési rendszer felhő-alapokra való helyezése nyújtja az elérhető legfrissebb technológiákkal és platformokkal – a Kubernetes nevű, klaszter-kezelést megkönnyítő platform, illetve az ehhez elengedhetetlen Docker konténer-platform segítségével.

Munkám során bemutatom a virtuális gépek és a konténerek közti különbségeket, a tesztautomatizáláshoz a jelenlegi piac által használt szoftvereket és platformokat, a Kubernetes működését, és ezáltal a klaszterek esetében értelmezhető teszteseteket. A dolgozat piackutatással foglalkozó részében néhány cég felhő alapú tesztautomatizálási szokásait mutatom be. Elkészítettem továbbá egy kísérleti, Java nyelven írt teszt-rendszert is, melyet lokális környezetben futó virtuális Kubernetes-klaszterben futtattam – ezáltal lehetővé vált a virtuális gépekkel megvalósított jelenlegi rendszerrel való összehasonlítás.

Végezetül a „régi” rendszerrel, majd az általam létrehozott architektúrával méréseket végeztem egy telekommunikációs példa-alkalmazás telepítését, illetve egyéb tesztesetek futási időtartamát vizsgálva, melyek eredményeiből egyértelműen látható a Kubernetes-ben, konténerekkel megvalósított változat előnye.

Letölthető fájlok

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