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

Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 

Recently uploaded (20)

Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 

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