Due to the rapidly increasing software share in modern vehicles, development processes and methods have to be adapted to the new overall conditions in order to be able to validate and release the functions under development. Software in the automotive context is developed more and more in agile cycles to speed up the process and minimize errors. Every two weeks (sprints), a new software version with a higher maturity level as well as verified and validated functionality is created. For this reason, developers require a regular and continuous feedback on new software versions in the shortest possible time. The parts of the algorithm that work correctly and those which need modifications have to be apparent immediately. To be able to keep the required effort at a financially acceptable level, a development environment that enables continuous integration (CI), continuous testing (CT) and continuous deployment (CD) is required.
When all developers work simultaneously and upload the newly developed software version into the source code management system, a fully automated CI/CT/CD process chain is subsequently triggered. The new software unit is compiled, more specifically, modifications to the source code for example are integrated into the existing software unit (CI). Afterwards, unit tests are performed and, if successful, integrated and tested in the full vehicle simulation environment CarMaker (CT). Finally, the compiled software unit is made available for other tests (CD).
In parallel to the algorithm programming carried out by the developer, a tester defines suitable scenarios and transforms them into virtual CarMaker test scenarios. The test requirements are defined by various information such as developer input, customer requirements, NCAP and ECE standards, etc. and are managed in a requirements management system. Oftentimes, the permutation of test scenarios (e.g. 50) allows to generate a high number of different test cases (e.g. >50 000) in an automated manner. Therefore, the test coverage is significantly increased with minimum effort.
The full vehicle simulation environment based on the CarMaker Core licenses runs the previously defined test catalog in a parallel and automated way in the cloud and generates a report. It combines the simulation results with the information from the requirements management system and the necessary test scenarios. This enables users to get prompt feedback on newly developed functions.
The described procedure uses standard instruments and processes of software development and applies them to automotive development. The open integration and test platform CarMaker provides the necessary test framework and lays the foundation for the application of the described development environment.