We have defined the following goals for ourselves in order to make the test process when developing automotive software (e.g. with MATLAB/Simulink) as easy as possible:
1. We enable function developers to create and execute tests themselves in a easy manner. 2. We develop generic tests for our customers to automatically detect undesired effects of changes. 3. We are establishing Continuous Testing in the Cloud.
We support function developers in creating simple test cases at model level by providing a special graphical user interface (GUI) for MATLAB/Simulink. This allows test cases for individual components (unit tests) to be created and executed by the user himself based on predefined templates. These tests mainly cover the functional requirements. If they are repeated for every change and any resulting errors are rectified immediately, they contribute significantly to ensuring proper functioning.
We develop customer-specific solutions for creating and continuous execution of generic test cases. This approach can be applied automatically to many different test objects and is particularly useful, for example, where test objects are not sufficiently tested by manually created tests or where a higher structure-related test coverage is desired. The stimulation of the input signals is generated automatically – always adjusted for the respective test object. Questions like "Are the changes in the signal response desired? Are there any unintended cross-effects?" are fundamental here. The aim is to identify undesirable effects of changes on existing behavior in individual variants. The advantage here is that virtual MiL tests are independent of hardware configurations. This allows the use of uniformly configured test environments. This way, a wide range of models and variants can be covered just by varying the parameters. If it can be ensured that these tests have already been passed before integration, then this forms the basis for high quality of software.
To ensure that testing is not perceived as a burden but as a support, these tests are automatically executed in the background after every model change or with every new test case specification. This Continuous Testing approach, which is well known from "conventional" software development, can also be transferred to development in the automotive sector by virtualizing the tests. We develop a suitable automation solution within the specific IT landscape of our customer. For this purpose, a Jenkins server is also used to coordinate the execution of the test. The actual execution of the tests takes place in a cloud infrastructure. The Jenkins server distributes the test jobs to the free resources in the Cloud. Since the resources are provided here by the cloud operator, the computing power for the virtual tests can be scaled almost arbitrarily at short notice according to the actual demand. This solution eliminates the need to provide, set up and maintain physical computers or virtual machines individually. Instead, there is a central copy that forms the basis for all cloud instances.
The test results are managed centrally in TEST-GUIDE and displayed in different views. Using individual notification settings, every user can configure whether and in which cases an e-mail is desired.
- 4 Software developers
- 1 Teammaster
- 1 OKR-Master
- Location: Dresden