Patent ID: 11971808
Assignee: SIEMENS AKTIENGESELLSCHAFT
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 0:
1. A computer-implemented method for automated verification of a software program in a behavior-driven development environment, the method comprising:
receiving, with a data processing system, test scenarios, each test scenario defining an expected behavior of the software program in consecutive test steps, which are formulated in a domain-specific language using natural language phrases and which describe a desired outcome of the software program for predefined events based on given initial conditions;
importing test step definitions from the behavior-driven development environment;
determining for each test step of the test scenarios if the test step matches with one of the test step definitions on basis of the natural language phrases of the test step;
assigning all matched test steps to the corresponding test step definitions;
applying natural language processing (NLP) on the natural language phrases of any test steps remaining unmatched, wherein the NLP provides a confidence level for each unmatched test step to correspond to one of the test step definitions;
assigning any unmatched test step to the corresponding test step definition when the confidence level surpasses a first predefined matching probability;
generating graphical test models for the test scenarios on a basis of the assigned test step definitions; and
updating a repository of test step definitions each time the confidence level is above the first predefined matching probability on a basis of the natural word phrases of the respective test step, and adding a test step definition to the repository of the behavior-driven development environment corresponding to the respective test step each time when the confidence level is below a second predefined matching probability, wherein, as a function of the updating and the adding, the respective test step of a future test scenario is matched directly with the corresponding test step definition stored in the repository without a use of the NLP.