Test Automation Approach To Blockchain: AutoCast - Spring 2019

QASource
QASource | April 2, 2019

After understanding the growing market size and architecture of blockchain technology, let’s dive into how test automation can be achieved in this technology in order to achieve a successful blockchain app.

Use Cases To Target While Planning For Blockchain Test Automation

Blockchain is altogether a different platform when compared to the existing centralized ways of storing data. Testing data integrity and security is important, both on individual nodes and as seen from application front end. Automation should focus on the following cases:

Blockchain Test Automation
  • Creation of a new transaction

  • Rollback of unsuccessful transactions

  • Handling over-sized blocks

  • Node failover scenarios

  • Secure data transmission of transaction hash codes

  • Block insertion as per SLA

  • Bulk insertion of blocks

  • Data integrity and availability scenarios like:

    • Transaction success, determining withdrawal, and deposit events
    • Insufficient funds in accounts
    • Boundary value tests for cost of migrating smart contracts and minimum value transactions
    • Double check new transactions when one is pending, account running low on balance
    • APIs /web services working on application backend for carrying out transactions

Test Automation Ecosystem For Smart Contracts

 

Tools For Automating Blockchain Apps

Testing the blockchain apps require some tools for providing dummy Ethereum server and accounts with balance. Following are the recommended tools available which aids both development and testing of blockchain technology:

 

Tips And Tricks While Planning Automation

Tips And Tricks While Planning Automation
  • Ensure your system has any of the automation tools defined above and Ethereum server running
  • Ensure your accounts have enough Ethereum balance to carry out transactions before each test
  • Ensure that the contract is migrated on blockchain
  • Choose the language that best suits your requirements
  • Choose an appropriate IDE like Remix IDE to develop your solidity test scripts
  • Smart contracts are immutable; write your tests in an organized way

Blockchain may seem very shiny and easy to adopt. However, it’s really important to understand the current application and implementation of blockchain technology which will help determine the growth path and future challenges while planning its test automation.

Have Suggestions?

Have Suggestions?

We would love to hear your feedback, questions, comments and suggestions. This will help us to make us better and more useful next time.
Share your thoughts and ideas at knowledgecenter@qasource.com

Disclaimer

This publication is for informational purposes only, and nothing contained in it should be considered legal advice. We expressly disclaim any warranty or responsibility for damages arising out of this information and encourage you to consult with legal counsel regarding your specific needs. We do not undertake any duty to update previously posted materials.