QF-Runtime scaling via Jekins/Docker incl. license

Janitza electronics GmbH is an internationally operating, dynamic family business seated in Lahnau, Hesse. Founded in 1986 and having around 200 employees, it is one of the leading companies offering complete solutions relating to energy management, electric power quality monitoring and differential current measurement (RCM). Janitza focusses on the development and manufacturing of high-quality measurement devices with GridVis®, a software specifically adjusted for this, as well as an extensive range of services. Janitza is considered one of the market leaders in this branch of technology, with distribution channels on over 60 countries.

Janitza has been using QF-Test extensively over many years to live up to the constant growth and guarantee a high bar of quality at the same time.

Starting with a Swing application, the technology switches to JavaFX, JxBrowser and web applications were also covered effectively with QF-Test.

To guarantee quick responses despite increasing tests, we at Janitza rely on scaling via Docker.

The first requirement to parallel execution is as many little test suites as possible, sharing one common base. With the help of the JobDSL-Plugin a suitable Jenkins job is created automatically for every test suite. The Jenkins-Docker plugin then creates the Docker agents appropriate to the load and distributes them to the Docker hosts. This scales very easily with the addition of further Docker hosts.

The Docker image of the agents is an in-house development, using a regular Ubuntu image (Phusion/baseimage) plus necessary packages and SSH keys.

To ensure the surface tests working, the slave starts on a virtual screen (Xvfb).

Some test cases however are dependent on a Windows environment. These tests use a different label in order to run on stable Windows agents.

The agents all use the same QF license server.

 

Tristan Himmelreich

Diplom-Informatiker | Research & Development

(Original German texts and citations are translated into English.)