Blockchain Testing

From pre-release simulation of the smart contracts to the QA support of the core functioning — testers involvement on each project stage mitigates the risks and saves the client’s budget.

Testing is Key to Effective Blockchain Development

One of the basic Blockchain principles is ledger immutability. A smart contract sent to the blockchain has no retroactive effect — it cannot be updated or redeployed, like in traditional software development. The cost of mistake is extremely high — that is why blockhain testing is crucial for a successful launch of any custom blockchain-powered solution.

What Do We Test in a Blockchain?

BLOCKCHAIN CORE:

  • Nodes
  • Client
  • Consensus Algorithm
  • Virtual Machine

SMART CONTRACTS/DAPPS:

  • Smart Contract Code
  • API/Integrations
  • Business Logic

ECOSYSTEM APPS:

  • Wallet
  • Oracles
  • Portfolio monitor
  • Browser

DOCUMENTATION:

  • ICO Whitepaper
  • Protocol

How We Test It?

FUNCTIONAL TESTING (INCLUDING UNIT TESTS)

NON-FUNCTIONAL TESTING:

  • Testability Analysis
  • Code Review
  • Testnets
  • Security Audit
  • Scalability Testing
  • Stress Testing
  • Performance Testing
  • Usability/Accessibility Testing
  • Integrity Testing
  • Compliance Testing

DOCUMENTATION TESTING:

  • Testing Whitepaper and Protocols
  • Adding QA Approach Section to the Whitepaper

BUG BOUNTY PROGRAM ORGANIZATION

Testability Matters

While developing a sophisticated blockchain solution, hire a QA engineer to join the project team starting right from the analysis phase — to control the testability of each implemented feature. If the testability wasn’t foreseen from the start, it would be impossible to test the core blockchain features such as chain integrity or nodes’ performance.

QA Tech Stack

Softeq’s QA engineers utilize the following QA frameworks to test the solutions, realized on Ethereum and other major blockchain platforms: Truffle, Dapple, Embark, Populus.

The blockchain domain is quite dynamic. QA approaches and tools tester used yesterday don’t work equally effectively today. One of the solutions to this isuue suggested by our team is to develop a custom QA framework with the focus on the specific features of a particular project.

Open-Source QA vs. Professional Testing Team

Quality Assurance done by the community has at least one undeniable advantage — millions of testers will find more bugs, then the greatest hired QA team. But it’s a two-way street — you have to pay the community for each bug found.

Softeq’s Testing Team is involved into each blockchain project from the start, working out a QA approach and testing the product recurrently. It helps reduce the quantity of bugs and malfunctions in the final product to the minimum and save the client’s development budget.

Leveraging both sides’ advantages seems to be the most reasonable choice. The in-house team develops a testing strategy, performs the applicable testing and then runs the Bug Bounty Program — to fix the minor bugs. Softeq can organize a Bug Bounty Program for the client’s product/ICO — to involve a proactive blockchain community into testing of the solution and, as a result, gain their trust.

Section title

View Full Portfolio

en