Autonomous Real-time Testing
Software testing is becoming increasingly important because more and more products are software-intensive. Cars, for example, contain more and more control software (ECUs) that are networked with each other. With new rail vehicles, software problems delay commissioning by months, even years, because the different components are not coordinated with each other. A timely system test would help, but there is a lack of time and resources. The functionality of the software is simply too great. So, you must automate.
Automation is not only necessary for the execution of tests, but above all for the generation of suitable test cases. This is possible with Combinatory Logic, the Analytic Hierarchy Process (AHP), and Quality Function Deployment (QFD).
When today’s cars use map services from the cloud, or their own sensors, for an Advanced Driving Assistance System (ADAS) to perform driving decisions; or when in the future an autonomous car meets another; or with truck platooning; or when adding a new, previously unknown device to an IoT orchestra, the original base system expands its functionality. Therefore, such an expanding system needs being retested before it can do decisions with the potential of affecting harm to humans or things, after each update, after each learning. This is Continuous Testing during operation; it supplements Continuous Delivery and Continuous Integration.
Disruptive innovations in automotive require an equally disruptive new approach to testing of software-intense systems. This requires moving from one-upon-a-time testing before release to autonomous real-time software & systems testing during operations, with indications to users and suppliers about the actual state and testing results.
This presentation explains the theory and explains the implementation approach for a framework for Autonomous Real-time Testing (ART) of a software-intense system while in operation.