Method and system for the automated specification of test cases for testing software functions of an ECU
By training an AI model with comprehensive data related to control unit software functions, the method automates the generation of test cases, addressing the resource-intensive and subjective challenges of manual specification, and achieving improved reliability and efficiency in software testing.
Patent Information
- Application Number
- DE102023134540
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-11
- Publication Date
- 2025-06-12
AI Technical Summary
The specification of test cases for software functions of control units is resource-intensive, time-consuming, and costly, and is prone to subjective interpretations leading to incomplete or erroneous implementations, posing a quality risk.
An AI model is trained with data including software documentation, load records, and sensor measurements to automatically generate test cases with adapted specifications, allowing for continuous optimization through self-learning and improved verification and validation of software functions.
The method significantly reduces time and costs associated with manual test case specification, enhances the reliability and accuracy of test results, and improves the software development process by facilitating the generation of high-quality test cases.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
The invention relates to a method, a system and a computer program product for the automated specification of test cases for testing software functions of a control unit.Controller software functions relate to specific tasks and operations performed by the embedded software in an electronic control unit (ECU). Each controller is responsible for controlling and monitoring a particular part or system, or multiple parts or systems, in a vehicle or industrial application.The specification of test cases for testing the software functions of a control device is based on the associated requirement documentation and is an important part of the software test process, which typically comprises a plurality of steps:Instruction Documentation Understanding: This is to thoroughly understand the instruction documentation defining the functional and non-functional requests to the software. This may be a specification, a cargo book or other documents provided by postholders such as developers.identifying the test targets: Clear and unique targets for the software tests are defined based on the request documentation. This includes the identification of the main functions to be tested as well as the relevant scenarios and edge cases.Test case design: Test cases must be designed for each identified function or request. A test case is a detailed description of the steps that must be performed to verify a particular request or functionality.Definition of test data: Test data is the inputs needed to execute the test cases. This data should be selected to cover the various aspects of the software functions to ensure that the software responds properly in various situations.Preparation of the test environment: The test environment, including hardware and software, must be configured according to the test cases. This can include the establishment of simulations or emulators, the configuration of the controller and the provision of the required resources.Test Execution: The defined test cases are executed in the prepared environment. The steps defined in the test case are carried out and the results are recorded in order to be able to compare the actual results with the expected results.Fault documentation: If deviations occur between the actual and the expected results during the test execution, these are reported and documented as faults.Evaluation of the test results: The collected test results are evaluated to determine whether the software meets the requirements to be validated or whether further iterations of the development process are required. The results are generally summarized in reports that are distributed to the postholders, such as in particular the project participants.The specification of test cases is thus a decisive step in software development in order to ensure that the software of a control unit meets the specified requirements and works reliably. It enables systematic verification and validation of the software before it is put into real use.In this case, the test case design, i.e. the process of specifying test cases for testing the software functions of a control unit on the basis of the associated requirement documentation, is resource-intensive and therefore time-consuming and costly. Moreover, subjective interpretations of individual requirements can occur, which in turn have an influence on the test case design. As a result, test cases can be generated which only lead to incomplete or erroneous implementation of the requirements, which represents a quality risk. In addition, the generation of test case specifications for the respective test requests requires comprehensive, domain-specific knowledge about the control device and its functional relationships in the vehicle group. This includes the knowledge of the overall function of the control unit and the knowledge and consideration of all specification documents, i.e. in particular the software documentation, the networking architecture of the vehicle or of the industrial installation and the functional relationships between the control units. As a rule, only domain experts have this knowledge and it is associated with a high resource outlay to pass on this knowledge to new employees. The necessary process of information acquisition and interpretation can therefore lead to delays both in the series project environment and in the development process.Moreover, test case specifications must be written in a particular syntax or format to be interpreted and executed by test tools such as EXAM or other test frameworks. This syntax can normally be written in a programming language or test specification language designed specifically for the test specification. Programming languages include languages such as Java, Python, C#, Ruby, and others. Graphical programming, for example using sequence diagrams, can also be used.DE 10 2021 208 759 A1 discloses a machine learning algorithm which creates test specifications for the test of a control device of a motor vehicle by learning from the feedback of a user.The object on which the invention is based is now to provide possibilities for an improved automated specification of test cases for testing software functions of a control unit in order to increase the reliability, safety and accuracy of the test results with the improved test cases and thus to simplify and optimize the validation and verification of software functions.The present invention can improve the specification of test cases for testing software functions of a control unit, since the trained AI model can automatically generate a test case with adapted specifications suitable for testing a specific software function on the basis of the training data. Completely new test cases with specifications not considered up to now can also be generated. By further training the AI model with newly generated test cases, the AI model is continuously optimized by self-learning effects, so that the quality of the test cases specified for a specific verification and / or validation task increases. Overall, considerable time and cost savings can thus be achieved by the method according to the invention, since conventional specifications are carried out manually and are thus determined by subjective factors. As a result, the functional reliability and reliability of software functions can be increased.By integrating the AI model into a software development platform, the exchange between software experts can also be facilitated and the software development process can thus be accelerated and improved. The AI model of the present invention is thus a powerful tool that supplements and extends engineers' capabilities and allows them to generate test cases with extended specifications for testing software functionalities for a controller.This object is achieved according to the invention with respect to a method by the features of claim 1, with respect to a system by the features of claim 10, and with respect to a computer program product by the features of claim 15. The further claims relate to preferred embodiments of the invention.According to a first aspect, the invention provides a method for the automated specification of at least one test case for testing software functions of a control unit. The method comprises the following steps:creating a training data record, wherein the training data record comprises software documentation, load records, request documents, networking architectures and / or sensor measurement values and / or further data of at least one software function of a control unit to be tested;training an AI model with the training data set;inputting first input data for a test case specification and forwarding the first input data to the trained AI model;generating at least one test case by the AI model;inputting requests in the form of second input data for optimizing and improving the test case;performing an iteration until a target test case is reached;outputting the target test case and / or storing the target test case in a database.In a development, it is provided that the AI model is designed as a speech model and uses neural networks and / or recurrent neural networks and / or convolutional neural networks (convolutional neural networks) and / or an algorithm of reinforcement learning (reinforcement learning).In an advantageous embodiment, it is provided that the test case is written in a specific syntax in order that it can be interpreted and executed by test tools or frameworks, wherein the syntax is a programming language such as Java, Python, C#, Ruby or a test specification language specially developed for the test specification or a graphical programming.In a further embodiment, it is provided that the reinforcement learning algorithm is designed as a Markov decision method, temporal difference learning (TD learning), Q learning, SARSA, Monte Carlo simulation or Actor-Critic.In particular, at least one parameter for the test case specification is a fuel quantity, a voltage, a current intensity, a thermal resistance, an electrical resistance, an inductance, a torque, a rotational speed or a power specification.The target test case is advantageously transferred to a simulation module, wherein the simulation module comprises a software application which contains simulation tools, in particular for a hardware-in-the-loop (HIL) test stand.In one development, it is provided that the target test case is used as a further training data set for further training of the AI model.In an advantageous embodiment, an AI agent is provided which checks the test cases generated by the AI model and makes suggested improvements.In a further embodiment, it is provided that the AI agent comprises artificial intelligence algorithms such as neural networks and reinforcement learning and is also trained with the training data set in a training phase.According to a second aspect, the invention provides a system for the automated specification of at least one test case for testing software functions of a control unit. The system includes an input module, a database, a test case module with an AI model, an output module, and a simulation module. The input module is designed to create a training dataset, wherein the training dataset comprises software documentation, load specification, request documents, networking architectures and / or sensor measured values and / or further data of at least one software function of a control unit to be tested. The AI model is trainable with the training dataset. The input module is configured to input first input data for a test case specification and to forward the first input data to the trained AI model. The AI model is configured to generate at least one test case. The input module is designed to input requests in the form of second input data for optimizing and improving the test case. The output module is configured to output a target test case and / or the database is configured to store the target test case.In a development, it is provided that the AI model is designed as a speech model and uses neural networks and / or recurrent neural networks and / or convolutional neural networks (convolutional neural networks) and / or an algorithm of reinforcement learning (reinforcement learning).In an advantageous embodiment, it is provided that the test case is written in a specific syntax in order that it can be interpreted and executed by test tools or frameworks, wherein the syntax is a programming language such as Java, Python, C#, Ruby or a test specification language specially developed for the test specification or a graphical programming.In a further embodiment, it is provided that at least one parameter for the test case specification is a fuel quantity, a voltage, a current intensity, a thermal resistance, an electrical resistance, an inductance, a torque, a rotational speed or a power specification.Advantageously, the target test case is transferred to a simulation module, wherein the simulation module comprises a software application which contains simulation tools, in particular for a hardware-in-the-loop (HIL) test stand, and / or wherein the target test case is used as a further training data set for further training of the AI model.According to a third aspect, the invention provides a computer program product comprising executable program code configured to, when executed, perform the method according to the first aspect.The invention is explained in more detail below with reference to exemplary embodiments shown in the drawing.The following shows: FIG. 1 is a block diagram for explaining an embodiment of a system according to the present invention; FIG. 2 shows a flow chart for explaining the individual method steps of a method according to the invention; FIG. 3 is a block diagram of a computer program product according to an embodiment of the third aspect of the invention.Additional characteristics, aspects and advantages of the invention or its embodiments will become apparent from the detailed description in connection with the claims.The software functions of a controller relate to certain tasks and operations performed by the embedded software in an electronic control unit (ECU). Each controller is responsible for controlling and monitoring a particular part or system in a vehicle or industrial application.Therefore, the specific software functions differ depending on the type of control device and its application. Each controller has a specific task and is tailored to the requirements of the system it controls. The main task of a control device is typically to regulate and control various components or systems. Examples are engine controllers, transmission controllers, brake controllers, climate controllers, actuators, etc. In addition, controllers collect, process, and interpret data from various sensors. These sensors can measure temperatures, pressures, speeds, positions, and other physical quantities. In addition, control units can communicate with other control units or external systems via different communication interfaces. This communication may be wired or wireless and serves to exchange information or enable coordinated actions between various parts of the system. Furthermore, the software can contain functions for fault diagnosis and fault treatment in a control device. This includes monitoring sensors and actuators for deviations from normal operating parameters and triggering fault codes if problems occur. In addition, some control units may have adaptive learning functions in which the system learns from experience and adjusts its control strategies accordingly. This allows operation to be optimized over time. A further aspect is safety functions. Many control units contain functions which serve for the safety of the vehicle or of the installation. This may include control of airbags, ABS (anti-lock braking system), ESP (electronic stability program), and similar safety systems. Moreover, modern vehicles and industrial applications may include software functions that optimize energy management to reduce fuel consumption or improve electrical system efficiency.An important component of the software development process is the specification of test cases for testing the software functions of a control device on the basis of the associated requirement documentation. According to the invention, this specification is carried out automatically. For this purpose, the system 100 according to the invention illustrated in FIG. 1 comprises an input module 200, a database 300, a test case module 400 and an output module 500. In addition, a simulation module 700 may be provided.The input module 200, the database 300, the test case module 400, the output module 500 and the simulation module 700 can be designed as independent computer units or as a cloud-based solution. In particular, they can each be equipped with a processor and / or a memory unit.In the context of the invention, a "processor" can be understood to mean, for example, a machine or an electronic circuit. A processor can in particular be a main processor (or processor. Central processing unit, CPU), may be a microprocessor or a microcontroller, e.g. an application specific integrated circuit or a digital signal processor, optionally in combination with a memory unit for storing program instructions, etc. A processor may also be a virtualized processor, a virtual machine or a soft CPU. It can also be a programmable processor, for example, which is equipped with configuration steps for executing the method according to the invention mentioned above, or is configured with configuration steps in such a way that the programmable processor implements the features according to the invention of the method, the modules or other aspects and / or partial aspects of the invention. In particular, the processor may include highly parallel computing units and powerful graphics modules.In the context of the invention, a "storage unit" or a "storage module" and the like can be, for example, a volatile memory in the form of a working memory (memory. Random Access Memory, RAM) or a permanent memory such as a hard disk or a data carrier or, for example, an exchangeable memory module. The storage module may also be a cloud storage solution.In the context of the invention, a "module" can be understood to mean, for example, a processor and / or a memory unit for storing program instructions. For example, the processor is specifically configured to execute the program instructions, so that the processor and / or the control unit executes functions in order to execute or implement the method according to the invention or a step of the method according to the invention.The term "database" refers to both a storage algorithm and hardware in the form of a storage unit.In particular, the database 300 and the test case module 400 and the simulation module 700 can be integrated in a cloud computing infrastructure. A wireless communication connection is provided in particular for the communication between the modules. The wireless communication connection can be designed as a WLAN (wireless local area network), NFC (near field communication) or as a mobile radio connection (e.g. 4G LTE, 5G, 6G). However, wired communication connections can also be provided.A cloud computing infrastructure provides the possibility of expanding or reducing resources as required, so that computing power, storage space or network resources can easily be adapted to changed requirements. This scalability enables cost optimization and efficient resource allocation without high investments in hardware. In addition, users can access applications and data from any location with Internet access. This accessibility allows for collaboration and seamless integration across different devices and locations. Cloud computing also offers flexibility in software provisioning so that enterprises can quickly and without interruptions provide and update applications.In particular, cloud computing infrastructure is highly computationally efficient because cloud providers have large data centers with a huge pool of computing resources. Since the specification of test cases and the testing of software functions with the specified test cases are very computation-intensive, a high computing efficiency with minimization of the resource and energy consumption and the computing time with simultaneous maximizing of the output is an important aspect of the present invention.According to the invention, the test case module 400 comprises an AI model 450 with artificial intelligence algorithms. The AI model 450 includes neural networks, but may include other types of machine learning, such as reinforcement learning. In particular, the AI model 540 is designed as an AI speech model.A neural network consists of neurons which are arranged in a plurality of layers and are connected to one another in different ways. A neuron is capable of receiving information from the outside or from another neuron at its input, of evaluating it in a specific manner and of forwarding it to another neuron in modified form at the output of the neuron or of outputting it as a final result. Between the input neurons and the output neurons are the so-called hidden neurons. Depending on the type of network, there may be multiple layers of hidden neurons. They provide for the forwarding and processing of the information. The output neurons ultimately provide a result and pass it on to the outside world. The arrangement and interconnection of the neurons result in different types of neural networks, such as feed-forward networks, recurrent networks or convolutional neural networks (engl. Convolutional Neural Networks). The networks may be trained through unsupervised or supervised learning.An AI language model is an artificial intelligence (AI) model that has been developed to understand, generate, or interpret naturally spoken text. Such an AI model is based on advanced techniques of machine learning and speech processing. An example of such an AI language model is GPT-3 (Generative Pre-trained Transformer 3) developed by OpenAI. AI language models use machine learning to learn from large sets of text data. These language models are trained with extensive text corpora to develop broad language competence and context understanding. An AI language model typically undergoes pre-training before being deployed for particular tasks. During pre-training, the model learns the structure, grammar, semantics, and context of texts. After pre-training, AI speech models may be refined for particular tasks or domains. This allows the model to better understand certain contexts or technical languages. In particular, AI language models are designed to understand and generate natural language processing (NLP)). This includes understanding of context, recognizing meaning, and the ability to handle a variety of nuances of speech. Moreover, AI language models may be generative, i.e., they are capable of generating new text from given inputs. These models can generate complex and coherent texts that resemble natural language usage.Reinforcement learning (RL) algorithms can be used to train the AI model 450 to make the correct decisions in a particular environment. The AI model 450 learns to perform actions that maximize a reward signal over a certain period of time. By interacting with the environment, the AI model 450 tests various actions and learns from the feedback it receives in the form of rewards or punishments. The goal of the AI model 450 is to find an optimal strategy that maximizes the expected long-term gain. RL allows the AI model 450 to adapt and optimize its behavior in dynamic environments because, through the constant interaction with the environment, it is able to adapt its decision process based on the observed rewards and changes in the environment.A Markov decision method is preferably used as the reinforcement learning algorithm. However, time difference learning (TD learning) may also be provided. In the TD learning algorithm, the actions are not adjusted until the agent or the AI model receives the reward, but after each action on the basis of an estimate of the expected reward. Algorithms such as Q-learning and SARSA, Actor-Critic or Monte Carlo simulations are also conceivable, which enable dynamic programming and adaptation of the strategy by iteration methods.In a further development, the AI model 450 can also contain algorithms of deep reinforcement learning, in which reinforcement learning is combined with deep neural networks. Deep RL algorithms such as deep Q networks (DQN) or proximity policy optimization (PPO) use deep neural networks as function adaptors to handle high dimensional state and action spaces.According to the invention, the AI model 450 is trained in order to specify or generate at least one test case 470 for testing software functions of a control unit. For this purpose, the AI model 450 is provided with one or more training data sets 230 by the input module 200. The training data sets 230 may be passed directly to the input module 200 via a user interface or retrieved from the database 300. Training dataset 230 includes software documentation, software codes, load bindings, demand documents, networking architectures, and / or sensor readings. Moreover, it may contain 3D models, CAD data, digital twins, technical drawings, interface requirements of the electromechanical components and / or the mechanical components addressed by the control device. In a vehicle, training dataset 230 may also include vehicle data, measurement data of ECU functions, and other vehicle measurements.This training dataset 230 may be passed directly to the AI model 450. However, it can also be provided that the training data set 230 is further processed by a suitably configured transformation module and converted into a data format suitable for training the AI model 450. This transformation of the training dataset 230 may include the transformation of 3D models into a standardized representation, extraction of key features from technical drawings, and structured encoding of software specifications. Depending on the type of data, algorithms for feature extraction, geometric analysis or natural language processing may be used.The AI model 450 is trained with the at least one training dataset 230 to create test cases 470 with particular specifications. During training, the AI model 450 learns from the collected data of the training dataset 230 those patterns and properties which are required for the specification of test cases 470 with which optimized and improved verification and validation of software functions of a control unit is possible.Since the AI model 450 is designed in particular as a speech model, it is able to write or specify the test cases 470 or test case specifications generated in a specific syntax or a specific format, so that they can be interpreted and executed by test tools or frameworks. This syntax may be a programming language or a test specification language specially designed for the test specification. Programming languages include languages such as Java, Python, C#, Ruby, and others. Graphic programming may also be used. In particular, the generated test cases 470 can use special libraries or code frameworks in order to be able to interact with the software function of a control device to be tested. The code frameworks and libraries may include functions, modules, and predefined structures that are often needed in various types of applications. Here, the specific syntax and available commands or functions depend on the test tool or framework in which the test cases 470 are to be used. Therefore, it is important to train the AI model 450 so that it can develop test cases 470 in a syntax suitable for the particular test tool or framework.The trained AI model 450 is now used according to the invention to generate at least one new test case 490 on the basis of user-specific requirements or boundary conditions. The user-specific requests are input as first input data 250 via the input module 200. The input module 200 may be integrated in a computer, tablet, smartphone, etc., and has a user interface such as a touch screen, a keyboard, a camera, or a microphone.The first inputs 250 may be portions of software code, text messages, images, 3D data, digital twins, CAD data, interface requests, graphics, charts, video sequences, holograms, mathematical formulas, power point presentations describing the type of software function to be tested.The first input data 250 is passed to the test case module 400 and may additionally be transformed into a data format suitable for processing by the AI model 450. The AI model 450 then generates from this first input data 250 a new test case 490 with a user-specific specification. This new test case 490 based on the first input data 250 is written in the same syntax as the trained test cases 470. The correct syntax for the test cases 490 is decisive in order to efficiently and effectively carry out the automation according to the invention of the test case specification for a specific application and in order to ensure that the generated test cases 490 can be used to carry out correct verification and validation of the respective software function of the control unit.The test case 490 is output by the output module as output data 590. It can also be provided that the output module 500 comprises a software application 550 in order to further process the test case 490, so that it can be displayed, for example, in the form of a report. In particular, it may be provided that the input module 200 and the output module 500 are integrated in the same hardware device, such as a computer, a tablet, a smartphone, etc.A user can now input changes and further requests in the form of second input data 270 for the specified test case 490 via the input module 200 in order to iteratively improve the latter until a specified target test case 495 is reached. In particular, it is provided that the AI model 450 has optimization algorithms such as genetic algorithms, particle swarm optimization or Bayes optimization for improving existing test cases 490 in order to propose further specifications or to optimize parameters.In a software function for a braking system, the second input data 270 for optimizing a test case 490 could contain, for example, the following specifications: a) Choose for the parameter "temperature" a value in the range between 45 C° and 70 C°. b) Set the parameter "pressure" to a value of 1.5 MPa.For control units for other systems, a parameter can be, for example, a fuel quantity, a voltage, a current intensity, a thermal resistance, an electrical resistance, an inductance, a torque, a rotational speed or a power specification.Within the scope of the invention, it can also be provided to verify and validate the respective software function with the test cases 490 generated within the scope of a simulation. For this purpose, the specified test case 490 is transferred to the simulation module 700. The simulation module 700 comprises a software application 750, which in particular enables a test of the software function within the scope of a hardware-in-the-loop (HIL) test bench.The basic functional principle of an HIL test stand consists in the fact that the control unit (ECU) of the system to be tested is integrated into the test stand.This control device is then connected to a plurality of real or also simulated sensors and actuators, which form the interface to the real world. The signals of these sensors are transmitted to the control unit in real time, and the output signals generated by the control unit (e.g. control signals for motors or actuators) are interpreted by the actuators. The decisive factor in an HIL test stand is that the control device does not operate against the real physical system, but rather against a highly accurate simulation of this system. This simulation can be a model calculation based on mathematical models of the real system. Since the simulation simulates realistic conditions, the controller can be tested in a safe and controlled environment without requiring the real physical system. This is particularly useful for testing the controller for errors or unexpected responses before it is integrated into the real vehicle or application.The simulation and evaluation results may in turn be output via the output module 500 as output data 590. These simulation and evaluation results and the test case 490 can also be transmitted into the database 300 in order to be available to the AI model 450 as further training data sets 235 and thus contribute to improving the AI model 450. In this way, the AI model 450 can be successively improved, so that the generated test cases 490 conform more and more to the required specifications and standards.Moreover, it can be provided to integrate the AI model 450 into existing software development platforms, so that users interact with the AI model 450 via a suitable user interface and the test cases 490 generated by it can be used by a plurality of users.In a further embodiment, it can be provided that the input module 200 comprises an AI agent 290, which checks the test cases 490 generated by the AI model 450 and makes suggested improvements. The AI agent 290 also comprises artificial intelligence algorithms such as neural networks and reinforcement learning and is also trained with the training dataset 230 in a training phase.FIG. 2 shows the method steps for the automated specification of at least one test case 490 for testing software functions of a control unit.In a step S 10, a training data set 230 is created, wherein the training data set 230 comprises software documentation, load brackets, request documents, networking architectures and / or sensor measured values and / or further data of at least one software function of a control unit to be tested.In a step S 20, an AI model 450 is trained with the training data set 230.In a step S 30, first input data 250 for a test case specification is input and the first input data 250 is forwarded to the trained AI model 450.In a step S 40, at least one test case 490 is generated by the AI model 450.In a step S50, requests are input in the form of second input data 270 for optimizing and improving the test case 490.In a step S 60, method steps S 40 and S 50 are repeated in one iteration until a target test case 495 is reached.In a step S 70, the target test case 495 is output and / or the target test case 495 is stored in a database 300.FIG. 3 schematically illustrates a computer program product 900 comprising executable program code 950 configured to perform the method according to the first aspect of the present invention when executed.The present invention can improve the specification of test cases for testing software functions of a control unit, since the trained AI model can automatically generate a test case with adapted specifications suitable for testing a specific software function on the basis of the training data. Completely new test cases with specifications not considered up to now can also be generated. By further training the AI model with newly generated test cases, the AI model is continuously optimized by self-learning effects, so that the quality of the test cases specified for a specific verification and / or validation task increases. Overall, considerable time and cost savings can thus be achieved by the method according to the invention, since conventional specifications are carried out manually and are thus determined by subjective factors. This can increase the safety and reliability of software functions.Moreover, by integrating the AI model into a software development platform, the software development process can be accelerated and improved. The AI model of the present invention is thus a powerful tool that supplements and extends the capabilities of engineers and allows them to generate test cases with improved specifications for testing software functionalities for a controller.Reference numerals denote reference numerals100 System 200 Input module 230 Training data set 235 New training data set 250 First input data 270 Second input data 290 AI agent 300 Database 400 Test case module 450 AI model 470 Trained test case 490 Test case 495 Target test case 500 Output module 550 Software application 590 Output data 700 Simulation module 750 Software application 900 Computer program product 950 Program codeReferences included in the specificationThis list of documents cited by the applicant has been produced in an automated manner and is only included for the better information of the reader. The list is not part of the German patent application or utility model application. The DPMA does not take any adhesion for any faults or omissions.Patent Literature citedDE 10 2021 208 759 A1
[0007]
Claims
Method for the automated specification of at least one test case (490) for testing software functions of a control device, having the following steps - creating (S10) a training dataset (230), wherein the training dataset (230) comprises software documentation, load specification, requirement documents, networking architectures and / or sensor measurement values and / or further data of at least one software function of a control device to be tested; - training (S20) an AI model (450) with the training dataset (230); - inputting (S30) first input data (250) for a test case specification and forwarding the first input data (250) to the trained AI model (450); - generating (S40) at least one test case (490) by the AI model (450); inputting (S50) requests in the form of second input data (270) for optimizing and improving the test case (490); repeating (S60) the method steps (S40) and (S50) in an iteration until a target test case (495) is reached; outputting (S70) the target test case (495) and / or storing the target test case (495) in a database (300).The method of claim 1, wherein the AI model (450) is configured as a speech model and uses neural networks and / or recurrent neural networks and / or convolutional neural networks (Convolutional Neural Networks) and / or a reinforcement learning (Reinforcement Learning) algorithm.The method of claim 1 or 2, wherein the test case (490) is written in a particular syntax to be interpreted and executed by test tools or frameworks, and wherein the syntax is a programming language such as Java, Python, C#, Ruby, or a test specification language specifically designed for the test specification, or graphical programming.The method of claim 2, wherein the reinforcement learning algorithm is configured as a Markov decision method, time difference learning (TD learning), Q-learning, SARSA, Monte Carlo simulation or Actor-Critic.The method according to any one of claims 1 to 4, wherein at least one parameter for the test case specification is a fuel quantity, a voltage, a current intensity, a thermal resistance, an electrical resistance, an inductance, a torque, a rotational speed or a power indication.Method according to one of Claims 1 to 5, wherein the target test case (495) is passed to a simulation module (700), wherein the simulation module (700) comprises a software application (750) which contains simulation tools, in particular for a hardware-in-the-loop (HIL) test bench.The method of any one of claims 1 to 6, wherein the target test case (495) is used as another training dataset (235) for further training of the AI model (450).Method according to one of Claims 1 to 7, wherein an AI agent (290) is provided which checks the test cases (490) generated by the AI model (450) and makes suggested improvements.The method of claim 8, wherein the AI agent (290) comprises artificial intelligence algorithms such as neural networks and reinforcement learning and is also trained with the training dataset (230) in a training phase.System (100) for the automated specification of at least one test case (490) for testing software functions of a control device, having an input module (200), a database (300), a test case module (400) having an AI model (450), an output module (500) and a simulation module (700), wherein the input module (200) is designed to generate a training dataset (230), wherein the training dataset (230) comprises software documentation, load specification, requirement documents, networking architectures and / or sensor measurement values and / or further data of at least one software function of a control device to be tested; wherein the AI model (450) can be trained with the training dataset (230); wherein the input module (200) is configured to input first input data (250) for a test case specification and forward the first input data (250) to the trained AI model (450); wherein the AI model (450) is configured to generate at least one test case (490); wherein the input module (200) is configured to input requests in the form of second input data (270) for optimizing and improving the test case (490); and wherein the output module (500) is configured to output a target test case (495) and / or the database (300) is configured to store the target test case (495).The system (100) of claim 10, wherein the AI model (450) is configured as a speech model and uses neural networks and / or recurrent neural networks and / or convolutional neural networks (convolutional neural networks) and / or a reinforcement learning (reinforcement learning) algorithm.The system (100) of claim 10 or 11, wherein the test case (490) is written in a particular syntax to be interpreted and executed by test tools or frameworks, and wherein the syntax is a programming language such as Java, Python, C#, Ruby, or a test specification language specifically designed for the test specification, or graphical programming.The system (100) of any of claims 10 to 12, wherein at least one parameter for the test case specification is a fuel quantity, a voltage, a current, a thermal resistance, an electrical resistance, an inductance, a torque, a rotational speed, or a power indication.The system (100) according to any one of claims 10 to 13, wherein the target test case (495) is passed to a simulation module (700), wherein the simulation module (700) comprises a software application (750) containing simulation tools, in particular for a hardware in the loop (HIL) test bench, and / or wherein the target test case (495) is used as a further training data set (235) for further training of the AI model (450).A computer program product (900) comprising executable program code (950) configured to, when executed, perform the method of any one of claims 1 to 9.
Citation Information
Patent Citations
System for performing a XiL-based simulation
DE102020210600A1
Method for training a machine learning algorithm to generate test specifications for testing a software-based system
DE102021208759A1
Cited By
Industrial controller automatic test system and method based on artificial intelligence
CN121300335A