Zusammenspiel von Embedded Softwareentwicklung und Continuous Integration als Bausteine agiler Softwareentwicklung in der Automobilbranche - Mehrstufige Einführung kontinuierlicher Integrationstests im Automobilbereich

Universität Ulm

MA Abschlussvortrag, Alexander Nikic, Ort: O27/545, Datum: 08.02.2017, Zeit: 12:30 Uhr

Datenpflege, iteratives Testen und Integrieren von Software sind typische Prozessschritte in agilen Softwareprojekten im Embedded Bereich. Allerdings werden diese zumeist noch ohne vordefinierte Vorgehensweisen sowie manuell von den Softwareentwicklern durchgeführt und beanspruchen viel Zeit und Kosten. Des Weiteren sind aufgrund der sich ständig ändernden Daten bzw. Quellcode und der verschiedenen Testumgebungen die Testergebnisse weder konsistent noch vergleichbar. Besonders bei Steuergeräten von Fahrzeugen sind vordefinierte kontinuierliche Tests und Integration besonders wichtig aufgrund der hohen qualitativen Anforderungen. Zur Verbesserung des Prozesses ist ein kontinuierliches Integrationskonzept entwickelt und umgesetzt worden, welches die genannten Vorgänge in vordefinierten Subprozesse gliedert und diese automatisiert durchführt. Im Rahmen dieser Abschlussarbeit wird ein solches Konzept entwickelt und im täglichen Betrieb eines Automobilherstellers von einem verteilten Softwareteam im Embedded Bereich umgesetzt. Ziel der Arbeit ist es somit die Entwickler durch die Automatisierung manuell ausgeführter Prozessschritte zu entlasten und den Softwareentwicklungsprozess mittels Durchführung kontinuierlicher Integrationstests von Softwaremodulen und Kontrolle der Einhaltung firmeninterner Vorgaben zur Datenpflege zu optimieren. Des Weiteren sollen Analysen bzgl. des Ressourcenverbrauchs am Motor- und Abgasnachbehandlungs-Steuergerät die Softwarequalität verbessern. All diese Vorgänge werden mithilfe eines Jenkins-Integrationsservers und einer Konfigurationsmanagementwerkzeugs durchgeführt werden.