Start virtual

Feedback right from the beginning

Additional test methods need to be established in times when vehicles are defined more and more by software and the variety of functions is increasing significantly. Because software errors that are detected only during the test phase on physical prototypes cost a lot of time, money and cause frustration. Then the question often arises: Couldn't the errors have been detected and rectified earlier?

We say yes. In many cases, the test activities can be carried out in virtual test environments. At the software and model level even right from the beginning, and for every change made by the function developers. For this purpose, several scenario-based test cases are developed, which are executed automatically using scalable infrastructure with the aim of bringing new vehicle functions quickly to the market.

Show content

Continuous Testing in the Cloud

With the constantly growing number of software-controlled functions in the vehicle, the test process required is also changing. Virtual environments are being used more and more when developing functions for control units, because this is the only way to test the vehicle functions which are becoming increasingly complex having a large number of variants and fast feedback. It is also becoming ever more important to integrate the wide range of test scenarios into the development process at an early stage. This is the only way to minimize the error rate in real production environments. This increases the requirements for testing tools and test designers at the same time. ...

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
Show content

Co-simulation as integration platform

Modern vehicles are based on technologies that make driving a pleasant and especially safe experience in the digital age. For this purpose, vehicle functions are being developed that not only affect the vehicle itself, but also involve a lot of interaction with its environment. These highly complex and interconnected functions require validation through testing at an early stage of development in order to meet the specified requirements. However, conventional methods can no longer guarantee the necessary scope of testing in the existing development models. With the help of simulations, the diverse test process can be sped up significantly in comparison to manual physical testing, it can easily be parallelized, and the reproducibility of test scenarios can be ensured. This also eliminates the need to perform the tests with a finished product. ...
Therefore, it makes sense to rely on co-simulations during the function development stage itself. In co-simulations, different partial simulations are joined and combined for an overall simulation. For us in particular, this means virtualizing the vehicle environment to various levels of detail and connecting it to the test object. Vehicle functions can then be tested within many realistic scenarios. The virtualized functions can be modeled in the most suitable software tools depending on the use case and then combined. Depending on the level of detail of these models, a very wide range of tests can be covered.

But what to do if the individual models are not actually designed to communicate with each other? Then a co-simulation platform is the right choice. Because it can do just that – connect the individual subsystems (test object, test environment simulations). The simulation results from the different modeling tools (MATLAB/Simulink, CarMaker, Silver, VEOS etc.) and viewers are exchanged using a standardized communication protocol. The co-simulation platform sets the right pace so that all simulations can work together with a common understanding over the current time. The simulations themselves can be run on different machines (Linux, Windows, Cloud) depending on the infrastructure required.

The advantage of this approach is that the encapsulated subsystems can be specifically interchanged depending on the test case and loosely connected again. This creates a co-simulation system that can be scaled and operated dynamically.

We apply our expertise at various levels of the overall system – in software development, system design and testing. In this way, we construct complete co-simulation systems for our customers, put them into operation, and also provide support in ongoing integration.
We can help even with the initial decisions on the appropriate system architecture and develop precisely coordinated interfaces for the relevant modeling tools of the customer-specific platforms. With ECU-TEST, we also integrate a modern tool for test automation and perform automated tests of the special co-simulation networks. In this way, the smooth interaction of the individual components can be coordinated and ensured.

We identify existing synergies between these individual areas and feed the knowledge gained back into the development process in an agile manner. Strictly speaking, we continuously fine-tune the overall system to improve it step by step.
Key figures
  • Distribution over 3 locations
  • Lines of code: too many all
  • Regular web meetings per week: at least 8
  • Favorite Buzzwords: virtual testing, co-simulation
  • 4 SystemService
  • 2 Integrators
  • 5 Software developers
  • 1 for all
  • 1 OKR master