Using the SCADE Toolchain to Generate Requirements-Based Test Cases for an Adaptive Cruise Control System
Adina Aniculăesei, Andreas Vorwald, Andreas Rausch · 2019
In the last years, model-driven engineering has gained a lot of traction, especially in industrial domains, such as automotive or avionics. Various tools which support model-driven engineering, e.g. SCADE or MATLAB/Simulink, have developed over the years in fully fledged integrated development environments, with strong capabilities for the modeling of complex software systems. Model-driven engineering tools are mature enough so that the model created with them are amenable to formal analysis for the purpose of verification and validation. Acceptance testing is a validation method by which a system is tested extensively against legal and customer requirements, before it is allowed in series production. Due to the inherent complexity of automotive systems, large requirements catalogues have become usual in this domain. Checking that a complex automotive software system conforms to an extensive requirements catalogue is a task which cannot be managed manually anymore. In this paper, we design a workflow for test engineers to construct test cases from formalized requirements and examine the quality of tests via mutant testing within the SCADE toolchain. We construct an academic case study based on a prototypical adaptive cruise control system and evaluate our workflow on it. We report on results and lessons learned.