Knowledge Base
Hardware in the Loop for Everybody
Most embedded systems are tested too late or insufficiently. The fact is: the later errors are discovered, the more expensive they are to fix – the costs increase exponentially as the project progresses. In the extreme case of a recall for products that have already been delivered, this can lead to costs in the millions. The goal must therefore be to test much earlier – ideally already through hardware in the loop tests during implementation.

Why is it difficult to test embedded systems?
There are many reasons why embedded systems are so difficult to test: Unlike "normal" desktop software, embedded systems interface with physical systems, not just other software systems. The software that controls these systems is highly concurrent and stateful. It is usually difficult to test such systems with the usual test methods, such as sequential unit tests.
Simulation-based software in the loop (SIL) or hardware in the loop (HIL) tests are generally well suited for such tests. However, the common hardware platforms and software tools are often too expensive to be used at every workstation during development. In addition, different method and tool knowledge is required for the development of the tests than for the development of the application. In most cases, these methods are therefore only used much later in the test department.
The developer can thus hardly test in a structured way, so that the resulting embedded systems are often not tested during development, but rather "tried out".
How can you already test hardware in the loop during development?
In order to still be able to test during development, the following requirements should be met:
- The developer should already know the methods and tools, or be able to learn them quickly.
- Hardware platforms and software tools must be favorable, if they are to be used at each place of work
- Methods and tools should support the development of tests for embedded systems at different levels (component, integration and system tests)

The open source modeling tool Eclipse eTrice enables the construction of a cost-effective yet powerful test platform: Components for stimulation, monitoring and simulation can be developed and generated in the model. With the eTrice add-on PROTOS-CaGe, components can be described and fully generated with test cases for the system. The combinatorial test case generation allows a very fast development of test cases with high coverage.
All components together form a portable, real-time "test harness" for the application. This can be executed as a SIL test (e.g. on the development computer) or as a HIL test on low-cost hardware (e.g. PROTOS miniHIL). The fully automated execution of the tests is handled by a Jenkins Continuous Integration Server (also open source).
Test First for Embedded Systems!
The selected combination of standard hardware and mostly freely available open source tools allows a model-driven software-in-the-loop or hardware-in-the-loop test solution to be set up. This enables automated testing of embedded systems with high coverage already during application development.
Do you have any questions? Want to discuss Hardware in the Loop for Everybody with us?