The importance of testing in the early stages of smart contract development life cycle

the code and the agreements contained therein exist across a distributed, decentralized blockchain network. In software engineering, this collaboration is usually represented by using business process models and smart contracts can be used to implement business collaborations in general and interorg...

Descripción completa

Detalles Bibliográficos
Autores: Sánchez Gómez, Nicolás, Morales Trujillo, Leticia, Gutiérrez Rodríguez, Javier Jesús, Torres Valderrama, Jesús
Tipo de recurso: artículo
Estado:Versión aceptada para publicación
Fecha de publicación:2020
País:España
Institución:Universidad de Sevilla (US)
Repositorio:idUS. Depósito de Investigación de la Universidad de Sevilla
OAI Identifier:oai:idus.us.es:11441/161240
Acceso en línea:https://hdl.handle.net/11441/161240
https://doi.org/10.13052/jwe1540-9589.1925
Access Level:acceso abierto
Palabra clave:Blockchain
Smart contract
Model-based software development
Early testing
Descripción
Sumario:the code and the agreements contained therein exist across a distributed, decentralized blockchain network. In software engineering, this collaboration is usually represented by using business process models and smart contracts can be used to implement business collaborations in general and interorganizational business processes. The validation of this contract and the assurance of its quality are critical for its right application. Early testing in smart contract definition is the fact of this paper. The paper discusses the possibility to use transformation protocols to obtain derived artefacts like test case definitions and smart contract code scaffolds. Generation of derived artefacts significantly reduces the number of defects before deploying the smart contract code in the blockchain network. Transformations protocols are created using model-based software development and modelling techniques. This approach allows to simplify and improve the management and execution application of systematic mechanisms to evaluate and validate the smart contract and, particularly, the application of early testing techniques which would help to reduce the number of defects and, ultimately, the cost of the final review.