Blockchain testing

#Blockchain #Blockchain testing

What is Blockchain

Blockchain is a shared database storage, in which the list of records-so called blocks, constantly keeps growing. Every block contains a hash of the previous block and a time stamp.

Functions of blockchain include

  • Decentralized system
  • Enhanced security
  • Increased capacity: Increased capacity of the whole network

Types of blockchain

  • Consortium blockchain
  • Public blockchain: Blockchain based on the principle of „public blockchain“
  • Private blockchain

Main components of blockchain

  • Node application
    Each node must install and run a computer application defining the ecosystem it wants to join.
  • Common ledger
    Data structure (ledger) is managed in the note application. The content for the ecosystem can be viewed after the node application is launched.
  • Consensus algorithm
    Consensus algorithm is implemented as a part of the node application and provides the „game rules“ for how the ecosystem arrives at a unified view of the ledger.
  • Virtual machine
    An abstraction of an instruction-driven machine implemented as a part of the node application that each ecosystem participant runs.

How blockchain works

Required transaction → A block represents the created transaction → The block is sent to every node in the network → The transaction is completed → A new block is added to an already existing blockchain → A network of nodes confirms the transaction

What are the advantages of blockchain

  • Saves time.
  • Cost-effectiveness: Blockchain transactions require less manipulation. Participants can exchange valuable items directly. Blockchain eliminates duplication of effort because all participants have access to a shared ledger.
  • Increased security: Blockchain security protection against fraud and cybercrime.

Phases of blockchain testing

  1. Initiation phase:
    Understanding the architecture of blockchain. In this phase we understand and analyze the business and functional requirements.
  2. Design phase:
    Test case creation: In this phase the QA team will write the test cases with the correct steps. These test cases are reviewed by a business analyst.
  3. Test phase:
    • API testing: In API testing we ensure the interaction among applications in the blockchain ecosystem works as expected.
    • Block testing: All blocks in the network should be tested individually to ensure proper cooperation.
    • Functional testing: During functional testing we evaluate the performance of various functional parts of the blockchain (e.g. smart contracts).
    • Performance testing: Details such as network latency based on block size, network size, expected transaction size, and how long it takes to return query output with a specialized authentication protocol.
    • Security testing: In this case we ensure the application is not vulnerable to attacks, the systems are capable of protecting the data and that they can handle any malicious attacks, etc.
    • Integration testing: During integration testing, we ensure that all components of the application are properly integrated and perform their respective activities.
    • Smart contracts testing: Testing of smart contracts consists of performing detailed functional testing of business logic and processes.
  4. Management phase:
    Project summary report: Describe an overview of project details, project timelines, costs and task details.

Key types of blockchain applications testing

  • Functional testing
  • Integration testing
  • Performance testing
  • Node testing
  • API interface testing

Several blockchain testing tools

  • Ethereum Tester
  • Ganache
  • Hyperledger Composer

Cookies

This site uses cookies. Find out more.