A Framework for Software Testing of Blockchain Based Applications with Appropriate Tools
Keywords:
Blockchain Technology, Software Testing, Quality Assurance, Testing Framework, Automation toolsAbstract
Blockchain technology is becoming the preferred technology for various applications in the digital world notwithstanding it being an emerging technology with a few grey areas relating to standards, best practices, and vulnerability to attacks. Due to the inherent features of blockchain, there are serious challenges in deciding on an appropriate testing framework and selecting the tools for the rigorous testing, validation, and verification of the software being developed for the evolving blockchain based applications to ensure glitch free operations in a practical working environment. The software testing needs and parameters to be tested have been discussed in detail and a testing framework has been proposed keeping in mind the special needs of blockchain based applications, such as smart contract testing, type wise testing and layer wise testing. A study of the various testing tools available have been made and a comparison table presented to identify an appropriate testing tool for specific applications.
Downloads
References
S. Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash System,” p. 9, 2008.
S. Bansod and L. Ragha, “Blockchain Technology: Applications and Research Challenges,” in 2020 International Conference for Emerging Technology (INCET), Belgaum, India: IEEE, Jun. 2020, pp. 1–6. doi: 10.1109/INCET49848.2020.9154065.
Afsal Backer, “Blockchain testing.” [Online]. Available: https://blog.testproject.io/2022/02/15/blockchain-testing/
C. Lal and D. Marijan, “Blockchain Testing: Challenges, Techniques, and Research Directions.” arXiv, Mar. 18, 2021. Accessed: Nov. 24, 2023. [Online]. Available: http://arxiv.org/abs/2103.10074
“ISO/IEC/IEEE International Standard - Software and systems engineering --Software testing --Part 1:General concepts,” IEEE. doi: 10.1109/IEEESTD.2022.9698145.
K. M. Mustafa, R. E. Al-Qutaish, and M. I. Muhairat, “Classification of Software Testing Tools Based on the Software Testing Methods,” in 2009 Second International Conference on Computer and Electrical Engineering, Dubai, UAE: IEEE, 2009, pp. 229–233. doi: 10.1109/ICCEE.2009.9.
Naresh Chauhan, Software testing : principles and practices. Oxford University Press, 2010.
S. Haber and W. S. Stornetta, “How to Time-Stamp a Digital Document,” no. 3, pp. 99–111, doi: https://doi.org/10.1007/BF00196791.
D. Macrinici, C. Cartofeanu, and S. Gao, “Smart contract applications within blockchain technology: A systematic mapping study,” Telematics and Informatics, vol. 35, no. 8, pp. 2337–2354, Dec. 2018, doi: 10.1016/j.tele.2018.10.004.
S. S. Yau and J. S. Patel, “A Blockchain-based Testing Approach for Collaborative Software Development”.
M. S. Farooq, Z. Kalim, J. N. Qureshi, S. Rasheed, and A. Abid, “A Blockchain-Based Framework for Distributed Agile Software Development,” vol. 10, 2022.
K. Duan, J. M. Caballero, and X. Jing, “Scrum-based development model:Improve the engineering quality and testing method of blockchain projects,” 2023.
A. Pinna, G. Baralla, M. Marchesi, and R. Tonelli, “Raising Sustainability Awareness in Agile Blockchain-Oriented Software Engineering”.
Z. Wu et al., “Kaya: A Testing Framework for Blockchain-based Decentralized Applications”.
S. Ji, S. Zhu, P. Zhang, and H. Dong, “Test-Case Generation for Data Flow Testing of Smart Contracts Based on Improved Genetic Algorithm,” IEEE TRANSACTIONS ON RELIABILITY, vol. 72, no. 1, 2023.
Y. Murray and D. A. Anisi, “Survey of Formal Verification Methods for Smart Contracts on Blockchain”.
C. Benabbou and O. Gurcan, “A Survey of Verification, Validation and Testing Solutions for Smart Contracts,” in 2021 Third International Conference on Blockchain Computing and Applications (BCCA), Tartu, Estonia: IEEE, Nov. 2021, pp. 57–64. doi: 10.1109/BCCA53669.2021.9657040.
D. He, R. Wu, X. Li, S. Chan, and M. Guizani, “Detection of Vulnerabilities of Blockchain Smart Contracts,” IEEE Internet Things J., vol. 10, no. 14, pp. 12178–12185, Jul. 2023, doi: 10.1109/JIOT.2023.3241544.
M. Barboni, A. Morichetta, and A. Polini, “SuMo: A mutation testing approach and tool for the Ethereum blockchain,” Journal of Systems and Software, vol. 193, p. 111445, Nov. 2022, doi: 10.1016/j.jss.2022.111445.
S. Bansod and L. Ragha, “A Quantum Resistant Blockchain System for Privacy Protection of Patient Records,” IJETT, vol. 71, no. 4, pp. 79–96, Apr. 2023, doi: 10.14445/22315381/IJETT-V71I4P208.
M. Kuzlu, M. Pipattanasomporn, L. Gurses, and S. Rahman, “Performance Analysis of a Hyperledger Fabric Blockchain Framework: Throughput, Latency and Scalability,” in 2019 IEEE International Conference on Blockchain (Blockchain), Atlanta, GA, USA: IEEE, Jul. 2019, pp. 536–540. doi: 10.1109/Blockchain.2019.00003.
S. Kaushik and N. E. Madhoun, “Analysis of Blockchain Security: Classic Attacks, Cybercrime and Penetration Testing,” in 2023 Eighth International Conference On Mobile And Secure Services (MobiSecServ), Miami Beach, FL, USA: IEEE, Nov. 2023, pp. 1–6. doi: 10.1109/MobiSecServ58080.2023.10329210.
S. Bansod and L. Ragha, “Challenges in making blockchain privacy compliant for the digital world: some measures,” Sādhanā, vol. 47, no. 3, p. 168, Aug. 2022, doi: 10.1007/s12046-022-01931-1.
“TRUFFLE SUITE.” ConsenSys Software Inc., 2016. [Online]. Available: https://trufflesuite.com/
ConsenSys Software Inc., “GANACHE.” 2016. [Online]. Available: https://trufflesuite.com/ganache/
“REMIX.” Ethereum Foundation. [Online]. Available: https://remix-project.org/
“MYTHX.” ConsenSys Software Inc. [Online]. Available: https://mythx.io/
“SOLHINT.” MIT. [Online]. Available: https://protofire.github.io/solhint/
“HARDHAT.” Nomic Foundation / Ehereum Foundation, 2023. [Online]. Available: https://hardhat.org/
“HYPERLEDGER CALIPER.” The Linux Foundation - Hyperledger Foundation, 2023. [Online]. Available: https://www.hyperledger.org/projects/caliper
“CUCUMBER.” SmartBear Software, 2023. [Online]. Available: https://cucumber.io/
Downloads
Published
How to Cite
Issue
Section
License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
All papers should be submitted electronically. All submitted manuscripts must be original work that is not under submission at another journal or under consideration for publication in another form, such as a monograph or chapter of a book. Authors of submitted papers are obligated not to submit their paper for publication elsewhere until an editorial decision is rendered on their submission. Further, authors of accepted papers are prohibited from publishing the results in other publications that appear before the paper is published in the Journal unless they receive approval for doing so from the Editor-In-Chief.
IJISAE open access articles are licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. This license lets the audience to give appropriate credit, provide a link to the license, and indicate if changes were made and if they remix, transform, or build upon the material, they must distribute contributions under the same license as the original.