{'fraction_non_alphanumeric': 0.01463860933211345, 'fraction_numerical': 0.0, 'mean_word_length': 5.287356321839081, '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}}
An Automated Approach for Specification-based Testing Using Business Goals and Plans

This paper presents a specification-based testing approach and implementation architecture that addresses several known challenges including false positives and domain knowledge errors. Our approach begins with a system goal graph consisting of high level business goals which are refined to operational goals, and plans that describe how to strategically achieve these goals. Along the goal refinement process business rules can be derived and/or used for constructing plans. Source code is annotated with goals and events and precompiled to emit those at run time. Plans are automatically translated into a rule-based recognizer. An oracle is produced from the preand post-conditions associated with the plan’s goals. When the program is executed, goals and events are emitted and automatically tested against plans and oracles. The concept is demonstrated for a small example and a larger publicly available case study in which we found a mismatch between stated requirements and actual program behavior.