SlideShare uma empresa Scribd logo
1 de 18
Blockchain
Testing Strategy
Topics to be covered
• Current Situation-Real world problem
• What is Blockchain and its Structure
• Blockchain Technology – Key Component
• How Blockchain Work
• Test challenges in blockchain
• Opportunity for Testers in Blockchain World
• Blockchain Testing Scope & Approach
• Blockchain Testing Tools
• Performance Testing Approach
• KPI’s for Monitoring
Remember that the blockchain does not forgive you any errors because of its immutability!
1. The DAO attack
Date: June 17, 2016
Price then: 3.6 million ether, US $79.6 million
2. Parity - The beginning (Someone “accidentally” deleted some
critical code used by the popular Parity multisig wallet.)
Date: July 19, 2017
Price then: 150,000 ETH, US $300 million
3. Out of the 19,366 Ethereum smart contracts
analyzed, 8,833 of them had bugs
Current Situation-Real world problem
Size of the blockchain technology market worldwide from 2016 to 2021 (in million U.S. dollars)
Source Statista 2019
What is blockchain?
• Block chain is chain of block which contains
information in form of cryptography and shared
through distributed ledger
Source :Testing Blockchain Application by Thoughtworks
Business logic
embedded in
ledger that
can be
triggered
when certain
conditions are
met
Cryptography
is a central
feature,
transactions
are secure,
authenticated
& verifiable
A chronological
record of
transactions in
a distributed
ledger shared
across a
business network
All participants
agree to a
network verified
transaction by
consensus
Transactions are
broadcasted
through the network
and travel from one
node to another
Transaction stored
in the Distributed
Ledger
Security
Smart
Contracts
Distributed
Storage
Ledger
Network
Consensus
Lower Cost
Increased
Transparency
Greater
Security
Faster
Settlement
Blockchain Technology – Key Component
Transaction Requested
Requested Transaction is
broadcasted to peer to
peer network
Validation: Network of nodes
validate the transactions using
known algorithms
Validated using
different
parameters like
nonce, timestamp,
signature SHA,
hash in an
algorithm
Verified
transaction
create new
bock data for
ledger
New block is added to the existing blockchain, which
is immutable
Transaction completed
How Blockchain Works?
Image Source
What could go wrong in Blockchain testing ?
Test challenges in blockchain testing
7
Transactions are Irreversible
Standardization in Blockchain Testing
Fast Pace of Blockchain Tech
Innovations
Lack of Blockchain knowledge base
within Testing universe
Lack of Best Practices, Models, Tools
etc. within Blockchain Testing area
1
2
3
4
5
Scalability due to low capacity of reading and
writing data compared to current relational
databases
Opportunity for Testers in Blockchain World
Upskill knowledge with new way of testing
Increase in Breadth & depth of testing profiles
Deliver best in class & Growth opportunity
Focused on innovative solution with higher quality
Flexibility
Best way to predict the future is to create it. – Peter Drucker
INITIATION
Requirement
Understanding
Architecture and Solution
understanding
Design full Testing strategy
01
DESIGN
Test Creation
Test Data Creation
Environment and Node set-
up
Performance Metrics
Security Assessment Strategy
02
TEST
API
Smart Contract
Peer/Node
Functional
Non-functional
Integration
Execute node Test cases
03
REPORT
Project Summary Report
Performance Testing
Report
Smart Contract Testing
Report
Security Testing Report
04
Our unique blockchain testing approach ensures every aspect of blockchain is tested
Blockchain Test Approach
End-to-end solution to remove duplication or manipulation of product
How it work in Retail
Image Source
FUNCTIONAL
This is a holistic process that
evaluates the work of various
functional parts of the blockchain
API
Application Programming Interface tests
address the interaction between
applications in the blockchain ecosystem
PEER/NODE
Blockchain functions in a peer-to-
peer distributed network through
network nodes using a specific
protocol for authentication
PERFORMANCE
Details like network latency based on
block size, network size, expected
transaction size, and how long a query
takes to return the output with
specialized authentication protocol
SECURITY
The aim is to identify if the application is
vulnerable to attacks, assess if the
authorization systems are robust, identify
if the system protects the data and has
the capability to ward off malicious
attacks etc.
SMART CONTRACT
Smart Contract testing is largely about
performing detailed functional testing of
business logic and process.
INTEGRATION
Integration testing is important for
Blockchain since deployment could be
across several systems and
environments
High level view of test areas for a typical blockchain at nagarro
Blockchain needs to be tested
Blockchain Testing Scope
Specialized Functional Performance Security & Data
› Smart ContractTesting
› Peer/nodeTesting
› Network Connectivity
› Third party software
› Block size
› Chain Size
› Addition of block
› Consistency/Availability
› Gas Consumption
› Services
› Algorithms
› Load
› Synchronization
› System performance
› Consistency validation
› Capacity of processing
transactions
› Cryptographical data
› Verify data losses or
corrupt
› Transmission of data
› Data corruption
Blockchain Testing Scope
Blockchain Testing Tools
Functional, Non-functional testing tools
FUNCTIONAL SECURITY FRAMEWORK PERFORMANCE
› Hyperledger Composer
› Ganache
› ExonumTestkit
› IBM Hyperledger
› Remix
› SOAP UI
› Oyente
› Solgraph
› Mythrill
› Hydra
› Securify.ch
› Solint
› Porosity
› Manticore
› Truffle
› EthereumTester
› Populus
› Embark
› BitcoinJ
› NeoLoad
› CordaTestingTools
› Hyperledger Caliper
› Truffle
Blockchain -Performance Testing
Detailed layer wise performance testing
Data LayerConsensus Layer
Smart Contract
Layer
Application Layer
Data LayerConsensus Layer
Smart Contract
Layer
Application Layer
A transaction requested
Store new data
Execute some task
Response of the request
Response of the request
Record the new transaction
Record the new transaction
Source : ResearchGate white paper by Si Chen
Average Block Size - The 24 hour average block size in MB
Transactions per Day - The aggregate number of confirmed transactions in the past 24 hours.
Mempool Size - The aggregate size of transactions waiting to be confirmed.
Transaction per block - Average Number Of Transactions Per Block
Hash Rate - The estimated number of tera hashes per second (trillions of hashes per second) the
blockchain network is performing.
Hash rate distribution - An estimation of hash rate distribution amongst the largest mining pools
Cost per transactions - Miners revenue divided by the number of transactions
Difficulty - A relative measure of how difficult it is to find a new block
Gas Consumptions - Gas is what is used to calculate the amount of fees that need to be paid to the
network in order to execute an operation
KPI’s for Blockchain Monitoring
Blockchain Popular Stats
Key Points Considered for Testing
To test a Smart contract, Algorithm, node etc.
• Check overflows and underflows - Always test the limits of the functions
• Check that the return values of your functions are always within the range of
the expected values
• Make sure that the return values are properly formatted
• Gas consumption
• Security
• Performance
Known attack
1. Re-entrancy
2. Front-Running (AKA Transaction-Ordering Dependence)
3. Timestamp Dependence
4. Integer Overflow and Underflow
5. DoS with (Unexpected) revert
6. DoS with Block Gas Limit
7. Gas Limit DoS on the Network via Block Stuffing
8. Forcibly Sending Ether to a Contract
9. Deprecated/historical attacks
List of known attacks
Rajni Singh
Manager, QA

Mais conteúdo relacionado

Mais procurados

Blockchain Digital Transformation Presentation
Blockchain Digital Transformation PresentationBlockchain Digital Transformation Presentation
Blockchain Digital Transformation Presentation
101 Blockchains
 

Mais procurados (20)

Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618
 
Intro to open source observability with grafana, prometheus, loki, and tempo(...
Intro to open source observability with grafana, prometheus, loki, and tempo(...Intro to open source observability with grafana, prometheus, loki, and tempo(...
Intro to open source observability with grafana, prometheus, loki, and tempo(...
 
Security and privacy with blockchain
Security and privacy with blockchainSecurity and privacy with blockchain
Security and privacy with blockchain
 
Blockchain: The New Technology and Its Applications for Libraries
Blockchain: The New Technology and Its Applications for LibrariesBlockchain: The New Technology and Its Applications for Libraries
Blockchain: The New Technology and Its Applications for Libraries
 
Practical Chaos Engineering
Practical Chaos EngineeringPractical Chaos Engineering
Practical Chaos Engineering
 
Blockchain Technology
Blockchain TechnologyBlockchain Technology
Blockchain Technology
 
Blockchain Digital Transformation Presentation
Blockchain Digital Transformation PresentationBlockchain Digital Transformation Presentation
Blockchain Digital Transformation Presentation
 
Blockchain Study(1) - What is Blockchain?
Blockchain Study(1) - What is Blockchain?Blockchain Study(1) - What is Blockchain?
Blockchain Study(1) - What is Blockchain?
 
Overview of blockchain technology and architecture
Overview of blockchain technology and   architectureOverview of blockchain technology and   architecture
Overview of blockchain technology and architecture
 
Blockchain Security and Privacy
Blockchain Security and PrivacyBlockchain Security and Privacy
Blockchain Security and Privacy
 
Quant Overledger for Mobility, IOT and Automotive sectors - MOBI 20190220 v1
Quant Overledger for Mobility, IOT and Automotive sectors - MOBI 20190220 v1Quant Overledger for Mobility, IOT and Automotive sectors - MOBI 20190220 v1
Quant Overledger for Mobility, IOT and Automotive sectors - MOBI 20190220 v1
 
Introduction to Blockchain
Introduction to BlockchainIntroduction to Blockchain
Introduction to Blockchain
 
Blockchain PowerPoint Presentation Slides
Blockchain PowerPoint Presentation SlidesBlockchain PowerPoint Presentation Slides
Blockchain PowerPoint Presentation Slides
 
Blockchain concepts
Blockchain conceptsBlockchain concepts
Blockchain concepts
 
Blockchain HyperLedger Fabric Internals - Clavent
Blockchain HyperLedger Fabric Internals - ClaventBlockchain HyperLedger Fabric Internals - Clavent
Blockchain HyperLedger Fabric Internals - Clavent
 
Blockchain - HyperLedger Fabric
Blockchain - HyperLedger FabricBlockchain - HyperLedger Fabric
Blockchain - HyperLedger Fabric
 
Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...
Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...
Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...
 
02 - Introduction to Hyperledger Fabric
02 - Introduction to Hyperledger Fabric  02 - Introduction to Hyperledger Fabric
02 - Introduction to Hyperledger Fabric
 
Designing a complete ci cd pipeline using argo events, workflow and cd products
Designing a complete ci cd pipeline using argo events, workflow and cd productsDesigning a complete ci cd pipeline using argo events, workflow and cd products
Designing a complete ci cd pipeline using argo events, workflow and cd products
 
Blockchain
BlockchainBlockchain
Blockchain
 

Semelhante a Blockchain testing strategy

Semelhante a Blockchain testing strategy (20)

IBM Blockchain Platform - Architectural Good Practices v1.0
IBM Blockchain Platform - Architectural Good Practices v1.0IBM Blockchain Platform - Architectural Good Practices v1.0
IBM Blockchain Platform - Architectural Good Practices v1.0
 
Blockchain and BPM - Reflections on Four Years of Research and Applications
Blockchain and BPM - Reflections on Four Years of Research and ApplicationsBlockchain and BPM - Reflections on Four Years of Research and Applications
Blockchain and BPM - Reflections on Four Years of Research and Applications
 
Blockchain Scalability - Architectures and Algorithms
Blockchain Scalability - Architectures and AlgorithmsBlockchain Scalability - Architectures and Algorithms
Blockchain Scalability - Architectures and Algorithms
 
Blockchain: No Thunder No Wonder
Blockchain: No Thunder No Wonder  Blockchain: No Thunder No Wonder
Blockchain: No Thunder No Wonder
 
#Interactive Session by Saby Saurabh Bhardwaj, "Redefine Quality Assurance –...
#Interactive Session by  Saby Saurabh Bhardwaj, "Redefine Quality Assurance –...#Interactive Session by  Saby Saurabh Bhardwaj, "Redefine Quality Assurance –...
#Interactive Session by Saby Saurabh Bhardwaj, "Redefine Quality Assurance –...
 
Decipher openseminar (1)
Decipher openseminar (1)Decipher openseminar (1)
Decipher openseminar (1)
 
Block-Chain Oriented Software Testing Approach
Block-Chain Oriented Software Testing ApproachBlock-Chain Oriented Software Testing Approach
Block-Chain Oriented Software Testing Approach
 
Blockchain for Enterprises
Blockchain for EnterprisesBlockchain for Enterprises
Blockchain for Enterprises
 
5 top techniques for testing blockchain apps
5 top techniques for testing blockchain apps5 top techniques for testing blockchain apps
5 top techniques for testing blockchain apps
 
Introduction to Blockchain Governance Models
Introduction to Blockchain Governance ModelsIntroduction to Blockchain Governance Models
Introduction to Blockchain Governance Models
 
GBA – Episode 1 “Enterprise Blockchain Adoption” – Cost of doing blockchain
GBA – Episode 1 “Enterprise Blockchain Adoption” – Cost of doing blockchainGBA – Episode 1 “Enterprise Blockchain Adoption” – Cost of doing blockchain
GBA – Episode 1 “Enterprise Blockchain Adoption” – Cost of doing blockchain
 
Blockchain for Business
Blockchain for BusinessBlockchain for Business
Blockchain for Business
 
Fair and trustworthy: Lock-free enhanced tendermint blockchain algorithm
Fair and trustworthy: Lock-free enhanced tendermint blockchain algorithmFair and trustworthy: Lock-free enhanced tendermint blockchain algorithm
Fair and trustworthy: Lock-free enhanced tendermint blockchain algorithm
 
Blockchain architected
Blockchain architectedBlockchain architected
Blockchain architected
 
AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301)
AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301)AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301)
AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301)
 
IoT and Blockchain Challenges and Risks
IoT and Blockchain Challenges and RisksIoT and Blockchain Challenges and Risks
IoT and Blockchain Challenges and Risks
 
Vilnius blockchain club 20170413 consensus
Vilnius blockchain club 20170413 consensusVilnius blockchain club 20170413 consensus
Vilnius blockchain club 20170413 consensus
 
Blockchain in FinTech
Blockchain in FinTechBlockchain in FinTech
Blockchain in FinTech
 
Wwc developing hyperledger applications v4
Wwc  developing hyperledger applications v4Wwc  developing hyperledger applications v4
Wwc developing hyperledger applications v4
 
BlockChain-1.pptx
BlockChain-1.pptxBlockChain-1.pptx
BlockChain-1.pptx
 

Último

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Último (20)

Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 

Blockchain testing strategy

  • 2. Topics to be covered • Current Situation-Real world problem • What is Blockchain and its Structure • Blockchain Technology – Key Component • How Blockchain Work • Test challenges in blockchain • Opportunity for Testers in Blockchain World • Blockchain Testing Scope & Approach • Blockchain Testing Tools • Performance Testing Approach • KPI’s for Monitoring
  • 3. Remember that the blockchain does not forgive you any errors because of its immutability! 1. The DAO attack Date: June 17, 2016 Price then: 3.6 million ether, US $79.6 million 2. Parity - The beginning (Someone “accidentally” deleted some critical code used by the popular Parity multisig wallet.) Date: July 19, 2017 Price then: 150,000 ETH, US $300 million 3. Out of the 19,366 Ethereum smart contracts analyzed, 8,833 of them had bugs Current Situation-Real world problem Size of the blockchain technology market worldwide from 2016 to 2021 (in million U.S. dollars) Source Statista 2019
  • 4. What is blockchain? • Block chain is chain of block which contains information in form of cryptography and shared through distributed ledger Source :Testing Blockchain Application by Thoughtworks
  • 5. Business logic embedded in ledger that can be triggered when certain conditions are met Cryptography is a central feature, transactions are secure, authenticated & verifiable A chronological record of transactions in a distributed ledger shared across a business network All participants agree to a network verified transaction by consensus Transactions are broadcasted through the network and travel from one node to another Transaction stored in the Distributed Ledger Security Smart Contracts Distributed Storage Ledger Network Consensus Lower Cost Increased Transparency Greater Security Faster Settlement Blockchain Technology – Key Component
  • 6. Transaction Requested Requested Transaction is broadcasted to peer to peer network Validation: Network of nodes validate the transactions using known algorithms Validated using different parameters like nonce, timestamp, signature SHA, hash in an algorithm Verified transaction create new bock data for ledger New block is added to the existing blockchain, which is immutable Transaction completed How Blockchain Works? Image Source
  • 7. What could go wrong in Blockchain testing ? Test challenges in blockchain testing 7 Transactions are Irreversible Standardization in Blockchain Testing Fast Pace of Blockchain Tech Innovations Lack of Blockchain knowledge base within Testing universe Lack of Best Practices, Models, Tools etc. within Blockchain Testing area 1 2 3 4 5 Scalability due to low capacity of reading and writing data compared to current relational databases
  • 8. Opportunity for Testers in Blockchain World Upskill knowledge with new way of testing Increase in Breadth & depth of testing profiles Deliver best in class & Growth opportunity Focused on innovative solution with higher quality Flexibility Best way to predict the future is to create it. – Peter Drucker
  • 9. INITIATION Requirement Understanding Architecture and Solution understanding Design full Testing strategy 01 DESIGN Test Creation Test Data Creation Environment and Node set- up Performance Metrics Security Assessment Strategy 02 TEST API Smart Contract Peer/Node Functional Non-functional Integration Execute node Test cases 03 REPORT Project Summary Report Performance Testing Report Smart Contract Testing Report Security Testing Report 04 Our unique blockchain testing approach ensures every aspect of blockchain is tested Blockchain Test Approach
  • 10. End-to-end solution to remove duplication or manipulation of product How it work in Retail Image Source
  • 11. FUNCTIONAL This is a holistic process that evaluates the work of various functional parts of the blockchain API Application Programming Interface tests address the interaction between applications in the blockchain ecosystem PEER/NODE Blockchain functions in a peer-to- peer distributed network through network nodes using a specific protocol for authentication PERFORMANCE Details like network latency based on block size, network size, expected transaction size, and how long a query takes to return the output with specialized authentication protocol SECURITY The aim is to identify if the application is vulnerable to attacks, assess if the authorization systems are robust, identify if the system protects the data and has the capability to ward off malicious attacks etc. SMART CONTRACT Smart Contract testing is largely about performing detailed functional testing of business logic and process. INTEGRATION Integration testing is important for Blockchain since deployment could be across several systems and environments High level view of test areas for a typical blockchain at nagarro Blockchain needs to be tested
  • 12. Blockchain Testing Scope Specialized Functional Performance Security & Data › Smart ContractTesting › Peer/nodeTesting › Network Connectivity › Third party software › Block size › Chain Size › Addition of block › Consistency/Availability › Gas Consumption › Services › Algorithms › Load › Synchronization › System performance › Consistency validation › Capacity of processing transactions › Cryptographical data › Verify data losses or corrupt › Transmission of data › Data corruption Blockchain Testing Scope
  • 13. Blockchain Testing Tools Functional, Non-functional testing tools FUNCTIONAL SECURITY FRAMEWORK PERFORMANCE › Hyperledger Composer › Ganache › ExonumTestkit › IBM Hyperledger › Remix › SOAP UI › Oyente › Solgraph › Mythrill › Hydra › Securify.ch › Solint › Porosity › Manticore › Truffle › EthereumTester › Populus › Embark › BitcoinJ › NeoLoad › CordaTestingTools › Hyperledger Caliper › Truffle
  • 14. Blockchain -Performance Testing Detailed layer wise performance testing Data LayerConsensus Layer Smart Contract Layer Application Layer Data LayerConsensus Layer Smart Contract Layer Application Layer A transaction requested Store new data Execute some task Response of the request Response of the request Record the new transaction Record the new transaction Source : ResearchGate white paper by Si Chen
  • 15. Average Block Size - The 24 hour average block size in MB Transactions per Day - The aggregate number of confirmed transactions in the past 24 hours. Mempool Size - The aggregate size of transactions waiting to be confirmed. Transaction per block - Average Number Of Transactions Per Block Hash Rate - The estimated number of tera hashes per second (trillions of hashes per second) the blockchain network is performing. Hash rate distribution - An estimation of hash rate distribution amongst the largest mining pools Cost per transactions - Miners revenue divided by the number of transactions Difficulty - A relative measure of how difficult it is to find a new block Gas Consumptions - Gas is what is used to calculate the amount of fees that need to be paid to the network in order to execute an operation KPI’s for Blockchain Monitoring Blockchain Popular Stats
  • 16. Key Points Considered for Testing To test a Smart contract, Algorithm, node etc. • Check overflows and underflows - Always test the limits of the functions • Check that the return values of your functions are always within the range of the expected values • Make sure that the return values are properly formatted • Gas consumption • Security • Performance
  • 17. Known attack 1. Re-entrancy 2. Front-Running (AKA Transaction-Ordering Dependence) 3. Timestamp Dependence 4. Integer Overflow and Underflow 5. DoS with (Unexpected) revert 6. DoS with Block Gas Limit 7. Gas Limit DoS on the Network via Block Stuffing 8. Forcibly Sending Ether to a Contract 9. Deprecated/historical attacks List of known attacks