{'fraction_non_alphanumeric': 0.02071563088512241, 'fraction_numerical': 0.0, 'mean_word_length': 4.84065934065934, '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}}
Random testing: from the classical approach to a global view and full test automation

Research has brought a number of different methods for automated test and test data generation in the last decades. These methods range from simple applications such as random testing, to complex analysis systems, such as constraint-based methods.
 While research on these methods has been extensive, industrial application to large-scale systems is still seldom. One of the reasons may be that the simple methods fail - e.g. in terms of achieved coverage -- for complex systems-under-test, while the complex methods are difficult to implement and often have limitations in terms of the language scope they can be applied to.
 This paper aims to present practical experience with a number of different methods based on random testing in various fields of application, ranging from automated unit tests to automated system and integration tests. This experience led to strategic combination of different methods, which shall be described and discussed based on actual results.