HIS: Human Machine Interface for Integrated Systems
Submitted By Jenkins User Mircea Banu
Romania-based railway signaling company used Jenkins to cut release times by two-thirds.
Organization: Thales Group
Industry: Railway Signalling / Transportation
Programming Language: Java, Python
Version Control System: Bitbucket Server, Subversion
Build Tool: Ant, Gradle, Maven
Community Support: Spoke with colleagues and peers
All aboard for accurate railway signaling and signage
made faster with Jenkins automation.
Background: Countries, cities, and transport operators rely on Thales’ ground transportation solutions to adapt to rapid urbanization, meet new mobility demands, and support digitalization on all levels. Our expertise in signaling, communications, fare collection, and cybersecurity gives people and goods the connected journey they need to move safely and efficiently. For this project, we had two crucial demands that needed automation:
- fast time to market by reducing the time needed to create a new release through
- automating tests automating code quality checks that are required by the applied safety standards
Goals: The project is realizing a safe command & control UI for railways. The goal is to have the UI configurable fast for customers with different requirements and needs.
Solution & Results: We had a multi-tiered approach to reduce time and improve QA.
For reducing release time
- Even just for a small feature, our biggest time consumer in a release is to execute all product tests. This is mandatory in our safety environment. We have automated most of our UI tests for all customers using Squish, Python, and Java which are integrated into the CI in Jenkins
For performing code quality checks
- We’ve integrated FindBugs, Chekstyle, and Jacoco in the Jenkins build. We have quality gates in place that make it impossible for an error to be ignored.
For visualizing code quality reports, we’ve used the following plugins:
- Build Monitor View
- Test Results Analyzer
For our automation environment, we are using plugins such as:
- Squish Jenkins
Here are our results:
- Release time reduced to a third
- Increased code quality
- We are able to quickly find out when a generic feature breaks one of the customer’s configurations