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

th2 — cистема с открытым исходным кодом для функционального тестирования финтех-систем под нагрузкой

th2 — cистема с открытым исходным кодом для функционального тестирования финтех-систем под нагрузкой

Презентация была подготовлена в рамках конференции HighLoad++ Весна 2021, на которой выступила Наталья Крюкова, менеджер платформы th2, Exactpro.
Наталья рассказала об особенностях разработки и использования платформы для автоматизации тестирования финтех-приложений th2, а также описала сценарии использования платформы при тестировании крупнейших биржевых площадок, при работе с начинающими криптовалютными биржами и при интеграции с блокчейн-системами R3 Corda и DAML.

Видео доклада доступно по ссылке: https://youtu.be/nzBB3pDru7M

---
Подписывайтесь на Exactpro в социальных сетях:

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/

Подписывайтесь на YouTube канал Exactpro http://www.youtube.com/c/ExactproVlog

5206c19df417b8876825b5561344c1a0?s=128

Exactpro
PRO

May 23, 2021
Tweet

Transcript

  1. th2 — cистема с открытым исходным кодом для функционального тестирования

    финтех-систем под нагрузкой 17 May, 2021 Наталья Крюкова, th2, Exactpro
  2. 2 Build Software to Test Software exactpro.com # about Exactpro

    BUILD SOFTWARE TO TEST SOFTWARE - Exactpro focus is software testing mission critical financial markets technology - Headquartered in the UK with operations in the US, Russia and Georgia - Our clients are regulated by the FCA, Bank of England and their counterparts from other countries - Part of the London Stock Exchange Group (LSEG) from May 2015 until January 2018, when Exactpro management bought the company from LSEG - Exactpro solutions are used in more than 20 countries all over the world - Exactpro solutions are used by more than a half of top 20 exchange groups - Incorporated on 9th September 2009 with 10 people, Exactpro now employs over 630 specialists
  3. 3 Build Software to Test Software exactpro.com # about Exactpro

    Global Client Network
  4. 4 Build Software to Test Software exactpro.com # about th2

    Integration Trading technology Data Network Protocols UI connect • NASDAQ • LSE Technology • R3 Corda, DAML, Hyperledger • Logs • Databases • Network captures • Full stream of inputs/outputs • Test events • Selenium • Appium • WinAppDriver • FIXML • ITCH • Native • ISO SWIFT • SOAP • HTTP • FIX and dialects including 4.2, 4.3, 4.4, 5.0 • Your protocol • CI/CD • Test Management • Defect Tracking • Data Analysis • Cloud th2 is an open source toolkit for Software Development Engineers in Test. th2 can be used to develop machine driven e2e test libraries for complex financial transaction processing system.
  5. 5 Build Software to Test Software exactpro.com # plan why?

    • fintech applications requirements • test approach limitations
  6. 6 Build Software to Test Software exactpro.com # plan why?

    what? • fintech applications requirements • test approach limitations • th2 and HiVAT paradigm
  7. 7 Build Software to Test Software exactpro.com # plan why?

    what? how? • fintech applications requirements • test approach limitations • th2 and HiVAT paradigm • th2 architecture (th2-infra, th2-core) • th2 use cases
  8. 8 Build Software to Test Software exactpro.com why? # fintech

    logic complexity
  9. 9 Build Software to Test Software exactpro.com • Daily capacity

    – 300+ mln transactions • Peakrates – 50k transactions per second per partition • Average round-trip latency – <60 microseconds • Availability – high nines why? # fintech technical capacity 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2 5 6.5 9 12.5 15.5 18 26 33 41 59 74 94 118 149 Data Volume in zettabytes
  10. 10 Build Software to Test Software exactpro.com why? # test

    approach - functional logic Web Binary FIX Market Data Database
  11. 11 Build Software to Test Software exactpro.com why? # test

    approach - technical capacity
  12. 12 Build Software to Test Software exactpro.com why? # the

    case throttling batching issues deadlocks
  13. 13 Build Software to Test Software exactpro.com why? # the

    case Production ? throttling batching issues deadlocks
  14. 14 Build Software to Test Software exactpro.com why? # the

    case Facebook IPO Production? high load just one cancel cross book DANGER throttling batching issues deadlocks
  15. 15 Build Software to Test Software exactpro.com why? # the

    case Facebook IPO $10m+ penalties Production? no trading for 30 min DANGER throttling batching issues deadlocks high load just one cancel cross book SEC FINES
  16. 16 Build Software to Test Software exactpro.com why? # the

    case Functional Testing Non-Functional Testing ? ? ? ? ? ?
  17. 17 Build Software to Test Software exactpro.com what? # the

    in-between Functional Testing Non-Functional Testing
  18. 18 Build Software to Test Software exactpro.com # next-generation test

    tool what? Modularity Configuration Agility Data Analysis Diversity Resilience Scalability
  19. 19 Build Software to Test Software exactpro.com # th2 Modularity

    Configuration Agility Data Analysis Diversity Resilience Scalability how?
  20. 20 Build Software to Test Software exactpro.com CUSTOM # th2

    CORE PREPARED BUILDING BLOCKS Tests act check2 sim codec conn read hand System Under Test storage data viewers estore mstore check1 Modularity Configuration Agility Data Analysis Diversity Resilience Scalability DATA SERVICES how?
  21. 21 Build Software to Test Software exactpro.com CUSTOM CORE PREPARED

    BUILDING BLOCKS Tests act check2 sim codec conn read hand System Under Test storage data viewers estore mstore check1 Modularity Configuration Agility Data Analysis Diversity Resilience Scalability # th2 - infra how? DATA SERVICES
  22. 22 Build Software to Test Software exactpro.com CUSTOM CORE PREPARED

    BUILDING BLOCKS act check2 sim codec conn read hand System Under Test estore mstore check1 Modularity Configuration Agility Data Analysis Diversity Resilience Scalability storage schema1 # th2 - infra how?
  23. 23 Build Software to Test Software exactpro.com CUSTOM CORE PREPARED

    BUILDING BLOCKS act check2 sim codec conn read hand System Under Test estore mstore check1 Modularity Configuration Agility Data Analysis Diversity Resilience Scalability storage schema1 Docker repository Built-in components CI/CD Source code repository System configurations Tests source code Custom components components/versions infra 1 infra 2 infra N # th2 - infra how?
  24. 24 Build Software to Test Software exactpro.com System Under Test

    Modularity Configuration Agility Data Analysis Diversity Resilience Scalability storage Docker repository Built-in components CI/CD Source code repository System configurations Tests source code Custom components components/versions infra 1 infra 2 infra N schema2 schemaN schema1 # th2 - infra how?
  25. 25 Build Software to Test Software exactpro.com System Under Test

    Modularity Configuration Agility Data Analysis Diversity Resilience Scalability storage service Docker repository Built-in components CI/CD Source code repository System configurations Tests source code Custom components components/versions infra 1 infra 2 infra N schema2 schemaN schema1 infra-manager infra-operator helm-operator # th2 - infra how?
  26. 26 Build Software to Test Software exactpro.com System Under Test

    Modularity Configuration Agility Data Analysis Diversity Resilience Scalability storage service Docker repository Built-in components CI/CD Source code repository System configurations Tests source code Custom components components/versions infra 1 infra 2 infra N schema2 schemaN schema1 infra-manager infra-operator helm-operator # th2 - infra how?
  27. 27 Build Software to Test Software exactpro.com System Under Test

    Modularity Configuration Agility Data Analysis Diversity Resilience Scalability service schemaN infra-manager infra-operator helm-operator infra git helm release th2 custom resources how? # th2 - infra infra
  28. 28 Build Software to Test Software exactpro.com # th2 -

    infra Modularity Configuration Agility Data Analysis Diversity Resilience Scalability Provide access to k8s cluster Create Rabbitmq and Cassandra users with appropriate permissions Encode Dictionary into base64 for ConfigMap Create ConfigMaps with RabbitMQ credentials, GRPC settings, Queues and etc Create a branch in Git repository Create th2 Custom Resources in the branch th2 infra magic th2-infra deploy via Helm th2 infra magic Create namespace Create secrets Create Service Create Deployment Create Ingress how?
  29. 29 Build Software to Test Software exactpro.com # th2 -

    core Modularity Configuration Agility Data Analysis Diversity Resilience Scalability how? CORE CUSTOM PREPARED BUILDING BLOCKS act check2 sim codec conn read hand System Under Test data viewers estore mstore th2 API Tests
  30. 30 Build Software to Test Software exactpro.com CUSTOM # th2

    - core CORE PREPARED BUILDING BLOCKS Tests System Under Test Modularity Configuration Agility Data Analysis Diversity Resilience Scalability how?
  31. 31 Build Software to Test Software exactpro.com # th2 -

    core System Under Test PREPARED BUILDING BLOCKS codec conn read hand CORE CUSTOM Layer #2 - decode / encode Layer #1 - interact raw data test events Modularity Configuration Agility Data Analysis Diversity Resilience Scalability how?
  32. 32 Build Software to Test Software exactpro.com # th2- core

    how? Modularity Configuration Agility Data Analysis Diversity Resilience Scalability
  33. 33 Build Software to Test Software exactpro.com # th2 -

    R3 Modularity Configuration Agility Data Analysis Diversity Resilience Scalability RPC CLIENT SSH CLIENT RPC CLIENT SSH CLIENT RPC CLIENT SSH CLIENT VAULT VAULT VAULT CorDapp 2 Transaction (tx) CorDapp 3 CorDapp 2 CorDapp 1 CorDapp 1 Transaction (tx) NETWORK NODE NODE NODE А B C how?
  34. 34 Build Software to Test Software exactpro.com CUSTOM # th2

    - core CORE PREPARED BUILDING BLOCKS Tests act codec conn System Under Test storage data viewers estore mstore check1 Modularity Configuration Agility Data Analysis Diversity Resilience Scalability how?
  35. 35 Build Software to Test Software exactpro.com # th2 -

    core Modularity Configuration Agility Data Analysis Diversity Resilience Scalability how?
  36. 36 Build Software to Test Software exactpro.com MQ ◦ any

    connection may be blocked if the memory limit is exceeded ◦ durable queues require active consumers if there are no limits set th2 architecture ◦ awaiting for unnecessary confirmation may cause serious slowdowns ◦ real-time processing time isn’t necessary if the whole data stream is already stored ◦ stream processing works better for heavy operations ◦ Kubernetes informer API is more reliable than plain watch api open-source registry / repository ◦ cloud services are not eternal # lessons learned how?
  37. 37 Build Software to Test Software exactpro.com Thank You is

    available in GitHub!