Mechanism for the Systematic Generation of Functional Tests of Smart Contracts in Digital Publication Management Systems

Mechanism for the Systematic Generation of Functional Tests of Smart Contracts in Digital Publication Management Systems

Nicolas Sanchez-Gomez, Javier Jesús Gutierrez, Enrique Parrilla, Julian Alberto García García, Maria Dolores de-Acuña, Maria Jose Escalona
DOI: 10.4018/979-8-3693-0405-1.ch008
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

The application of state-of-the-art technologies in functional fields is complex and offers a significant challenge to user and expert teams as well as to technical teams. This chapter presents a mechanism that has been used in a project in the context of digital publications. Ensuring the traceability of digital publications (e-books and e-journals) is a critical aspect of the utmost importance for authors, publishers, and buyers. The SmartISBN project has used blockchain technology to define a protocol for the identification, tracking, and traceability of digital publications. As this was an innovative project that required communication between functional experts (authors, publishers, booksellers, etc.) and technical experts, it was necessary to identify protocols to facilitate communication. This chapter presents the protocol by which the functional tests have been defined and how this has favoured the validation of the project.
Chapter Preview
Top

1. Introduction

Blockchain is a disruptive software technology that is advancing rapidly (Olea, 2019), being one of the fundamental technologies driving Digital Transformation today and, given its transversal nature applicable to a wide range of industrial and economic sectors, it is enabling disruption in the economy and in business beyond cryptocurrencies. This potential is largely based on its ability to offer individuals or organizations a communication channel that allows the transfer of rights, values, or real assets (tokenization), through the Internet, in a secure and reliable manner.

The publishing industry is one of the economic sectors in which blockchain technology has great applications because the publishing industry is a data and metadata intensive sector. This means that the quality of operations and their automation are linked to the quantity and quality of this data. From a global perspective, the distribution process and supply chain of digital publications (e-books and e-journals, among other formats) in Spain is a complex process (Martínez Alés, 2001). A wide variety of actors are engaged in this process, each with diverse needs and actions. The following is a summary of these actors to help understand the magnitude of the process.

A digital publication, once written, must enter a digital copy distribution process. This process can take several months or even years and requires a significant financial investment. While on demand publishing mechanisms exist with delivery times of days, they do not offer assimilable quality and are pushed to specific niches. Then, distributors take the publications from the publishers to the points of sale. These outlets may be physical bookshops, online platforms, or both (Magadán-Díaz et al., 2020).

The emergence of innovative technologies for data and metadata storage and management, such as the possibility of massively and automatically extracting information from web pages, as well as the development of new technologies, such as blockchain technology for information recording (Gramoli, 2022) (Alharby et al., 2018), open up the possibility of offering novel alternatives within the publishing industry.

Blockchain technology and, above all, smart contracts can make valuable contributions as discussed throughout this article. In short, this recent technology offers more transparency, security, and efficiency in the tracking of publications (books, journals, etc.) at each stage of the process. For example, in this project, it has been possible to track and trace digital publications from their production to their final sale, which has made it possible to know the status of the publication at all times.

However, before deploying a smart contract in a business environment, it is necessary that any smart contract is verified using rigorous mechanisms that allow validating its correct operation, since an error or defect in the code that forms it could cause an unrepairable effect (Legerén-Molina, 2018). From an engineering perspective, the serious and competitive progress in the implementation of recent technologies such as blockchain and smart contracts requires new processes, methods, tools, and techniques to manage quality in software development and, above all, to ensure the quality of the final product.

Currently, there are several blockchain platforms that support the implementation, deployment, and execution of smart contracts without many restrictions. For example, Ethereum, Hyperledger or EOS platforms, among others (Zheng Z., 2020), allow deploying smart contracts without going through any verification and validation process. In this sense, verification of smart contracts remains an unexplored line of research to date. Any blockchain network may be running smart contracts with unexpected behavior, with serious deficiencies, errors and even security vulnerabilities (Luu, 2016). Unlike classical applications, which can be patched when errors are detected, smart contracts are irreversible and immutable, given the characteristics of the underlying technology.

In this context, the objective of this article is to present a proposal to generate functional test plans based on smart contract specifications. For this purpose, the proposal will be based on early testing principles, which will allow validating the functional quality of smart contracts independently of the blockchain technology used and from the requirements specification stage. In addition, this article describes the validation of our proposal in the SmartISBN project, which was carried out between 2019 and 2022.

Key Terms in this Chapter

Digital Publishing: This concept, also called electronic or online publishing, is the distribution of a variety of online content, such as journals, magazines, newspapers, and eBooks. Through this process, any company or publisher can digitize documents and information that people can view online, download, sometimes manipulate, and even print out or share otherwise, if they choose.

Functional Tests: It is a type of software testing that validates the software system against the functional requirements/specifications. The purpose of Functional tests is to test each function of the software application, by providing appropriate input, verifying the output against the Functional requirements.

Smart Contracts: It is programs stored on a blockchain that run when predetermined conditions are met. They typically are used to automate the execution of an agreement so that all participants can be immediately certain of the outcome, without any intermediary’s involvement or time loss.

Blockchain: It is a shared, immutable ledger that facilitates the process of recording transactions and tracking assets in a business network. An asset can be tangible (a house, car, cash, land) or intangible (intellectual property, patents, copyrights). Virtually anything of value can be tracked and traded on a blockchain network, reducing risk and cutting costs for all involved.

Digital Publishing Systems: This concept, also called digital publishing platform, allows creators to share, discover, and monetize digital magazines, catalogs and other publications with a global audience.

Complete Chapter List

Search this Book:
Reset