DevOps im Automobilbereich

Concept Reply automatisiert Software Releases

Flottenmanagement über den Luftweg

Ein Kunde aus der Automobilbranche bat Concept Reply darum, dabei zu helfen, das Software Testing an den Teststrecken zu optimieren. Dabei sollten Continuous Integration (CI) und Continuous Delivery (CD) mit nächtlichen Builds und Rauchtests möglich werden. Das Projektziel bestand darin, ein Flottenmanagementsystem zu unterstützen, das zur Steuerung und Erfassung von Fahrzeugstatistiken eingesetzt wird. Die Systemkomponenten der Software sollten Over-the-Air aktualisiert werden können.


Die Herausforderung bestand also darin, vorhandenen Code vom Jenkins auf Gitlab zu übertragen, CI/CD für das Hauptprojekt und die damit verbundenen Unterprojekte zu etablieren und die Lieferung von Nexus auf den Artifactory Repository Manager umzustellen. Darüber hinaus erhielt Concept Reply die Anforderung, End-to-End-Tests zu ermöglichen und zu automatisieren.

Die Erfolge

Das Concept Reply-Team schlug vor, bestehende Arbeitsprozesse effizienter zu gestalten, und damit unnötige Teamabsprachen zu reduzieren. Das führte zu einer vollständigen Automatisierung bei der Software-Veröffentlichung.


  • Einführen von Rauchtests, die die Arbeit der wichtigsten Funktionen überprüfen sowie von Regressionstests bei nächtlichen Builds
  • Containerisieren aller Jobs in Docker bei automatisierter Orchestrierung
  • Automatisieren von System- und Integrationstests der Komponenten zur Vorbereitung der Abnahmetests
  • Automatisieren der Komponentenveröffentlichung
  • Einrichten von E-Mail-Benachrichtigungen mit Links zu freigegebenen Komponenten und End-to-End-Testberichten
  • Implementieren von End-to-End-Testungen durch die Kommunikation über APIs
  • Automatisieren der Assembly-Aufträge
  • Implementieren von End-to-End-Testungen durch die Kommunikation über APIs
  • Einführen von Protokollpuffern, um Aktionen zur Fahrzeugsteuerung über MQTT an das Ziel zu senden
  • Implementieren von APIs, die zur Paketerstellung verwendet werden
  • Einführen einer Plattform für End-to-End-Testung, die mit RPA vereinbar ist

Die Ergebnisse

Durch die Automatisierung von Software Releases gelang es Concept Reply die Lieferung von Teilergebnissen um 70 Prozent zu beschleunigen. Der Kunde erhält automatisiert Informationen und Testberichte über den Stand von freigegebener Software. Das fördert das Prüfen und die gemeinsame Nutzung von Berichten.

Warum sind Software-Tests so wichtig?

IT-Unternehmen verwenden verschiedene Testmethoden, um die Qualität von Software zu sichern, Fehler zu verhindern und Probleme bei der Lieferung von Produkten oder Dienstleistungen zu vermeiden. Software-Tests sind damit wichtige Maßnahmen, die vor einer Veröffentlichung durchgeführt werden müssen:


  • Sie sind obligatorisch, um die Qualität der Software zu gewährleisten
  • Sie sind notwendig, um festzustellen, ob die Anwendung die Anforderungen erfüllt
  • Mit den Tests werden Fehler ausgeschlossen, bevor die Software für Kunden verfügbar ist

Für eine robuste Infrastruktur müssen Systeme mit hohem Volumen, hoher Leistungsfähigkeit und hoher Verfügbarkeit installiert sein. Solche Systeme können aus mehreren Modulen zusammengestellt werden, die DevOps-Tools wie Amazon S3, Amazon SES, Gitlab CI und Artifactory ermöglichen. Die Zuverlässigkeit eines Systems hängt jedoch nicht nur von den Werkzeugen selbst ab, sondern auch von der richtigen Abstimmung auf die Anforderungen des Projekts. Systeme mit hohem Volumen und hoher Leistung stellen eine ordnungsgemäße Verknüpfung von Pipelines sicher, die parallel auf skalierbaren Container-Clustern laufen. Darüber hinaus umfassen die etablierten Arbeitsschritte auch die kontinuierliche Verbesserung des bestehenden Systems: durch Anpassung an eine sich ständig ändernde Umgebung.

Test-Prozesse beschleunigen

Die Testautomatisierung ist eine der wichtigsten Aspekte der Qualitätssicherung. Sie trägt dazu bei, in kurzer Zeit Testergebnisse der Software zu erhalten. Werden Unit-Tests, Funktionstests und End-to-End-Tests automatisiert, beschleunigt das das Finden von Fehlern, die sich aus einer ungeeigneten Struktur oder unsachgemäßer Nutzung der Software ergeben.


Auf höherer Ebene erfassen End-to-End-Tests kritische Funktionalitäten von Servern, Datenbanken, Diensten, Anwendungen und Kommunikationsmechanismen, die im Projekt verwendet werden.