{'fraction_non_alphanumeric': 0.023622047244094488, 'fraction_numerical': 0.006889763779527559, 'mean_word_length': 4.681564245810056, '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}}
Application of Model-based Testing on a Quorum-based Distributed Storage

Data replication is a central mechanism for the engineering of fault-tolerant distributed systems, and is used in the realization of most cloud computing services. This paper explores the use of Coloured Petri Nets (CPNs) for model-based testing of quorum-based distributed systems. We have used model-based testing to validate a distributed storage implemented using the Go language and the Gorums framework. We show how a CPN model of a single-writer, multi-reader distributed storage system can be used to obtain both unit test cases for the quorum logic functions, and system level test cases consisting of read and write quorum calls to the storage. The CPN model is also used to obtain the test oracles against which the result of running a test case can be compared. Our experimental results show that we obtain 100 % code coverage for the quorum functions, 84 % coverage on the quorum calls, and 40 % coverage on the Gorums framework.