[eng] This research focuses on testing smart contracts under the
Tezos blockchain. Tezos is a distributed ledger technology
known for its self-amendment feature, allowing protocol upgrades without network division. However, smart contracts
can contain bugs and vulnerabilities, necessitating software
testing for quality assurance. The objectives of this work
are to conduct a state-of-the-art review of testing tools and
approaches for Tezos smart contracts, develop and deploy
test smart contracts using the Michelson language, and perform different levels of testing. This includes both white-box
and black-box testing. White-box testing focuses on internal
verification, evaluating logic and behavior using tools like
Truffle and SmartPy. Black-box testing examines external
interactions using frameworks such as Selenium and Robot
Framework. The goal is to ensure the quality and reliability
of Tezos smart contracts, detecting bugs and vulnerabilities
before deployment on the blockchain. In Chapter II, we delved
into the realm of decentralized application testing and focused
on the utilization of Selenium and the unitest framework for
test automation. Furthermore, we conducted a comprehensive
comparison between Selenium and the Robot framework,
emphasizing the superior capabilities of Selenium. In Chapter
III, we redirected our attention to the initial testing and onboarding process of Tezos smart contracts. Within this context,
we undertook a thorough examination of various white-box
testing tools and specifically highlighted the advantages of
Tezos in comparison to SmartPy. In summary, this research has
highlighted the superiority of Selenium over the Robot Framework in test automation, particularly for black box testing.
Selenium’s specialization in web application testing, extensive
language support, precise control over actions, vibrant community support, and customizable test reporting features make it
the preferred choice for efficient test automation. Additionally,
the analysis confirms that Truffle outperforms SmartPy when it
comes to testing and developing smart contracts on the Tezos
blockchain. Truffle’s comprehensive tools and functionalities
cater specifically to the needs of Tezos smart contract testing,
ensuring a seamless and efficient process. These findings
provide valuable insights for practitioners seeking optimal
solutions in the domains of test automation and smart contract
development.