Sectors - Where We Focus

BLOCKCHAIN TESTING

Blockchain is the peer-to-peer exchange of value. The performance of blockchain’s peer-to-peer decentralized network varies based on network size, transaction size, transaction latency, and consensus protocol. The integrity of the network and shared ledger should be continuously measured for throughput variance. It is also critical to measure the ledger’s data privacy based on selective permissions.

Smart Contract Testing tests proper triggering and execution of transactions. It simulates all possible expected and unexpected conditions for every contract. Given the sheer number of nodes and combinations that are likely, testing automation is paramount.

Peer/Node Testing validates the uniformity of the shared ledger at each and every node. Uniformity measures the same set and sequence of transactions. This is achieved through consensus across all nodes in the order in which transactions are added to the network.

Peer/node testing for transaction consistency involves testing the consensus protocol to ensure transactions are stored in the proper sequence under normal conditions. We also test where nodes fail or how many nodes participate in the network over a period of time, often by simulating Byzantine nodes. Resiliency testing validates the ledger after nodes that re-joined the network sync with other validating peers.

CONTINUOUS BLOCKCHAIN TESTING

Continuous blockchain testing repeatedly proves that the reputation of technical trust between the dependent stakeholders is deserved, and that the ecosystem is scalable and secure.

BLOCKCHAIN TESTING CoE

Blockchain creates an environment shared among different organizations, each of which has a significant stake in the trust and transparency of the overall system. The blockchain ecosystem is dependent on trust. Our CoE certifies that that trust is well placed.

The CoE publishes a detailed test plan for all participants. The correct mapping of system components is critical for reliable testing and requires the collaboration of development and operations teams across all CoE participants. For example, for one blockchain ecosystem, the billing and identity management systems might impacted where the customer relationship management (CRM) is not. Testing scope for the impacted components (billing and identity management) is different from the non-impacted components (CRM). For CRM, a functional workflow with regression test would suffice.

The test plan includes a model of the structure of the blocks, transactions, and contracts that need to be tested.

The test plan outlines specific use cases and their validation points. For example, if the transaction passes user credentials to the visiting network, then under what scenarios should security testing by enforced?

These and other use cases are provided for all participants in the blockchain.

The test plan includes a system component map, test scope document, business process and functionality workflows, and platform and integration architectures.