# Ecu.test

ecu.test (known as ECU-TEST until December 2023) is a software tool developed by tracetronic GmbH, based in Dresden, Germany, for test and validation of embedded systems. Since the first release of ecu.test in 2003, the software is used as standard tool in the development of automotive ECUs and increasingly in the development of heavy machinery as well as in factory automation. The development of the software started within a research project on systematic testing of control units and laid the foundation for the spin-off of tracetronic GmbH from TU Dresden. ecu.test aims at the specification, implementation, documentation, execution and assessment of test cases. Owing to various test automation methods, the tool ensures an efficient implementation of all necessary activities for the creation, execution and assessment of test cases.

## Functionality
### Methodology

ecu.test automates the control of the whole test environment and supports a broad range of test tools. Various abstraction layers for measured quantities allow its application on different testing levels, e.g. within the context of model in the loop, software in the loop and hardware in the loop as well as in real systems (vehicle and driver in the loop). Creating test cases using ecu.test is conducted graphically and does not require programming skills. Test-case descriptions have a generic form, which together with extensive parameterization and configuration options, allows uniform access to all test tools and thereby simplifies re-use of existing tests over multiple development phases.

### Structure

ecu.test is organized in four parts:
* Editor and Project manager
* Configurator
* Test engine
* Analyzer and Protocol generator
In order to create a test case, one or more sequences of test steps and their parameterizations are specified using the editor. Test steps comprise reading and evaluating measured quantities of the test object, manipulating the test environment as well as the execution of diagnostic functions and control structures. Multiple test cases can be organized using the project manager. Additional settings for test object and test environment can be made using the configurator. The execution of test cases is performed using a multi-stage test engine. The generated log data serve as the basis for the creation of test reports. Subsequent to the test execution, optional checks of recorded measured quantities are performed in the analyzer. From the results of test-execution and subsequent checks, the protocol generator produces a detailed test report, which is displayed interactively and can be archived in files and data bases.

## Interfaces

ecu.test provided clear interfaces for extensions and for the integration in existing test and validation processes. A large amount of test hardware and software is supported by default. Using user-defined test steps, plug-ins and Python scripts, additional tools can be integrated with little effort. Via a specific client-server-architecture, software tools of multiple test-bench computers in distributed test environments can be addressed. Using a COM interface, further tools, e.g. for requirements management, revision control and model-based testing can be integrated. ecu.test supports the following hardware and software tools and is based on the following standards:

### Supported hardware and 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
* Digitalwerk: ADTF
* Digiteq: FrameGrabber 4 MultiBox
* Digiteq: MGB
* dSPACE: AURELION
* dSPACE: ControlDesk
* dSPACE: ModelDesk
* dSPACE: MotionDesk
* dSPACE: RTMaps
* dSPACE: XIL API
* 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 - Residual bus simulation
* 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 (acquired by Applied Intuition): 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
* SFC: Selenium
* Softing: Diagnostic Tool Set
* Softing: EDIABAS
* Speedgoat: Simulink Real-Time XIL
* Synopsys: Silver
* Synopsys: SilverXIL
* 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
* ViGEM: Car Communication Analyzer
* Vires: Virtual Test Drive
* VW: ODIS
* X2E: Xoraya

### Test management tools

* IBM Engineering Test Management - ETM (former RQM)
* Jama connect
* OpenText ALM/Quality Center (former HP Quality Center)
* OpenText ALM Octane
* PTC Codebeamer
* PTC Windchill (former Integrity)
* SIEMENS Polarion ALM

### Source code management tools

* Apache Subversion
* Git

### System requirements

* OS: Windows 10 or 11, 64 bit
* OS for test execution under Linux: Ubuntu Linux 20.04, 22.04 or 24.04 LTS AMD64
* Free hard disk capacity: at least 3 GB
* RAM: at least 16 GB, recommended 32 GB
* Screen resolution: at least Full HD (1920 x 1080)