# Ecu.test

ecu.test (bis Dezember 2023 ECU-TEST) ist ein Softwarewerkzeug der in Dresden ansässigen tracetronic GmbH zum Test und zur Validierung eingebetteter Systeme.
Seit dem Erscheinen der ersten Version von ecu.test im Jahr 2003 wird die Software als Standardwerkzeug in der Entwicklung automobiler Steuergeräte verwendet und kommt zunehmend auch in der Entwicklung von Bau- und Agrarmaschinen sowie in der Fabrikautomation zum Einsatz. Die Entwicklung der Software begann im Rahmen des Forschungsprojektes „Systematischer Steuergerätetest“ und legte den Grundstein für die Ausgründung der tracetronic GmbH aus der Technischen Universität Dresden.
ecu.test dient der Spezifikation, Implementierung, Dokumentation, Ausführung und Auswertung von Testfällen. Durch verschiedene Methoden der Testautomatisierung gewährleistet das Werkzeug eine effiziente Durchführung aller Aktivitäten der Erstellung, Ausführung und Auswertung von Testfällen.

## Funktionsweise
### Methodik

ecu.test automatisiert die Steuerung der gesamten Testumgebung, wobei ein breites Spektrum an Testwerkzeugen unterstützt wird.
Verschiedene Abstraktionsstufen für Messgrößen erlauben die Verwendung in unterschiedlichen Teststufen, unter anderem im Rahmen von Model in the Loop, Software in the Loop und Hardware in the Loop sowie in realen Systemen (zum Beispiel im Fahrzeug).
Die Erstellung von Testfällen in ecu.test erfolgt grafisch und erfordert keine Programmierkenntnisse. Testfallbeschreibungen haben eine generische Form, erlauben zusammen mit umfangreichen Parametrierungs- und Konfigurationsoptionen einen einheitlichen Zugriff auf alle Testwerkzeuge und ermöglichen somit eine einfache Verwendung einmal erstellter Tests über mehrere Entwicklungsphasen hinweg.

### Aufbau

ecu.test ist in vier Funktionsbereiche gegliedert:
* Editor und Projektmanager
* Konfigurator
* Ablaufmaschine
* Analysator und Protokollgenerator
Zur Erstellung eines Testfalls werden im Editor eine oder ggf. mehrere Sequenz von Testschritten und deren Parametrierungen festgelegt. Testschritte umfassen das Lesen und Bewerten von Zustandsgrößen des Prüflings, das Manipulieren der Testumgebung sowie das Ausführen von Diagnosefunktionen und Kontrollstrukturen. Zur Organisation mehrerer Testfälle dient der Projektmanager.
Weitere Einstellungen für das Testobjekt und die Testumgebung können im Konfigurator getroffen werden.
Die Ausführung von Testfällen erfolgt durch eine mehrstufige Ablaufmaschine. Dabei anfallende Logging-Daten werden gesammelt und bilden die Grundlage für die Erstellung eines Testreports.
Dem Test nachgelagerte optionale Überprüfungen aufgezeichneter Größen finden im Analysator statt. Aus den Ergebnissen von Testausführung und anschließenden Überprüfungen erzeugt der Protokollgenerator einen ausführlichen Testreport, welcher interaktiv angezeigt sowie in Dateien und Datenbanken abgelegt werden kann.

## Schnittstellen

ecu.test bietet klar definierte Schnittstellen für Erweiterungen sowie zur Integration in bestehende Test- und Absicherungsprozesse. Eine große Anzahl von Testhardware und -software wird bereits standardmäßig unterstützt. Über benutzerdefinierte Testschritte, Plug-ins und Python-Skripte können weitere Werkzeuge mit geringem Aufwand angebunden werden. Über eine spezielle Client-Server-Architektur sind Softwarewerkzeuge mehrerer Prüfstandsrechner in verteilten Testumgebungen ansprechbar. Über eine COM-Schnittstelle können weitere Werkzeuge, beispielsweise für Test- und Anforderungsmanagement, zur Versionsverwaltung und zur Testfallgenerierung integriert werden.
ecu.test unterstützt die folgende Hard- und Software und basiert auf folgenden Standards:

### Unterstützte Hard- und Software

* A&D: iTest
* ASAM: ACI
* ASAM: iLinkRT
* ASAM: XiL
* ASAP: STEP
* ATI: VISION
* AVL: LYNX
* AVL: PUMA
* Basler: pylon
* Beckhoff: TwinCAT
* CARLA Team: CARLA
* Digiteq: FrameGrabber 4 MultiBox
* Digiteq: MGB
* dSPACE: AURELION
* dSPACE: ControlDesk
* dSPACE: ModelDesk
* dSPACE: MotionDesk
* dSPACE: RTMaps
* dSPACE: XIL API
* Dyna4 R8
* EA: UTA12
* EMVA: GenICam
* ESI: SimulationX
* ETAS: BOA
* ETAS: COSYM SIL
* ETAS: INCA
* ETAS: LABCAR-PINCONTROL
* FEP
* FEP3
* FEV: Morphée
* froglogic: Squish
* Google: ADB
* Göpel: Video Dragon
* HORIBA FuelCon: TestWork
* HMS: ACT – Restbussimulation
* HMS: Legacy Bus Interfaces (VCI V2)
* HMS: VCI V4
* IDS: uEye
* IPG: CarMaker
* JS Foundation: Appium
* KS Engineers: Tornado
* Lauterbach: TRACE32
* MAGNA: BluePiraT
* Mathworks: MATLAB/Simulink
* Mechanical Simulation Corporation: CarSim
* MicroNova: NovaCarts
* Modelica Association: FMI
* National Instruments: LabVIEW
* National Instruments: VeriStand
* National Instruments: VISA
* OPAL-RT: RT-LAB
* PEAK: PCAN
* PLS: UDE
* QUANCOM: QLIB
* RA Consulting: DiagRA D
* ROS: ROS2
* SAE: PassThru
* Scienlab: Charging Discovery System
* Scienlab: Energy Storage Discover
* SCF: Selenium
* Softing: Diagnostic Tool Set
* Softing: EDIABAS
* Speedgoat: Simulink Real-Time XIL
* Synopsys: Silver
* Synopsys: Silver XIL
* Synopsys: Virtualizer
* Technica: BTS
* Technica: Capture Module
* The GNU Project: GDB
* tracetronic: Ethernet
* tracetronic: Multimedia
* tracetronic: RemoteCommand
* tracetronic: Serial interface
* tracetronic: SocketCAN
* tracetronic: SSH MultiConnect
* TOSUN: libTSCAN API
* TTTech: TTXConnexion
* Typhoon HIL: Typhoon HIL Control Center
* Vector: CANalyzer
* Vector: CANape
* Vector: CANoe
* Vector: DYNA4
* Vector: SIL Kit
* Vector: XL API
* VehInfo: LABCAR
* ViGEM: Car Communication Analyzer
* Vires: Virtual Test Drive
* VW: ODIS
* X2E: Xoraya

### Test Management Tools

* IBM Engineering Test Management – ETM (ehemals RQM)
* Jama connect
* OpenText ALM/Quality Center (ehemals HP Quality Center)
* OpenText ALM Octane
* PTC Codebeamer
* PTC Windchill (ehemals Integrity)
* Siemens Polarion ALM

### Source Code Management Tools

* Apache Subversion
* Git

### Systemanforderungen

* Betriebssystem für Windows 10 oder 11, 64 bit
* Betriebssystem für Testausführungen unter Linux: Ubuntu Linux 20.04, 22.04, oder 24.04 LTS AMD64
* Freie Festplattenkapazität: mindestens 8 GB
* Arbeitsspeicher: mindestens 16 GB, Empfehlung 32 GB
* Bildschirmauflösung: mindestens 1920× 1080 Pixel