{'fraction_non_alphanumeric': 0.017632241813602016, 'fraction_numerical': 0.0, 'mean_word_length': 5.478260869565218, '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': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Towards an Approach for Applying Early Testing to Smart Contracts

Immutability - the ability for a Blockchain (BC) Ledger to remain an unalterable, permanent and indelible history of transactions - is a feature that is highlighted as a key benefit of BC. This ability is very important when several companies work collaboratively to achieve common objectives. This collaboration is usually represented by using business process models. BC is considered as a suitable technology to reduce the complexity of designing these collaborative processes using Smart Contracts. This paper discusses how to combine Model-based Software Development, modelling techniques, such as use cases models and activity diagram models based on Unified Model Languages (UML) in order to simplify and improve the modelling, management and execution of collaborative business processes between multiple companies in the BC network. This paper includes the neccessity of using transformation protocols to obtain Smart Contract code. In addition, it presents systematic mechanisms to evaluate and validate Smart Contract, applying early testing techniques, before deploying the Smart Contract code in the BC network.