In der virtuellen Welt laufen die Tests schon lange vor dem Bau des ersten Prototyps. In Zeiten, in denen sich Fahrzeuge mehr und mehr über Software definieren und die Funktionsvielfalt signifikant ansteigt, müssen zusätzliche Testmethoden etabliert werden. Denn Softwarefehler, die erst während der Testphase an physischen Prototypen gefunden werden, kosten besonders viel Zeit, Geld und Nerven. Häufig stellt sich dann die Frage: Hätte man die Fehler nicht schon früher finden und beheben können?
Unsere Engineering-Teams sagen eindeutig 'ja' und berichten dazu aus ihrem Alltag, in dem die Testaktivitäten bereits in virtuellen Testumgebungen stattfinden. Auf Software- und Modell-Ebene sogar gleich von Beginn an und bei jeder Änderung durch die Funktionsentwicklung. Dafür werden variantenreiche und szenarienbasierte Testfälle entwickelt, die automatisiert und mithilfe skalierbarer Infrastruktur ausgeführt werden – mit dem Ziel, neue Fahrzeugfunktionen schnell zur Marktreife zu bringen.
Virtual Testing
Neue Funktionen erst im Fahrzeug testen? Das ist bei der heutigen Komplexität von Automobil-Software undenkbar.
Cloud Computing
Continuous Testing in der Cloud
Mit der stetig wachsenden Zahl an softwaregesteuerten Funktionen im Fahrzeug verändert sich auch der notwendige Testprozess. Mehr und mehr kommen virtuelle Umgebungen in der Funktionsentwicklung von Steuergeräten zum Einsatz, denn nur so lassen sich die komplexer werdenden Fahrzeugfunktionen mit hoher Variantenvielfalt und schnellem Feedback testen. Immer wichtiger wird es auch, die große Auswahl der Testszenarien frühzeitig in den Entwicklungsprozess zu integrieren. Nur so lässt sich die Fehlerrate in realen Produktionsumgebungen minimieren. Damit steigen die Ansprüche an Testwerkzeuge und Testdesign gleichermaßen.
Welches Ziel hat sich das Projekt gesetzt?
1. Vereinfachte Testfallerstellung
Wir unterstützen die Funktionsentwicklung bei der einfachen Testfallerstellung auf Modellebene, indem wir eine spezielle grafische Benutzungsoberfläche (GUI) für MATLAB/Simulink zur Verfügung stellen.
Damit können Testfälle für einzelne Komponenten (Unit-Tests) basierend auf vorgefertigten Templates selbst erstellt und ausgeführt werden.
Diese Tests decken vor allem funktionale Anforderungen ab. Werden sie bei jeder Änderung wiederholt und dabei auftretende Fehler sofort behoben, tragen sie erheblich zur Sicherstellung der korrekten Funktion bei.
Wir unterstützen die Funktionsentwicklung bei der einfachen Testfallerstellung auf Modellebene, indem wir eine spezielle grafische Benutzungsoberfläche (GUI) für MATLAB/Simulink zur Verfügung stellen.
Damit können Testfälle für einzelne Komponenten (Unit-Tests) basierend auf vorgefertigten Templates selbst erstellt und ausgeführt werden.
Diese Tests decken vor allem funktionale Anforderungen ab. Werden sie bei jeder Änderung wiederholt und dabei auftretende Fehler sofort behoben, tragen sie erheblich zur Sicherstellung der korrekten Funktion bei.
2. Automatisierte Fehlersuche
Generische Testfälle lassen sich automatisiert auf viele verschiedene Testobjekte anwenden und sind besonders dort nützlich, wo Testobjekte beispielsweise durch manuell erstellte Tests nicht hinreichend getestet werden oder eine höhere strukturbezogene Testabdeckung erwünscht ist. Ziel ist es, unerwünschte Auswirkungen von Änderungen auf das Bestandsverhalten in einzelnen Varianten zu ermitteln.
Von Vorteil ist hierbei, dass virtuelle MiL-Tests unabhängig von Hardware-Konfigurationen sind. Das ermöglicht die Nutzung von einheitlich konfigurierten Testumgebungen.
Generische Testfälle lassen sich automatisiert auf viele verschiedene Testobjekte anwenden und sind besonders dort nützlich, wo Testobjekte beispielsweise durch manuell erstellte Tests nicht hinreichend getestet werden oder eine höhere strukturbezogene Testabdeckung erwünscht ist. Ziel ist es, unerwünschte Auswirkungen von Änderungen auf das Bestandsverhalten in einzelnen Varianten zu ermitteln.
Von Vorteil ist hierbei, dass virtuelle MiL-Tests unabhängig von Hardware-Konfigurationen sind. Das ermöglicht die Nutzung von einheitlich konfigurierten Testumgebungen.
3. Continuous Testing in der Cloud
Damit das Testen nicht als Last, sondern als Unterstützung wahrgenommen wird, werden diese Tests mit jeder Änderung automatisiert im Hintergrund ausgeführt. Dieser aus der „klassischen“ Software-Entwicklung bekannte Continuous Testing-Ansatz kann durch die Virtualisierung der Tests auch auf die Entwicklung im Automotive-Sektor übertragen werden.
Wir entwickeln individuelle Automatisierungslösungen, für die ein Jenkins-Server zum Einsatz kommt, der die Testausführung koordiniert. Die eigentliche Ausführung der Tests erfolgt auf einer Cloud-Infrastruktur. Der Jenkins-Server verteilt die Testaufträge an die freien Ressourcen in der Cloud.
Damit das Testen nicht als Last, sondern als Unterstützung wahrgenommen wird, werden diese Tests mit jeder Änderung automatisiert im Hintergrund ausgeführt. Dieser aus der „klassischen“ Software-Entwicklung bekannte Continuous Testing-Ansatz kann durch die Virtualisierung der Tests auch auf die Entwicklung im Automotive-Sektor übertragen werden.
Wir entwickeln individuelle Automatisierungslösungen, für die ein Jenkins-Server zum Einsatz kommt, der die Testausführung koordiniert. Die eigentliche Ausführung der Tests erfolgt auf einer Cloud-Infrastruktur. Der Jenkins-Server verteilt die Testaufträge an die freien Ressourcen in der Cloud.
Tools
- test.guide
- MATLAB/Simulink
- Jenkins
- Groovy/Java
- OpenStack
Team
- 4 Softwareentwickler
- 1 Team-Master
- 1 OKR-Master
- Standort: Dresden
❤
Wir haben da einen Nerv bei dir getroffen?
Wie schön!
Wenn du noch tiefer einsteigen möchtest, schreib uns gerne eine E-Mail.
Wie schön!
Wenn du noch tiefer einsteigen möchtest, schreib uns gerne eine E-Mail.
Co-Simulation
Co-Simulation als Integrationsplattform
Moderne Fahrzeuge basieren auf Technologien, die Fahrerlebnisse im digitalen Zeitalter angenehm und vor allem sicher machen. Dafür werden Fahrzeugfunktionen entwickelt, die nicht nur das Fahrzeug selbst betreffen, sondern die auch eine intensive Interaktion mit dessen Umwelt einschließen. Diese hochgradig komplexen und vernetzten Funktionen erfordern schon im frühen Entwicklungsstadium eine Absicherung durch Tests, um den gestellten Anforderungen zu genügen. Doch herkömmliche Verfahren können in den bestehenden Entwicklungsmodellen den notwendigen Testumfang nicht mehr garantieren. Mithilfe von Simulationen lässt sich der heterogene Testprozess anders als der manuelle physische Test deutlich beschleunigen, einfach parallelisieren und die Reproduzierbarkeit von Testszenarien kann sichergestellt werden. Zudem entfällt die Notwendigkeit, mit einem fertigen Produkt testen zu müssen.
Welches Ziel verfolgt ihr?
Wir konstruieren für unsere Kunden vollständige Co-Simulationssysteme, nehmen diese in Betrieb und unterstützen auch bei der fortführenden Integration. Dabei setzen wir unsere Kompetenzen in den unterschiedlichsten Ebenen des Gesamtsystems ein – in Softwareentwicklung, Systemaufbau und Test.
Schon bei der grundlegenden Entscheidung zur passenden Systemarchitektur können wir helfen und entwickeln genau abgestimmte Interfaces für die relevanten Modellierungswerkzeuge der kundenspezifischen Plattformen.
Mit ecu.test integrieren wir zudem ein modernes Werkzeug zur Testautomatisierung und führen automatisierte Tests der speziellen Co-Simulationsverbünde durch. So lässt sich das reibungslose Zusammenspiel der einzelnen Komponenten koordinieren und sicherstellen.
Bestehende Synergien zwischen diesen einzelnen Bereichen identifizieren wir und führen die gewonnen Erkenntnisse agil in den Entwicklungsprozess zurück. Genaugenommen feilen wir aber kontinuierlich am Gesamtsystem, um es Schritt für Schritt zu verbessern.
Was sind Co-Simulationen?
Bei Co-Simulationen werden verschiedene Teilsimulationen gekoppelt und für eine Gesamtsimulation zusammengeführt. Speziell für uns bedeutet das, die Fahrzeugumgebung in verschiedene Detaillierungsstufen zu virtualisieren und mit dem Testobjekt zu verbinden. Anschließend lassen sich Fahrzeugfunktionen innerhalb vielfältiger realistischer Szenarien testen.
Dabei können die virtualisierten Funktionen gemäß dem Anwendungsfall in den jeweils am besten geeigneten Softwaretools modelliert und anschließend zusammengefügt werden. Je nach Detaillierungsgrad dieser Modelle kann so bereits eine sehr große Bandbreite von Tests abgedeckt werden.
Was ist der Vorteil einer Co-Simulationsplattform?
Die Co-Simulationsplattform kann einzelne Subsysteme (Testobjekt, Testumgebungssimulationen) miteinander verbinden. Der Austausch der Simulationsergebnisse aus den verschiedenen Modellierungswerkzeugen (MATLAB/Simulink, CarMaker, Silver, VEOS etc.) und Viewern erfolgt über ein standardisiertes Kommunikationsprotokoll.
Die Co-Simulationsplattform gibt dabei den richtigen Takt vor, sodass alle Simulationen mit einem gemeinsamen Verständnis über die aktuelle Uhrzeit zusammenarbeiten können. Die Simulationen selbst können auf verschiedenen Maschinen (Linux, Windows, Cloud) in Abhängigkeit der benötigten Infrastruktur ausgeführt werden.
Ein weiterer Vorteil ist, dass die gekapselten Subsysteme testfallspezifisch ausgetauscht und lose wieder gekoppelt werden können. So entsteht ein Co-Simulationssystem, das skaliert und dynamisch arbeiten kann.
Tools und Technologien
- ecu.test
- EXAM
- Jira
- Confluence
- Jenkins
- Git
- SVN
- Artifactory
- Python
- Conan
- CMake
- C++
- M-Code
- Virtual Test Drive
- IPG CarMaker
- MATLAB/Simulink
- QTronic Silver
- dSPACE ControlDesk
- dSPACE ConfigurationDesk
- dSPACE VEOS
- dSPACE SCALEXIO
- XIL-API
Kennzahlen
- Verteilung über 3 Standorte
- Zeilen Code: zu viele alle
- Regelmäßige Webmeetings pro Woche: mindestens 8
- Favorite Buzzwords:
- Virtuelles Testen
- Co-Simulation
Team
- 4 SystemService
- 2 Integratoren
- 5 Software-Entwickler
- 1 für alle(s)
- 1 OKR-Masterin