SlideShare a Scribd company logo
1 of 36
Download to read offline
Testing Blockchain Application
Lipika Dugar
@lipikadugar
lipikad@thoughtworks.com
Srinivasan Sekar
srinivasantarget
sekars@thoughtworks.com
Blockchain
Agenda
➔ Introduction to Blockchain
➔ Significance of Blockchain Technology
➔ How does a Blockchain work
➔ When do we need it
➔ Types of Blockchain
➔ Blockchain in Real World Problems
➔ Smart Contracts
➔ Sample Application with Blockchain
➔ Test Strategy for Blockchain Application
➔ Blockchain Testing Tools in Market
➔ Contract Testing and Functional Testing
Lets “Understand the theory behind the working of Blockchain, when to
use it and how can we test Blockchain Applications”
What is a Blockchain
Blockchain History
1991
2009
Document Timestamp
Blockchain Use cases
Financial Institutions
❏ International Payments
❏ Capital Markets
❏ Trade Finance
❏ Insurance
❏ Peer-to-peer transactions
❏ Regulatory compliance &
audit
❏ Anti-money laundering &
KYC
Corporates
❏ Healthcare
❏ Real Estate
❏ Media
❏ Energy
❏ Supply chain
Management
Governments
❏ Record Managements
❏ Identity Management
❏ Voting
❏ Taxes
❏ Govt & non-profit
transparency
❏ Legislation, compliance
& regulatory oversight
Cross-Industry
❏ Shareholders’ Voting
❏ Record Management
❏ Cybersecurity
❏ Big Data
❏ Data Storage
❏ Internet of Things
❏ Financial management
& accounting
Do you really need a Blockchain?
Do you really need a Blockchain?
Permissionless
Blockchain
Public
Permissioned
Blockchain
Private
Permissioned
Blockchain
Don’t use
Blockchain
Do you need to
store state?
Are there
multiple
writers?
Can you use
online TTP?
Are all writers
known?
Is public
verifiability
required?
Are all writers
trusted?
No No
No No
No
No
Yes Yes
Yes
Yes
Yes
Yes
Yes
No
Blockchain Structure
Genesis Block
Block 1 Block 2
Previous
Block Hash
Block Hash
Data
Previous
Block Hash
Block Hash
Data
Previous
Block Hash
Block Hash
Data
Previous Hash: 0000
Block Hash: 0X56
Previous Hash: 0X56
Block Hash: I6GT
Previous Hash: I6GT
Block Hash: 54B8
Sender: Bob
Amount: 10$
Receiver: Alice
Blockchain Structure
Genesis Block
Previous
Block Hash
Block Hash
Data
Patient: Chris M
Doctor: Dr. George Dan
Purpose: Heart Surgery
Why Blockchain
Hacker
Almost Instantly
Amount: $99
THE PROBLEM STATEMENT
A B
Location: US
Amount: $100
Location: India
Trusted Third
Party
Amount: $95
2-3 days
Blockchain Concepts
How does Blockchain tries to solve these problems?
Alex (A) Betty (B)
Chris (C)Diana (D)
Genesis: A has $100
Amount: $50
A to B: $50
Amount: $30
B to C: $30
No centralised
system?
Amount: $80
Distributed Open Ledger
Genesis: A has $100
A to B:
$50
B to C:
$30
Genesis: A has $100
A to B:
$50
B to C:
$30
Genesis: A has $100
A to B:
$50
B to C:
$30
Genesis: A has $100
A to B:
$50
B to C:
$30
Alex (A) Betty (B) Chris (C)
Amount: $50 Amount: $30
Block Hash: 0X56
Previous Hash: 0000
Amount: 80$
Block Hash: I6GT
Previous Hash: 0X56
Amount: 50$
Block Hash: 54B8
Previous Hash: I6GT
Amount: 30$
Tampers Data
20$
XC65
Proof of Work
Proof Of Work
Proof of Work, or PoW is used to confirm
transactions and produce new blocks to the chain by
using consensus algorithm.
How does PoW Work (P2P Network)
How does PoW Work (P2P Network)
51%
Consensus
Miners
Miners Miners
Miners
Block Time
Bitcoin
10 min
Alex (A) Betty (B)
Chris (C)Diana (D)
Genesis: A has
$100
A to B:
$50
B to C:
$30
Genesis: A has
$100
A to B:
$50
B to C:
$30
Amount: $10
B to D: $10
Unvalidated Transaction
MINER
MINER
Validate Transaction
Update its ledger
Publish
Transaction Fee
Let’s Revisit
➔ Introduction to Blockchain
➔ Significance of Blockchain Technology
➔ How does a Blockchain work
➔ When do we need it
➔ Blockchain Concepts:
◆ Proof of Work
◆ Miners
◆ Block Time and Transaction Fee
Types of Blockchain
Permissionless
Public
Permissioned
Private
Permissioned
Consortium
Anyone can join the
network.
Anyone can read, verify
Limited number of users
can join network
Data viewed by public
Limited number of users
can join network
Data restricted for view by
public
Intra firm validation
Limited number of users
can join network
Data restricted for view by
public
Inter firm validation
Real World problems
Smart Contracts
Sample Application
vodQA Super Mart
How does it work?
Initiates the
transaction
Confirms the
transaction from
Sender’s Account to
Buyer’s Account
Block gets Mined and
added to the Chain
Testing the Application
❏ Technology Stack
❏ Performance Testing
❏ Integration Testing
❏ Security Testing
❏ Smart Contract Testing
❏ Node Testing
Factors to consider while testing Blockchain Application
Let’s discuss
Test Strategy for Blockchain Application
What to Test
❏ Block Size
❏ Chain Size
❏ Load
❏ Security
❏ Transmission of Data
❏ Addition of Block
❏ Cryptographical Data
Blockchain Testing Tools
Ganache
Contract Testing
Demo
Functional Testing
References
● https://eprint.iacr.org/2017/375.pdf
● https://cointelegraph.com/explained/proof-of-work-explained
● https://www.youtube.com/watch?v=SSo_EIwHSd4
● https://www.youtube.com/watch?v=M3EFi_POhps
● https://www.youtube.com/watch?v=AQXZbPsZE64&feature=youtu.be
● https://medium.com/datadriveninvestor/do-i-really-need-blockchain-4-important-fa
ctors-to-consider-57b06e4ffbb6
● https://www.youtube.com/watch?v=ZE2HxTmxfrI
● https://www.joecolantonio.com/blockchain-testing-tools/
● https://steemit.com/ethereum/@ryuzakilost/ethereum-smart-contracts-101-hello-w
orld
● https://www.nagarro.com/en/blog/4-key-factors-to-consider-when-testing-blockchai
n-applications
● https://github.com/lipikadugar/vodQA-supermart
Thank You
Lipika Dugar
@lipikadugar
lipikad@thoughtworks.com
Srinivasan Sekar
srinivasantarget
sekars@thoughtworks.com

More Related Content

What's hot

The Power of the Memo Field | Hedera18
The Power of the Memo Field | Hedera18The Power of the Memo Field | Hedera18
The Power of the Memo Field | Hedera18Hedera Hashgraph
 
Quantum Computing & Cryptography: A Brief Introduction
Quantum Computing & Cryptography: A Brief IntroductionQuantum Computing & Cryptography: A Brief Introduction
Quantum Computing & Cryptography: A Brief IntroductionHedera Hashgraph
 
Доклад Владимира Бичева на третьем митапе сообщества блокчейн-разработчиков С...
Доклад Владимира Бичева на третьем митапе сообщества блокчейн-разработчиков С...Доклад Владимира Бичева на третьем митапе сообщества блокчейн-разработчиков С...
Доклад Владимира Бичева на третьем митапе сообщества блокчейн-разработчиков С...Дмитрий Плахов
 
What is MultiChain Technology?
What is MultiChain Technology?What is MultiChain Technology?
What is MultiChain Technology?Blockchain Council
 
Распределенный blockchain процессинг / Алексей Трошичев (QiWi, Rakuten)
Распределенный blockchain процессинг / Алексей Трошичев (QiWi, Rakuten)Распределенный blockchain процессинг / Алексей Трошичев (QiWi, Rakuten)
Распределенный blockchain процессинг / Алексей Трошичев (QiWi, Rakuten)Ontico
 
create your own cryptocurrency
create your own cryptocurrencycreate your own cryptocurrency
create your own cryptocurrencyBellaj Badr
 
Real world blockchains
Real world blockchainsReal world blockchains
Real world blockchainsDmitry Meshkov
 
Distributed Blockchain Processing
Distributed Blockchain ProcessingDistributed Blockchain Processing
Distributed Blockchain ProcessingAlexey Troshichev
 
Build your own block chain
Build your own block chainBuild your own block chain
Build your own block chainBohdan Szymanik
 
Parity Progress Report
Parity Progress ReportParity Progress Report
Parity Progress Reportgavofyork
 
以比特幣為例的區塊鏈技術介紹 ( Intro to Blockchain using Bitcoin as an example)
以比特幣為例的區塊鏈技術介紹 ( Intro to Blockchain using Bitcoin as an example)以比特幣為例的區塊鏈技術介紹 ( Intro to Blockchain using Bitcoin as an example)
以比特幣為例的區塊鏈技術介紹 ( Intro to Blockchain using Bitcoin as an example)Nicholas Lin
 
The Bitcoin Lightning Network
The Bitcoin Lightning NetworkThe Bitcoin Lightning Network
The Bitcoin Lightning NetworkShun Shiku
 
Developing Blockchain Applications
Developing Blockchain Applications Developing Blockchain Applications
Developing Blockchain Applications malikmayank
 
CBGTBT - Part 3 - Transactions 101
CBGTBT - Part 3 - Transactions 101CBGTBT - Part 3 - Transactions 101
CBGTBT - Part 3 - Transactions 101Blockstrap.com
 

What's hot (20)

The Power of the Memo Field | Hedera18
The Power of the Memo Field | Hedera18The Power of the Memo Field | Hedera18
The Power of the Memo Field | Hedera18
 
Quantum Computing & Cryptography: A Brief Introduction
Quantum Computing & Cryptography: A Brief IntroductionQuantum Computing & Cryptography: A Brief Introduction
Quantum Computing & Cryptography: A Brief Introduction
 
Blockchain fundamentals
Blockchain fundamentalsBlockchain fundamentals
Blockchain fundamentals
 
Доклад Владимира Бичева на третьем митапе сообщества блокчейн-разработчиков С...
Доклад Владимира Бичева на третьем митапе сообщества блокчейн-разработчиков С...Доклад Владимира Бичева на третьем митапе сообщества блокчейн-разработчиков С...
Доклад Владимира Бичева на третьем митапе сообщества блокчейн-разработчиков С...
 
What is MultiChain Technology?
What is MultiChain Technology?What is MultiChain Technology?
What is MultiChain Technology?
 
Распределенный blockchain процессинг / Алексей Трошичев (QiWi, Rakuten)
Распределенный blockchain процессинг / Алексей Трошичев (QiWi, Rakuten)Распределенный blockchain процессинг / Алексей Трошичев (QiWi, Rakuten)
Распределенный blockchain процессинг / Алексей Трошичев (QiWi, Rakuten)
 
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
 
create your own cryptocurrency
create your own cryptocurrencycreate your own cryptocurrency
create your own cryptocurrency
 
Real world blockchains
Real world blockchainsReal world blockchains
Real world blockchains
 
Distributed Blockchain Processing
Distributed Blockchain ProcessingDistributed Blockchain Processing
Distributed Blockchain Processing
 
Build your own block chain
Build your own block chainBuild your own block chain
Build your own block chain
 
Sidechains introduction
Sidechains introductionSidechains introduction
Sidechains introduction
 
Intro into blockchain
Intro into blockchainIntro into blockchain
Intro into blockchain
 
Parity Progress Report
Parity Progress ReportParity Progress Report
Parity Progress Report
 
About Blockchain
About BlockchainAbout Blockchain
About Blockchain
 
以比特幣為例的區塊鏈技術介紹 ( Intro to Blockchain using Bitcoin as an example)
以比特幣為例的區塊鏈技術介紹 ( Intro to Blockchain using Bitcoin as an example)以比特幣為例的區塊鏈技術介紹 ( Intro to Blockchain using Bitcoin as an example)
以比特幣為例的區塊鏈技術介紹 ( Intro to Blockchain using Bitcoin as an example)
 
The Bitcoin Lightning Network
The Bitcoin Lightning NetworkThe Bitcoin Lightning Network
The Bitcoin Lightning Network
 
Developing Blockchain Applications
Developing Blockchain Applications Developing Blockchain Applications
Developing Blockchain Applications
 
Creda Cash Tech Pitch
Creda Cash Tech PitchCreda Cash Tech Pitch
Creda Cash Tech Pitch
 
CBGTBT - Part 3 - Transactions 101
CBGTBT - Part 3 - Transactions 101CBGTBT - Part 3 - Transactions 101
CBGTBT - Part 3 - Transactions 101
 

Similar to Blockchain workshop

Blockchain explained (Technology running Bitcoin)
Blockchain explained (Technology running Bitcoin)Blockchain explained (Technology running Bitcoin)
Blockchain explained (Technology running Bitcoin)Qais Ammari
 
SAA Blockchain Presentation. 10 Startups using the Blockchain
SAA Blockchain Presentation.  10 Startups using the BlockchainSAA Blockchain Presentation.  10 Startups using the Blockchain
SAA Blockchain Presentation. 10 Startups using the BlockchainTom McGovern
 
A Pharo story on blockchain technology
A Pharo story on blockchain technologyA Pharo story on blockchain technology
A Pharo story on blockchain technologyESUG
 
Final bc and c ppt.pptx
Final bc and c ppt.pptxFinal bc and c ppt.pptx
Final bc and c ppt.pptxBhoomiGupta43
 
Blockchain for Business on Hyperledger
Blockchain for Business on HyperledgerBlockchain for Business on Hyperledger
Blockchain for Business on HyperledgerAll Things Open
 
WSO2Con USA 2017: Keynote - The Blockchain’s Digital Disruption
WSO2Con USA 2017: Keynote - The Blockchain’s Digital DisruptionWSO2Con USA 2017: Keynote - The Blockchain’s Digital Disruption
WSO2Con USA 2017: Keynote - The Blockchain’s Digital DisruptionWSO2
 
An Introduction to Blockchain
An Introduction to BlockchainAn Introduction to Blockchain
An Introduction to BlockchainArun Sharma
 
Blockchain Technology Investment Thesis
Blockchain Technology Investment ThesisBlockchain Technology Investment Thesis
Blockchain Technology Investment ThesisNikhil Raghuveera
 
14 Jan17- Nullmeets -Blockchain concept decoded by Ninad Sarang
14 Jan17- Nullmeets -Blockchain concept decoded by Ninad Sarang14 Jan17- Nullmeets -Blockchain concept decoded by Ninad Sarang
14 Jan17- Nullmeets -Blockchain concept decoded by Ninad SarangNinad Sarang
 
Idea To IPO Blockchain Slides
Idea To IPO Blockchain SlidesIdea To IPO Blockchain Slides
Idea To IPO Blockchain SlidesRoger Royse
 
Blockchain: The New Technology of Trust
Blockchain: The New Technology of TrustBlockchain: The New Technology of Trust
Blockchain: The New Technology of TrustMacha Pujitha
 
Blockchain: 12 predictions for a new world
Blockchain: 12 predictions for a new worldBlockchain: 12 predictions for a new world
Blockchain: 12 predictions for a new worldPhilippe Camacho, Ph.D.
 
Introduction to blockchain 2018
Introduction to blockchain 2018Introduction to blockchain 2018
Introduction to blockchain 2018Christian Kameir
 
BlockChain: Challenges & Opportunities Across Multiple Industries - by Juan L...
BlockChain: Challenges & Opportunities Across Multiple Industries - by Juan L...BlockChain: Challenges & Opportunities Across Multiple Industries - by Juan L...
BlockChain: Challenges & Opportunities Across Multiple Industries - by Juan L...Globant
 
BDM Meetup #1 - Blockchains for Developers - Part 01
BDM Meetup #1 - Blockchains for Developers - Part 01BDM Meetup #1 - Blockchains for Developers - Part 01
BDM Meetup #1 - Blockchains for Developers - Part 01Mark Smalley
 
Hiberus Experience - Fundamentos de Blockchain
Hiberus Experience - Fundamentos de BlockchainHiberus Experience - Fundamentos de Blockchain
Hiberus Experience - Fundamentos de BlockchainHiberus Tecnología
 
Blockchain and bitcoin fundamentals (usages and applications)
Blockchain and bitcoin fundamentals (usages and applications)Blockchain and bitcoin fundamentals (usages and applications)
Blockchain and bitcoin fundamentals (usages and applications)Amir Rafati
 

Similar to Blockchain workshop (20)

Blockchain explained (Technology running Bitcoin)
Blockchain explained (Technology running Bitcoin)Blockchain explained (Technology running Bitcoin)
Blockchain explained (Technology running Bitcoin)
 
SAA Blockchain Presentation. 10 Startups using the Blockchain
SAA Blockchain Presentation.  10 Startups using the BlockchainSAA Blockchain Presentation.  10 Startups using the Blockchain
SAA Blockchain Presentation. 10 Startups using the Blockchain
 
A Pharo story on blockchain technology
A Pharo story on blockchain technologyA Pharo story on blockchain technology
A Pharo story on blockchain technology
 
Final bc and c ppt.pptx
Final bc and c ppt.pptxFinal bc and c ppt.pptx
Final bc and c ppt.pptx
 
Blockchain for Business on Hyperledger
Blockchain for Business on HyperledgerBlockchain for Business on Hyperledger
Blockchain for Business on Hyperledger
 
WSO2Con USA 2017: Keynote - The Blockchain’s Digital Disruption
WSO2Con USA 2017: Keynote - The Blockchain’s Digital DisruptionWSO2Con USA 2017: Keynote - The Blockchain’s Digital Disruption
WSO2Con USA 2017: Keynote - The Blockchain’s Digital Disruption
 
Introduction to Blockchain
Introduction to BlockchainIntroduction to Blockchain
Introduction to Blockchain
 
An Introduction to Blockchain
An Introduction to BlockchainAn Introduction to Blockchain
An Introduction to Blockchain
 
Blockchain Technology Investment Thesis
Blockchain Technology Investment ThesisBlockchain Technology Investment Thesis
Blockchain Technology Investment Thesis
 
14 Jan17- Nullmeets -Blockchain concept decoded by Ninad Sarang
14 Jan17- Nullmeets -Blockchain concept decoded by Ninad Sarang14 Jan17- Nullmeets -Blockchain concept decoded by Ninad Sarang
14 Jan17- Nullmeets -Blockchain concept decoded by Ninad Sarang
 
Idea To IPO Blockchain Slides
Idea To IPO Blockchain SlidesIdea To IPO Blockchain Slides
Idea To IPO Blockchain Slides
 
Blockchain: The New Technology of Trust
Blockchain: The New Technology of TrustBlockchain: The New Technology of Trust
Blockchain: The New Technology of Trust
 
Blockchain: 12 predictions for a new world
Blockchain: 12 predictions for a new worldBlockchain: 12 predictions for a new world
Blockchain: 12 predictions for a new world
 
Introduction to blockchain 2018
Introduction to blockchain 2018Introduction to blockchain 2018
Introduction to blockchain 2018
 
BlockChain: Challenges & Opportunities Across Multiple Industries - by Juan L...
BlockChain: Challenges & Opportunities Across Multiple Industries - by Juan L...BlockChain: Challenges & Opportunities Across Multiple Industries - by Juan L...
BlockChain: Challenges & Opportunities Across Multiple Industries - by Juan L...
 
Blockchain
BlockchainBlockchain
Blockchain
 
BDM Meetup #1 - Blockchains for Developers - Part 01
BDM Meetup #1 - Blockchains for Developers - Part 01BDM Meetup #1 - Blockchains for Developers - Part 01
BDM Meetup #1 - Blockchains for Developers - Part 01
 
Masterclass on Bitcoin, Ethereum & Cryptoassets
Masterclass on Bitcoin, Ethereum & CryptoassetsMasterclass on Bitcoin, Ethereum & Cryptoassets
Masterclass on Bitcoin, Ethereum & Cryptoassets
 
Hiberus Experience - Fundamentos de Blockchain
Hiberus Experience - Fundamentos de BlockchainHiberus Experience - Fundamentos de Blockchain
Hiberus Experience - Fundamentos de Blockchain
 
Blockchain and bitcoin fundamentals (usages and applications)
Blockchain and bitcoin fundamentals (usages and applications)Blockchain and bitcoin fundamentals (usages and applications)
Blockchain and bitcoin fundamentals (usages and applications)
 

More from VodqaBLR

Consumer-Driven Contract Testing PACT
Consumer-Driven Contract Testing PACTConsumer-Driven Contract Testing PACT
Consumer-Driven Contract Testing PACTVodqaBLR
 
Taiko presentation
Taiko presentationTaiko presentation
Taiko presentationVodqaBLR
 
Chatbot Testing
Chatbot TestingChatbot Testing
Chatbot TestingVodqaBLR
 
Key Note VodQA(Bangalore) 2018
Key Note VodQA(Bangalore) 2018Key Note VodQA(Bangalore) 2018
Key Note VodQA(Bangalore) 2018VodqaBLR
 
Android security testing
Android security testingAndroid security testing
Android security testingVodqaBLR
 
Advance appium workshop.pptx
Advance appium workshop.pptxAdvance appium workshop.pptx
Advance appium workshop.pptxVodqaBLR
 
Testing natural language processing
Testing natural language processingTesting natural language processing
Testing natural language processingVodqaBLR
 
Drive chrome(headless) with puppeteer
Drive chrome(headless) with puppeteerDrive chrome(headless) with puppeteer
Drive chrome(headless) with puppeteerVodqaBLR
 
Improve your Chaos IQ
Improve your Chaos IQImprove your Chaos IQ
Improve your Chaos IQVodqaBLR
 
WebDriver Lamda - Next Gen Scalable Test
WebDriver Lamda - Next Gen Scalable TestWebDriver Lamda - Next Gen Scalable Test
WebDriver Lamda - Next Gen Scalable TestVodqaBLR
 
Testing Tools with AI
Testing Tools with AITesting Tools with AI
Testing Tools with AIVodqaBLR
 
Dynamic Security Analysis & Static Security Analysis for Android Apps.
Dynamic Security Analysis & Static Security Analysis for Android Apps.Dynamic Security Analysis & Static Security Analysis for Android Apps.
Dynamic Security Analysis & Static Security Analysis for Android Apps.VodqaBLR
 
Visual testing for Mobile Native Applications
Visual testing for Mobile Native ApplicationsVisual testing for Mobile Native Applications
Visual testing for Mobile Native ApplicationsVodqaBLR
 
Parallel Sim Test using XCUI
Parallel Sim Test using XCUI Parallel Sim Test using XCUI
Parallel Sim Test using XCUI VodqaBLR
 
Performance Testing using Taurus
Performance Testing using TaurusPerformance Testing using Taurus
Performance Testing using TaurusVodqaBLR
 
Writing Maintainable Tests
Writing Maintainable TestsWriting Maintainable Tests
Writing Maintainable TestsVodqaBLR
 
Continuous security testing - sharing responsibility
Continuous security testing - sharing responsibilityContinuous security testing - sharing responsibility
Continuous security testing - sharing responsibilityVodqaBLR
 
ABCing docker with environments - workshop
ABCing docker with environments - workshopABCing docker with environments - workshop
ABCing docker with environments - workshopVodqaBLR
 
Automate Web or Mobile Analytics using TrakMatic
Automate Web or Mobile Analytics using TrakMaticAutomate Web or Mobile Analytics using TrakMatic
Automate Web or Mobile Analytics using TrakMaticVodqaBLR
 
Quality Assurance in Healthcare
Quality Assurance in HealthcareQuality Assurance in Healthcare
Quality Assurance in HealthcareVodqaBLR
 

More from VodqaBLR (20)

Consumer-Driven Contract Testing PACT
Consumer-Driven Contract Testing PACTConsumer-Driven Contract Testing PACT
Consumer-Driven Contract Testing PACT
 
Taiko presentation
Taiko presentationTaiko presentation
Taiko presentation
 
Chatbot Testing
Chatbot TestingChatbot Testing
Chatbot Testing
 
Key Note VodQA(Bangalore) 2018
Key Note VodQA(Bangalore) 2018Key Note VodQA(Bangalore) 2018
Key Note VodQA(Bangalore) 2018
 
Android security testing
Android security testingAndroid security testing
Android security testing
 
Advance appium workshop.pptx
Advance appium workshop.pptxAdvance appium workshop.pptx
Advance appium workshop.pptx
 
Testing natural language processing
Testing natural language processingTesting natural language processing
Testing natural language processing
 
Drive chrome(headless) with puppeteer
Drive chrome(headless) with puppeteerDrive chrome(headless) with puppeteer
Drive chrome(headless) with puppeteer
 
Improve your Chaos IQ
Improve your Chaos IQImprove your Chaos IQ
Improve your Chaos IQ
 
WebDriver Lamda - Next Gen Scalable Test
WebDriver Lamda - Next Gen Scalable TestWebDriver Lamda - Next Gen Scalable Test
WebDriver Lamda - Next Gen Scalable Test
 
Testing Tools with AI
Testing Tools with AITesting Tools with AI
Testing Tools with AI
 
Dynamic Security Analysis & Static Security Analysis for Android Apps.
Dynamic Security Analysis & Static Security Analysis for Android Apps.Dynamic Security Analysis & Static Security Analysis for Android Apps.
Dynamic Security Analysis & Static Security Analysis for Android Apps.
 
Visual testing for Mobile Native Applications
Visual testing for Mobile Native ApplicationsVisual testing for Mobile Native Applications
Visual testing for Mobile Native Applications
 
Parallel Sim Test using XCUI
Parallel Sim Test using XCUI Parallel Sim Test using XCUI
Parallel Sim Test using XCUI
 
Performance Testing using Taurus
Performance Testing using TaurusPerformance Testing using Taurus
Performance Testing using Taurus
 
Writing Maintainable Tests
Writing Maintainable TestsWriting Maintainable Tests
Writing Maintainable Tests
 
Continuous security testing - sharing responsibility
Continuous security testing - sharing responsibilityContinuous security testing - sharing responsibility
Continuous security testing - sharing responsibility
 
ABCing docker with environments - workshop
ABCing docker with environments - workshopABCing docker with environments - workshop
ABCing docker with environments - workshop
 
Automate Web or Mobile Analytics using TrakMatic
Automate Web or Mobile Analytics using TrakMaticAutomate Web or Mobile Analytics using TrakMatic
Automate Web or Mobile Analytics using TrakMatic
 
Quality Assurance in Healthcare
Quality Assurance in HealthcareQuality Assurance in Healthcare
Quality Assurance in Healthcare
 

Recently uploaded

SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Anthony Dahanne
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profileakrivarotava
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 

Recently uploaded (20)

SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profile
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 

Blockchain workshop

  • 1. Testing Blockchain Application Lipika Dugar @lipikadugar lipikad@thoughtworks.com Srinivasan Sekar srinivasantarget sekars@thoughtworks.com Blockchain
  • 2. Agenda ➔ Introduction to Blockchain ➔ Significance of Blockchain Technology ➔ How does a Blockchain work ➔ When do we need it ➔ Types of Blockchain ➔ Blockchain in Real World Problems ➔ Smart Contracts ➔ Sample Application with Blockchain ➔ Test Strategy for Blockchain Application ➔ Blockchain Testing Tools in Market ➔ Contract Testing and Functional Testing
  • 3. Lets “Understand the theory behind the working of Blockchain, when to use it and how can we test Blockchain Applications”
  • 4.
  • 5. What is a Blockchain
  • 7. Blockchain Use cases Financial Institutions ❏ International Payments ❏ Capital Markets ❏ Trade Finance ❏ Insurance ❏ Peer-to-peer transactions ❏ Regulatory compliance & audit ❏ Anti-money laundering & KYC Corporates ❏ Healthcare ❏ Real Estate ❏ Media ❏ Energy ❏ Supply chain Management Governments ❏ Record Managements ❏ Identity Management ❏ Voting ❏ Taxes ❏ Govt & non-profit transparency ❏ Legislation, compliance & regulatory oversight Cross-Industry ❏ Shareholders’ Voting ❏ Record Management ❏ Cybersecurity ❏ Big Data ❏ Data Storage ❏ Internet of Things ❏ Financial management & accounting
  • 8. Do you really need a Blockchain?
  • 9. Do you really need a Blockchain? Permissionless Blockchain Public Permissioned Blockchain Private Permissioned Blockchain Don’t use Blockchain Do you need to store state? Are there multiple writers? Can you use online TTP? Are all writers known? Is public verifiability required? Are all writers trusted? No No No No No No Yes Yes Yes Yes Yes Yes Yes No
  • 10. Blockchain Structure Genesis Block Block 1 Block 2 Previous Block Hash Block Hash Data Previous Block Hash Block Hash Data Previous Block Hash Block Hash Data Previous Hash: 0000 Block Hash: 0X56 Previous Hash: 0X56 Block Hash: I6GT Previous Hash: I6GT Block Hash: 54B8
  • 11. Sender: Bob Amount: 10$ Receiver: Alice Blockchain Structure Genesis Block Previous Block Hash Block Hash Data Patient: Chris M Doctor: Dr. George Dan Purpose: Heart Surgery
  • 13. Hacker Almost Instantly Amount: $99 THE PROBLEM STATEMENT A B Location: US Amount: $100 Location: India Trusted Third Party Amount: $95 2-3 days
  • 14. Blockchain Concepts How does Blockchain tries to solve these problems?
  • 15. Alex (A) Betty (B) Chris (C)Diana (D) Genesis: A has $100 Amount: $50 A to B: $50 Amount: $30 B to C: $30 No centralised system? Amount: $80 Distributed Open Ledger Genesis: A has $100 A to B: $50 B to C: $30 Genesis: A has $100 A to B: $50 B to C: $30 Genesis: A has $100 A to B: $50 B to C: $30 Genesis: A has $100 A to B: $50 B to C: $30
  • 16. Alex (A) Betty (B) Chris (C) Amount: $50 Amount: $30 Block Hash: 0X56 Previous Hash: 0000 Amount: 80$ Block Hash: I6GT Previous Hash: 0X56 Amount: 50$ Block Hash: 54B8 Previous Hash: I6GT Amount: 30$ Tampers Data 20$ XC65 Proof of Work
  • 17. Proof Of Work Proof of Work, or PoW is used to confirm transactions and produce new blocks to the chain by using consensus algorithm.
  • 18. How does PoW Work (P2P Network)
  • 19. How does PoW Work (P2P Network) 51% Consensus Miners Miners Miners Miners
  • 21. Alex (A) Betty (B) Chris (C)Diana (D) Genesis: A has $100 A to B: $50 B to C: $30 Genesis: A has $100 A to B: $50 B to C: $30 Amount: $10 B to D: $10 Unvalidated Transaction MINER MINER Validate Transaction Update its ledger Publish Transaction Fee
  • 22. Let’s Revisit ➔ Introduction to Blockchain ➔ Significance of Blockchain Technology ➔ How does a Blockchain work ➔ When do we need it ➔ Blockchain Concepts: ◆ Proof of Work ◆ Miners ◆ Block Time and Transaction Fee
  • 23. Types of Blockchain Permissionless Public Permissioned Private Permissioned Consortium Anyone can join the network. Anyone can read, verify Limited number of users can join network Data viewed by public Limited number of users can join network Data restricted for view by public Intra firm validation Limited number of users can join network Data restricted for view by public Inter firm validation
  • 25.
  • 28. How does it work? Initiates the transaction Confirms the transaction from Sender’s Account to Buyer’s Account Block gets Mined and added to the Chain
  • 29. Testing the Application ❏ Technology Stack ❏ Performance Testing ❏ Integration Testing ❏ Security Testing ❏ Smart Contract Testing ❏ Node Testing Factors to consider while testing Blockchain Application
  • 30. Let’s discuss Test Strategy for Blockchain Application
  • 31. What to Test ❏ Block Size ❏ Chain Size ❏ Load ❏ Security ❏ Transmission of Data ❏ Addition of Block ❏ Cryptographical Data
  • 35. References ● https://eprint.iacr.org/2017/375.pdf ● https://cointelegraph.com/explained/proof-of-work-explained ● https://www.youtube.com/watch?v=SSo_EIwHSd4 ● https://www.youtube.com/watch?v=M3EFi_POhps ● https://www.youtube.com/watch?v=AQXZbPsZE64&feature=youtu.be ● https://medium.com/datadriveninvestor/do-i-really-need-blockchain-4-important-fa ctors-to-consider-57b06e4ffbb6 ● https://www.youtube.com/watch?v=ZE2HxTmxfrI ● https://www.joecolantonio.com/blockchain-testing-tools/ ● https://steemit.com/ethereum/@ryuzakilost/ethereum-smart-contracts-101-hello-w orld ● https://www.nagarro.com/en/blog/4-key-factors-to-consider-when-testing-blockchai n-applications ● https://github.com/lipikadugar/vodQA-supermart
  • 36. Thank You Lipika Dugar @lipikadugar lipikad@thoughtworks.com Srinivasan Sekar srinivasantarget sekars@thoughtworks.com