Creating a Java-based test-automation environment with Kubernetes-based cloud architecture

OData support
Supervisor:
Dr. Sonkoly Balázs
Department of Telecommunications and Media Informatics

Testing the software developed by larger companies usually takes remarkably complex procedures and skills, especially, when it happens on clusters, in a distributed environment. These tests should be run automated, no matter, what the actual software is.

I’ve had a chance to examine this kind of testing environment at Ericsson Magyarország Kft. The testing of the software created by the company mainly happens with the help of virtual machines. The automated tests run every night, and the reason for this is because these kind of tests can take up to 8-10 hours to finish. The time interval is long, because in these cases, the clusters are supposed to be formatted, and then installed with the latest version of the developed software components. In my thesis, I was looking for a solution, which could help decreasing these overly long testing time-intervals. The solution seemed to be moving the testing architecture to the Cloud with the latest technologies and platforms, like Kubernetes, which is a cluster-orchestration tool, and Docker, which is neccessary, if you want to work with containers and Kubernetes.

In this thesis, I introduce and demonstrate the main differences between virtual machines and containers, and also the softwares and platforms used by today’s market. I touch upon the usage of Kubernetes, and the test-cases, that are can only be interpreted in the case of clusters and distributed environments. At the market research section of the thesis, I show you the test-automating methods in the cloud, practiced by some of the bigger companies in the market.

I have also made an experimental testing environment, written in Java, which I can deploy on a locally simulated Kubernetes-cluster – by this, I could compare the test-results with the present system, run by virtual machines.

Finally I measured the performance of the „old” system, and also the architecture implemented by myself, by running different test-cases on a telco-application, and by looking at the results, you can obviously tell the benefits of the system, which was implemented with containers, run on the Kubernetes cluster.

Downloads

Please sign in to download the files of this thesis.