Learn Block Chain Testing

What is Block Chain?

A blockchain is, in the simplest of terms, a time-stamped series of immutable record of data that is managed by cluster of computers not owned by any single entity. Each of these blocks of data (i.e. block) are secured and bound to each other using cryptographic principles (i.e. chain).

So, what is so special about it?

The blockchain network has no central authority — it is the very definition of a democratized system. Since it is a shared and immutable ledger, the information in it is open for anyone and everyone to see. Hence, anything that is built on the blockchain is by its very nature transparent and everyone involved is accountable for their actions.

More about Block Chain

A blockchain carries no transaction cost. (An infrastructure cost yes, but no transaction cost.) The blockchain is a simple yet ingenious way of passing information from A to B in a fully automated and safe manner. One party to a transaction initiates the process by creating a block. This block is verified by thousands, perhaps millions of computers distributed around the net. The verified block is added to a chain, which is stored across the net, creating not just a unique record, but a unique record with a unique history. Falsifying a single record would mean falsifying the entire chain in millions of instances. That is virtually impossible. Bitcoin uses this model for monetary transactions, but it can be deployed in many others ways.

Lets understand Block Chain with Ticketing Example of Indian Railways website IRCTC

We buy tickets on an app or the web of IRCTC Website. The credit card company takes a cut for processing the transaction. With blockchain, not only can the railway operator save on credit card processing fees, it can move the entire ticketing process to the blockchain. The two parties in the transaction are the railway company and the passenger. The ticket is a block, which will be added to a ticket blockchain. Just as a monetary transaction on blockchain is a unique, independently verifiable and unfalsifiable record (like Bitcoin), so can your ticket be. Incidentally, the final ticket blockchain is also a record of all transactions for, say, a certain train route, or even the entire train network, comprising every ticket ever sold, every journey ever taken.

But the key here is this: it’s free. Not only can the blockchain transfer and store money, but it can also replace all processes and business models which rely on charging a small fee for a transaction. Or any other transaction between two parties.

It goes further. Ebooks could be fitted with blockchain code. Instead of Amazon taking a cut, and the credit card company earning money on the sale, the books would circulate in encoded form and a successful blockchain transaction would transfer money to the author and unlock the book. Transfer ALL the money to the author, not just meager royalties. The marketplace Amazon is then unnecessary. Successful iterations could even include reviews and other third-party information about the book.

In the financial world the applications are more obvious and the revolutionary changes more imminent. Blockchains will change the way stock exchanges work, loans are bundled, and insurances contracted. They will eliminate bank accounts and practically all services offered by banks. Almost every financial institution will go bankrupt or be forced to change fundamentally, once the advantages of a safe ledger without transaction fees is widely understood and implemented.

After all, the financial system is built on taking a small cut of your money for the privilege of facilitating a transaction. Bankers will become mere advisers, not gatekeepers of money. Stockbrokers will no longer be able to earn commissions and the buy/sell spread will disappear.

How Does Blockchain Work?

Consider block chain as spreadsheet containing huge number of transactions that is duplicated thousands of times across a network of computers. Then imagine that this network is designed to regularly update this spreadsheet.

Information held on a blockchain exists as a shared — and continually reconciled — database. This is a way of using the network that has obvious benefits. The blockchain database isn’t stored in any single location, meaning the records it keeps are truly public and easily verifiable. No centralized version of this information exists for a hacker to corrupt. Hosted by millions of computers simultaneously, its data is accessible to anyone on the internet holding valid credentials.

Lets understand now How Block Chain works with help of Google Spread sheets example

“The traditional way of sharing documents with collaboration is to send a Microsoft Word document to another recipient, and ask them to make revisions to it.

The problem with that scenario is that you need to wait until receiving a return copy before you can see or make other changes because you are locked out of editing it until the other person is done with it.

That’s how databases work today. Two owners can’t be messing with the same record at once.

That’s how even banks maintain money balances and transfers; they briefly lock access (or decrease the balance) while they make a transfer, then update the other side, then re-open access (or update again).

With Google Docs (or Google Sheets), both parties have access to the same document at the same time, and the single version of that document is always visible to both of them. It is like a shared ledger, but it is a shared document. The distributed part comes into play when sharing involves a number of people.

Typical Lifecycle of Block chain transaction contains multiple stages as shown in diagram below:

Block chain transaction life cycle

Block Chain also known as distributed ledger technology.

Below diagram explain the concept using block diagram

Blockchain using Distributed Ledger

Block chain also supports all properties of Digital Ledger technology

Below diagram explain the concept using block diagram

Potential Use Cases of Blockchain across various industries

a) Finance

  • Cross-border payments

  • Share trading

  • Commercial transactions automation

b) Insurance

  • Claims process automation

  • Fraud detection

  • Client onboarding

c) Healthcare

  • Patient records and medical verification

  • Auto claim processing

d) Supply Chain

  • Inventory management

  • Product traceability and accuracy

  • Documents / contracts digitalization

Now we have good idea about what Block Chain is all about, As QA its very important to understand what Block Chain Testing Challenges are and how your QA skills can help Companies implementing Block Chain networks gets benefited with your testing efforts.

Technology Stack:

Block chain technology being new and keeps on updating at regular intervals. Thus any one who tests block chain must understand underlying architecture of blocks and its creation.

Performance Testing:

Block chain Performance test requirements different from traditional applications. To introduce delay in block chain transactions and measure its impact across multiple nodes in network not easy task and require block chain performance test experts

Security Testing:

Block chains build around very secure architecture and its very important to test security aspects of any block chain based applications.

Integration Testing:

Block chain implementation need to be integrated with front end applications to allow clients to initiate transactions and get the results. This involves testing complete front end of application which required lot of front end UI Test experience

Block Chain Test Framework typically involve 3 Stages:

  • Understanding Platform

  • Understanding Testing Types

  • Test Delivery

Stage 1:

Understanding Architecture and Platform like Corder, Hyperledger, Ethereum, Ripple. This includes understanding:

a) Transaction Processing:

Validations of transaction life cycle through Apps

b) Transaction State:

Validations of transaction state across various life cycle events

c) Vault / Wallet:

Validations of transaction message verification (Signing)

d) Assets on Block Chain:

Validations of tokenization of assets of block chain

e) Smart Contracts:

Validations of business rules through smart contracts / API

f) APIs Integration:

Validations of interface with APIS for Access controls, payments,

g) History & Audit:

Validations of secure registry and transactions audit

h) Consensus Mechanism:

Validations of transactions for time stamping

Stage 2:

Understand multiple testing types that can be performed for Block Chain Networks. This includes

a) Functional Testing

b) Non Functional Testing

c) Security Testing

d) Other Testing

Stage 3:

Test Delivery: This includes Test Scaling and Test Excellence

Test Scaling:

  • Leverage Test Delivery Framework

  • Adapt Block Chain test accelerators

  • Block Chain Reusable Test Asset Development

  • Leverage existing block chain test tools

Test Excellence:

  • Block chain knowledge management for QA

  • Block Chain Test Best Practices Implementation

  • Coordination between BA – QA – Dev for effective Test Delivery

  • Use all levels of test to achieve 100% test coverage

At Next Generation Automation Academy, our experts have developed in house Block chain testing framework having capability to verify any financial transactions with in Block chain network using multiple testing tools and custom programming algorithms.

For more information and discussion, please send expression of interest


Building better QA for tomorrow