Ensuring the quality of embedded systems is a critical task, because bugs discovered by the customer cost a lot - in terms of effort to fix it and in terms of reputation for the company. But from a developer's point of view, it is difficult to judge when there was enough testing done and on which parts of the overall system the tests should be focused. In purely software-based applications, often test coverage metrics provide the answer to that. But for embedded real-time systems, it is much more difficult to get that data. Some parts of these systems can be isolated, unit-tested and provide that data. But to fully check whether an embedded systems works properly, it also must be tested live in operation and there it is much more difficult to get test coverage data, because the system might reboot between the test cases and because different components might take part in the test.
In this thesis we want to find out how the effort for embedded system tests can be perfectly targeted. For that, we want to have test coverage data for all our tests - on a unit-test level as well as on a system-test level. The thesis shall contain: