Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Exactpro Software Testing for R3 Blockchain

Exactpro Software Testing for R3 Blockchain

Exactpro Software Testing for R3 Blockchain

Iosif Itkin
co-CEO & co-founder, Exactpro

QA Financial Forum
12 March 2020, London

Video: https://youtu.be/Qn1Lf-z-Z0M

To learn more about Exactpro, visit our website https://exactpro.com/

Follow us on
LinkedIn https://www.linkedin.com/company/exactpro-systems-llc
Twitter https://twitter.com/exactpro
Facebook https://www.facebook.com/exactpro/
Instagram https://www.instagram.com/exactpro/

Subscribe to Exactpro Vimeo channel https://vimeo.com/exactpro
Subscribe to Exactpro YouTube channel https://www.youtube.com/c/exactprosystems

Exactpro

March 12, 2020
Tweet

More Decks by Exactpro

Other Decks in Technology

Transcript

  1. Build Software to Test Software exactpro.com Software testing for R3

    Corda Blockchain Iosif Itkin, CEO and co-founder, Exactpro
  2. 2 Build Software to Test Software exactpro.com A specialist firm

    focused on functional and non-functional testing of exchanges, clearing houses, depositories, trade repositories and other financial market infrastructures. About Exactpro Headquartered in the UK with operations in the US and Eastern Europe. The clients are regulated by the FCA, Bank of England and their counterparts from other countries. Exactpro provides software testing services for mission critical technology that underpins global financial markets. The firm is experienced with trading and clearing and settlement platforms, market data systems, collateral management and risk management systems, central data warehouses, regulatory reporting, etc. Incorporated in 2009 with 10 people, Exactpro is now employing over 580 specialists. Part of the London Stock Exchange Group (LSEG) from May 2015 until January 2018, when the Exactpro management proceeded through the buyout of the company from LSEG.
  3. 4 Build Software to Test Software exactpro.com Exactpro Partners Exactpro

    partners with numerous global organisations on multiple projects worldwide Exactpro has initiated and is now co-chairing the FIX MOST Working Group (Monitoring, Onboarding and Software Testing). The group’s goal is to define testing standards and best practices.
  4. 5 Build Software to Test Software exactpro.com 5 Build Software

    to Test Software exactpro.com New FIX Working Group
  5. 7 Build Software to Test Software exactpro.com 7 Build Software

    to Test Software exactpro.com • Platforms • People • Processes • Security
  6. 8 Build Software to Test Software exactpro.com Is Blockchain Financial

    Plumbing Still Years Away? https://www.coindesk.com/exactpro-dlt-post-trade-software-testing 25 March 2019
  7. 12 Build Software to Test Software exactpro.com Meena is Unavailable

    to Talk Quote: “Also, tackling safety and bias in the models is a key focus area for us, and given the challenges related to this, we are not currently releasing an external research demo”
  8. 14 Build Software to Test Software exactpro.com This is what

    I think I am owed This is what is owed Duplication of data High fragmentation Expensive reconciliations Today Financial Services
  9. 16 Build Software to Test Software exactpro.com Reduced data costs

    Reduced operational risk No inter-entity reconciliations Tomorrow This is what I think I am owed Financial Services
  10. 17 Build Software to Test Software exactpro.com Traditional blockchains This

    is what we owe each other This is what A owes B! This is what A owes B! No Privacy
  11. 18 Build Software to Test Software exactpro.com This is what

    we owe each other Channels This is what we owe each other Segregation
  12. 19 Build Software to Test Software exactpro.com The Corda approach

    I know facts 1, 2 and 4 I know facts 1, 3 and 5 I know facts 2, 3 and 5 I know facts 2, 4 and 5 I know facts 3, 4 and 5 Enterprise Grade Blockchain
  13. 21 Build Software to Test Software exactpro.com Typical Requirements for

    an Exchange System Daily capacity - 100+ mln transactions Peak rates - 40k+ transactions per second Average round-trip latency - <100 microseconds Availability - 100% 3000 trx 2.5 cm <1 mm
  14. Enterprise grade blockchain platform enabling distrusting parties to form and

    maintain consensus about the existence, status and evolution of a set of shared facts. 24
  15. Key Concepts States States are immutable objects that represent shared

    facts such as a financial agreement or contract at a specific point in time Transactions Transactions consume input states and create output states. Newly created output states replace the input states which are marked as historic Contracts Contracts control the evolution of states by allowing relevant participants to check for transaction validity Flows Flows are light-weight processes used to coordinate interactions required for peers to create and agree transactions
  16. What it is What it does Trust Root The single,

    long-term cryptographic key which all network‘s identity (X509) certificates root back to It provides the basis of trust in the provenance of data, recognised by participants Identity Manager Admits new members onto the network via granting an identity certificate Performs 3 checks on new certificate requests and grants based on passing the checks Network Map A list of IP addresses and legal entity names of each participant on the network, which all participants can access Acts as a Corda Network ‘phone directory’ Notary Node or cluster of notary nodes Prevents double-spend of input states nodes notary A Corda Network The Network Permissioned network with public identities allowing nodes to communicate directly with each other
  17. Testing challenges • Platform technology (build CorDapps to test the

    full API) • Highly distributed (complexity in test automation) • Heterogeneous networks (combinatorial explosion) • Highly secure (cryptography, ledger consistency is everything) • Eventually consistent (transaction flows can be complex) • Evolutionary lifecycle (platform and CorDapp upgrades) • Highly available (resiliency testing) • Temporal (performance testing)
  18. Testing challenges • Platform technology (build CorDapps to test the

    full API) • Highly distributed (complexity in test automation) • Heterogeneous networks (combinatorial explosion) • Highly secure (cryptography, ledger consistency is everything) • Eventually consistent (transaction flows can be complex) • Evolutionary lifecycle (platform and CorDapp upgrades) • Highly available (resiliency testing) • Temporal (performance testing)
  19. 31 Build Software to Test Software exactpro.com 31 Build Software

    to Test Software exactpro.com Multi-Threaded Distributed Applications
  20. 32 Build Software to Test Software exactpro.com EXACTPRO AI and

    Software Testing There are three chapters with examinable content. The top-level heading for each chapter specifies the time for the chapter; timing is not provided below chapter level. For the A4Q AI and Software Testing Foundation training course, the syllabus requires a minimum of 17 hours, 10 minutes of instruction, distributed across the three chapters as follows: Chapter 1: AI and Software Testing Background 360 minutes Chapter 2: Testing Artificial Intelligence Systems 400 minutes Chapter 3: Using AI to Support Testing 270 minutes https://www.gasq.org/en/exam-modules/a4q-ai-and-software-testing.html
  21. 33 Build Software to Test Software exactpro.com EXACTPRO AI Testing

    Software Challenges Non-Deterministic Probabilistic Non-Testable Oracle Problem
  22. 35 Build Software to Test Software exactpro.com EXACTPRO Indirect Testing

    Methods Information extraction and Machine learning End-to-End Automated Test Library Whatever it takes! Test execution data and log analysis Passive Testing
  23. 36 Build Software to Test Software exactpro.com EXACTPRO Ability to

    Generalize: Scope of End-to-End and Negative Testing
  24. 45 Build Software to Test Software exactpro.com 1 Larva 2

    Pupa 3 Adult Approach: Metamorphic Testing sin(x) = sin(x + 2) sin(x) = sin( - x)