{'fraction_non_alphanumeric': 0.017130620985010708, 'fraction_numerical': 0.0, 'mean_word_length': 5.017167381974249, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Combining Structural and Functional Test Case Generation

Model-based testing uses a test model which defines in general an infinite set of correct system runs. The task for the test case generator is to select an ”interesting” subset of all the traces. The way this subset is chosen is defined by the test case specification. Two types are widely used: structural or functional test case specifications. The first is given in terms over the model elements, the later is derived from the underlying system requirements. Whereas structural criteria are easily applicable to any model and support fully automation, functional specifications need more manual definition but are closer to the users’ requirements. In this paper we propose a method which combines advantages of both: structural criteria and functional test case specification. Especially it supports automation in large parts but focuses on the users’ requirements as well. Furthermore the method provides an easy and flexible adjustment to project-specific needs. By setting up parameters the tester is able to influence the functional focus of the generated tests. Key ideas of the method are a classification and weighting of requirements and the selection of test cases only from parts of the original model: For every requirement a sub-model is selected that is defined by the requirement and the weighting of the requirements’ class.