SlideShare une entreprise Scribd logo
1  sur  13
Trading Systems:
Testing at the Confluence of FT & NFT


Alexey Zverev, Managing Director
Alyona Bulda, QA Project Lead
Ivan Bobrov, HFT Analyst
Introduction


 1.   Introduction
 2.   Our topic - how to find / reproduce "toxic issues" which can happen under
      the load or in real live environment conditions
 3.   We will talk about:
        a. A classical approach where FT and NFT are separate streams
        b. What is missed here
        c. Some approaches we use or may apply to fill this gap between FT and
           NFT (applying to trading systems)
 4.   Our presenters
FT                                                NFT
               focus on:                                         focus on:

•   Test scenarios are based on functional           •   Testing is based on non-functional
requirements                                         requirements

•   Test tools which allow to run simplistic tests   •   Load scenarios are driven by the
such as to send an order -> to verify a response     technical characteristics in PROD.

•   Prepare a functional library starting from       •  The main target of the tests is to assess
simple scenarios and adding more complex ones        non-functional requirements: latency,
step by step                                         capacity and fault tolerance

•   Test scenarios are automated
                                                     •   A lot of efforts are invested in correct
•   A test Library is enhanced as we proceed         latency measurements and determining
with its testing and production clients scenarios    conditions when the system breaks

•   An automated library will be reused as a         •   Further regressions are done to
regression test library which is executed            compare system performance indicators
against each release after go live and can be        with the previous releases
taken for consequent projects
What do we miss when we keep FT
 and NFT separated ?
- Any complex system must sustain a certain level of concurrency. Some issues
appear when several events happen simultaneously (Race conditions).
Example 1: Clients send a CxlReplace request and approx. at the same time
the ME sends a fill back.
These 2 events meet at
the Order Management
server, and the state of
the order can get corrupted.
What do we miss when we keep FT
 and NFT separated ?
- Production order books and various system object states are more complex
than in our FT scripts, and no amount of test cases can cover all possible
scenarios
Example 2: A User tries to
hit two different implied
orders coming from the
same parent order
which is being restated
in the middle of the process.
What do we miss when we keep FT
  and NFT separated ?
- Components may behave differently under the load
Example 3: The System must support various
throttling limitations and the requirements of
the system behaviour. The correctness
of functional system behavior can be
tested only under the load.


- Integer memory overflow
Example 4: Turnover (VWAP) fields in the statistics messages and incremental
OrderID overflow;


* the picture was taken from https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcS9nlDdLAmuvmyRqqZsanbyfwL601nJlOvtHGEfJBS4DKnmSTANUA
What do we miss when we keep FT
and NFT separated ?
- Dynamic Mass events which happen during DLC
Example 5: Market Open,
Market Close, Auctions,..
The state of the system
at exact instance
when the system goes
from one session to another
should be verified with the load
applied against the system.
Detailed Verification Of The System Behavior Under Random Load




   We need to make sure that we
  provide extensive coverage
                                                               - basic consistency check
   We need to make sure that the load test mimics             - market data must be internally consistent
  what happens in the production system                        - order book should be available and not be
   We need to verify that the system                          different
  works as expected




                                        + Recreation of exact steps of real production issues

                                        - It is difficult to record multiple network streams
Performing Functional Testing Against The System Under The Load




 to leave a part of the system intact by the load

                                                    to adjust functional tests to cope with the
                                                    activity of the load




                                                    to make scripts in case when we
                                                    perform
                                                    tests actively interacting with the load
                                                     * scenarios must be flexible
                                                     * sustain interaction with the script
Testing With The Baseline


      The example of the cycle of a Clearing System




                             A detailed, step by step analysis
The “Mini Robots” Solution
The “Mini Robots” Solution
Questions & Answers-tO




           Thank You-tO

Contenu connexe

Tendances

EXTENT-2016: Quality at Source
EXTENT-2016: Quality at SourceEXTENT-2016: Quality at Source
EXTENT-2016: Quality at SourceIosif Itkin
 
Testing strategies in microservices
Testing strategies in microservicesTesting strategies in microservices
Testing strategies in microservicesGeekNightHyderabad
 
SystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification MethodologiesSystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification MethodologiesRamdas Mozhikunnath
 
Ginsbourg.com presentation of performance and load testing 2020
Ginsbourg.com presentation of performance and load testing 2020Ginsbourg.com presentation of performance and load testing 2020
Ginsbourg.com presentation of performance and load testing 2020Shay Ginsbourg
 
Performance Requirement Gathering
Performance Requirement GatheringPerformance Requirement Gathering
Performance Requirement GatheringAtul Pant
 
Experienced QA Engineer
Experienced QA EngineerExperienced QA Engineer
Experienced QA Engineertdruz
 
Extent3 exante broker_for_algorithmic_trading_2012
Extent3 exante broker_for_algorithmic_trading_2012Extent3 exante broker_for_algorithmic_trading_2012
Extent3 exante broker_for_algorithmic_trading_2012extentconf Tsoy
 
Performance testing services
Performance testing servicesPerformance testing services
Performance testing servicesVandithaM1
 
Ginsbourg.com - Performance and load test report template ltr 2.0
Ginsbourg.com - Performance and load test report template ltr 2.0Ginsbourg.com - Performance and load test report template ltr 2.0
Ginsbourg.com - Performance and load test report template ltr 2.0Shay Ginsbourg
 
EXTENT-2015 Tradecope Presentation
EXTENT-2015 Tradecope PresentationEXTENT-2015 Tradecope Presentation
EXTENT-2015 Tradecope PresentationIosif Itkin
 
Alyona Lamash-Innovation in C&S
Alyona Lamash-Innovation in C&SAlyona Lamash-Innovation in C&S
Alyona Lamash-Innovation in C&SAlexey Zverev
 
Jagger: Сервер непрерывного тестирования производительности
Jagger: Сервер непрерывного тестирования производительностиJagger: Сервер непрерывного тестирования производительности
Jagger: Сервер непрерывного тестирования производительностиSQALab
 
Basics of Functional Verification - Arrow Devices
Basics of Functional Verification - Arrow DevicesBasics of Functional Verification - Arrow Devices
Basics of Functional Verification - Arrow DevicesArrow Devices
 
Seminar on Software Testing
Seminar on Software TestingSeminar on Software Testing
Seminar on Software TestingMD ISLAM
 
Ginsbourg.com - Presentation of Performance & Load Testing Validation 2019
Ginsbourg.com - Presentation of Performance & Load Testing Validation 2019Ginsbourg.com - Presentation of Performance & Load Testing Validation 2019
Ginsbourg.com - Presentation of Performance & Load Testing Validation 2019Shay Ginsbourg
 
Astute's PeopleSoft Integration Testing Utilities and Tools Implementation
Astute's PeopleSoft Integration Testing Utilities and Tools ImplementationAstute's PeopleSoft Integration Testing Utilities and Tools Implementation
Astute's PeopleSoft Integration Testing Utilities and Tools ImplementationBeastute
 
Case study-loan-processing-test-plan
Case study-loan-processing-test-planCase study-loan-processing-test-plan
Case study-loan-processing-test-planAarush Sharma
 
SOC Verification using SystemVerilog
SOC Verification using SystemVerilog SOC Verification using SystemVerilog
SOC Verification using SystemVerilog Ramdas Mozhikunnath
 
Automation Tool Overview
Automation Tool OverviewAutomation Tool Overview
Automation Tool OverviewANKUR-BA
 
Difference between functional testing and non functional testing
Difference between functional testing and non functional testingDifference between functional testing and non functional testing
Difference between functional testing and non functional testingpooja deshmukh
 

Tendances (20)

EXTENT-2016: Quality at Source
EXTENT-2016: Quality at SourceEXTENT-2016: Quality at Source
EXTENT-2016: Quality at Source
 
Testing strategies in microservices
Testing strategies in microservicesTesting strategies in microservices
Testing strategies in microservices
 
SystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification MethodologiesSystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification Methodologies
 
Ginsbourg.com presentation of performance and load testing 2020
Ginsbourg.com presentation of performance and load testing 2020Ginsbourg.com presentation of performance and load testing 2020
Ginsbourg.com presentation of performance and load testing 2020
 
Performance Requirement Gathering
Performance Requirement GatheringPerformance Requirement Gathering
Performance Requirement Gathering
 
Experienced QA Engineer
Experienced QA EngineerExperienced QA Engineer
Experienced QA Engineer
 
Extent3 exante broker_for_algorithmic_trading_2012
Extent3 exante broker_for_algorithmic_trading_2012Extent3 exante broker_for_algorithmic_trading_2012
Extent3 exante broker_for_algorithmic_trading_2012
 
Performance testing services
Performance testing servicesPerformance testing services
Performance testing services
 
Ginsbourg.com - Performance and load test report template ltr 2.0
Ginsbourg.com - Performance and load test report template ltr 2.0Ginsbourg.com - Performance and load test report template ltr 2.0
Ginsbourg.com - Performance and load test report template ltr 2.0
 
EXTENT-2015 Tradecope Presentation
EXTENT-2015 Tradecope PresentationEXTENT-2015 Tradecope Presentation
EXTENT-2015 Tradecope Presentation
 
Alyona Lamash-Innovation in C&S
Alyona Lamash-Innovation in C&SAlyona Lamash-Innovation in C&S
Alyona Lamash-Innovation in C&S
 
Jagger: Сервер непрерывного тестирования производительности
Jagger: Сервер непрерывного тестирования производительностиJagger: Сервер непрерывного тестирования производительности
Jagger: Сервер непрерывного тестирования производительности
 
Basics of Functional Verification - Arrow Devices
Basics of Functional Verification - Arrow DevicesBasics of Functional Verification - Arrow Devices
Basics of Functional Verification - Arrow Devices
 
Seminar on Software Testing
Seminar on Software TestingSeminar on Software Testing
Seminar on Software Testing
 
Ginsbourg.com - Presentation of Performance & Load Testing Validation 2019
Ginsbourg.com - Presentation of Performance & Load Testing Validation 2019Ginsbourg.com - Presentation of Performance & Load Testing Validation 2019
Ginsbourg.com - Presentation of Performance & Load Testing Validation 2019
 
Astute's PeopleSoft Integration Testing Utilities and Tools Implementation
Astute's PeopleSoft Integration Testing Utilities and Tools ImplementationAstute's PeopleSoft Integration Testing Utilities and Tools Implementation
Astute's PeopleSoft Integration Testing Utilities and Tools Implementation
 
Case study-loan-processing-test-plan
Case study-loan-processing-test-planCase study-loan-processing-test-plan
Case study-loan-processing-test-plan
 
SOC Verification using SystemVerilog
SOC Verification using SystemVerilog SOC Verification using SystemVerilog
SOC Verification using SystemVerilog
 
Automation Tool Overview
Automation Tool OverviewAutomation Tool Overview
Automation Tool Overview
 
Difference between functional testing and non functional testing
Difference between functional testing and non functional testingDifference between functional testing and non functional testing
Difference between functional testing and non functional testing
 

En vedette

SEC Regulation SCI Automation Review Compliance
SEC Regulation SCI Automation Review ComplianceSEC Regulation SCI Automation Review Compliance
SEC Regulation SCI Automation Review ComplianceIosif Itkin
 
Delivering Large Post-Trade Initiatives: Quality Assurance and Key Challenges
Delivering Large Post-Trade Initiatives:  Quality Assurance and Key ChallengesDelivering Large Post-Trade Initiatives:  Quality Assurance and Key Challenges
Delivering Large Post-Trade Initiatives: Quality Assurance and Key ChallengesIosif Itkin
 
EXTENT October 2011 - Test Automation for Trading Systems
EXTENT October 2011 - Test Automation for Trading SystemsEXTENT October 2011 - Test Automation for Trading Systems
EXTENT October 2011 - Test Automation for Trading SystemsIosif Itkin
 
TMPA-2014: Exactpro Pep Talk
TMPA-2014: Exactpro Pep TalkTMPA-2014: Exactpro Pep Talk
TMPA-2014: Exactpro Pep TalkIosif Itkin
 
EXTENT Trading Test Tools Evolution Theory
EXTENT Trading Test Tools Evolution TheoryEXTENT Trading Test Tools Evolution Theory
EXTENT Trading Test Tools Evolution TheoryIosif Itkin
 
Верификация технологических платформ Лондонской фондовой биржи
Верификация технологических платформ Лондонской фондовой биржиВерификация технологических платформ Лондонской фондовой биржи
Верификация технологических платформ Лондонской фондовой биржиIosif Itkin
 
Innovation in Quality Assurance – What is the Impact on Trading technology?
Innovation in Quality Assurance –  What is the Impact on Trading technology?Innovation in Quality Assurance –  What is the Impact on Trading technology?
Innovation in Quality Assurance – What is the Impact on Trading technology?Iosif Itkin
 
High Frequency Trading Infrastructure and Quality Assurance
High Frequency Trading Infrastructure and Quality AssuranceHigh Frequency Trading Infrastructure and Quality Assurance
High Frequency Trading Infrastructure and Quality AssuranceIosif Itkin
 
Exactpro: Non-functional testing approach
Exactpro: Non-functional testing approachExactpro: Non-functional testing approach
Exactpro: Non-functional testing approach Iosif Itkin
 
AIST 2013 - Data Analysis in Highload Trading Systems
AIST 2013 - Data Analysis in Highload Trading SystemsAIST 2013 - Data Analysis in Highload Trading Systems
AIST 2013 - Data Analysis in Highload Trading SystemsIosif Itkin
 
EXTENT-2016: Conference Opening
EXTENT-2016: Conference OpeningEXTENT-2016: Conference Opening
EXTENT-2016: Conference OpeningIosif Itkin
 
Virtualization Technology for Test Automation
Virtualization Technology for Test AutomationVirtualization Technology for Test Automation
Virtualization Technology for Test AutomationIosif Itkin
 
Сложности и практики тестирования производительности
Сложности и практики тестирования производительностиСложности и практики тестирования производительности
Сложности и практики тестирования производительностиSQALab
 
The Simple Matter of Project Management
The Simple Matter of  Project Management The Simple Matter of  Project Management
The Simple Matter of Project Management Iosif Itkin
 
Cost of Quality How to Save Money
Cost of Quality How to Save MoneyCost of Quality How to Save Money
Cost of Quality How to Save MoneyIosif Itkin
 
Verification of Financial Models
Verification of Financial ModelsVerification of Financial Models
Verification of Financial ModelsIosif Itkin
 
Behavior Driven Development Pros and Cons
Behavior Driven Development Pros and ConsBehavior Driven Development Pros and Cons
Behavior Driven Development Pros and ConsIosif Itkin
 

En vedette (17)

SEC Regulation SCI Automation Review Compliance
SEC Regulation SCI Automation Review ComplianceSEC Regulation SCI Automation Review Compliance
SEC Regulation SCI Automation Review Compliance
 
Delivering Large Post-Trade Initiatives: Quality Assurance and Key Challenges
Delivering Large Post-Trade Initiatives:  Quality Assurance and Key ChallengesDelivering Large Post-Trade Initiatives:  Quality Assurance and Key Challenges
Delivering Large Post-Trade Initiatives: Quality Assurance and Key Challenges
 
EXTENT October 2011 - Test Automation for Trading Systems
EXTENT October 2011 - Test Automation for Trading SystemsEXTENT October 2011 - Test Automation for Trading Systems
EXTENT October 2011 - Test Automation for Trading Systems
 
TMPA-2014: Exactpro Pep Talk
TMPA-2014: Exactpro Pep TalkTMPA-2014: Exactpro Pep Talk
TMPA-2014: Exactpro Pep Talk
 
EXTENT Trading Test Tools Evolution Theory
EXTENT Trading Test Tools Evolution TheoryEXTENT Trading Test Tools Evolution Theory
EXTENT Trading Test Tools Evolution Theory
 
Верификация технологических платформ Лондонской фондовой биржи
Верификация технологических платформ Лондонской фондовой биржиВерификация технологических платформ Лондонской фондовой биржи
Верификация технологических платформ Лондонской фондовой биржи
 
Innovation in Quality Assurance – What is the Impact on Trading technology?
Innovation in Quality Assurance –  What is the Impact on Trading technology?Innovation in Quality Assurance –  What is the Impact on Trading technology?
Innovation in Quality Assurance – What is the Impact on Trading technology?
 
High Frequency Trading Infrastructure and Quality Assurance
High Frequency Trading Infrastructure and Quality AssuranceHigh Frequency Trading Infrastructure and Quality Assurance
High Frequency Trading Infrastructure and Quality Assurance
 
Exactpro: Non-functional testing approach
Exactpro: Non-functional testing approachExactpro: Non-functional testing approach
Exactpro: Non-functional testing approach
 
AIST 2013 - Data Analysis in Highload Trading Systems
AIST 2013 - Data Analysis in Highload Trading SystemsAIST 2013 - Data Analysis in Highload Trading Systems
AIST 2013 - Data Analysis in Highload Trading Systems
 
EXTENT-2016: Conference Opening
EXTENT-2016: Conference OpeningEXTENT-2016: Conference Opening
EXTENT-2016: Conference Opening
 
Virtualization Technology for Test Automation
Virtualization Technology for Test AutomationVirtualization Technology for Test Automation
Virtualization Technology for Test Automation
 
Сложности и практики тестирования производительности
Сложности и практики тестирования производительностиСложности и практики тестирования производительности
Сложности и практики тестирования производительности
 
The Simple Matter of Project Management
The Simple Matter of  Project Management The Simple Matter of  Project Management
The Simple Matter of Project Management
 
Cost of Quality How to Save Money
Cost of Quality How to Save MoneyCost of Quality How to Save Money
Cost of Quality How to Save Money
 
Verification of Financial Models
Verification of Financial ModelsVerification of Financial Models
Verification of Financial Models
 
Behavior Driven Development Pros and Cons
Behavior Driven Development Pros and ConsBehavior Driven Development Pros and Cons
Behavior Driven Development Pros and Cons
 

Similaire à Trading Systems: Testing at the Confluence of FT and NFT

Testing real-time Linux. What to test and how
Testing real-time Linux. What to test and how Testing real-time Linux. What to test and how
Testing real-time Linux. What to test and how Chirag Jog
 
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f..." Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...Lohika_Odessa_TechTalks
 
Tools. Techniques. Trouble?
Tools. Techniques. Trouble?Tools. Techniques. Trouble?
Tools. Techniques. Trouble?Testplant
 
Quantstamp Report - LINKSWAP
Quantstamp Report - LINKSWAPQuantstamp Report - LINKSWAP
Quantstamp Report - LINKSWAPRoy Blackstone
 
DBTest 2013 - In Data Veritas - Data Driven Testing for Distributed Systems
DBTest 2013 - In Data Veritas - Data Driven Testing for Distributed SystemsDBTest 2013 - In Data Veritas - Data Driven Testing for Distributed Systems
DBTest 2013 - In Data Veritas - Data Driven Testing for Distributed SystemsMihir Gandhi
 
Components in real time systems
Components in real time systemsComponents in real time systems
Components in real time systemsSaransh Garg
 
Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testingsonukalpana
 
Basics of QTP Framework
Basics of QTP FrameworkBasics of QTP Framework
Basics of QTP FrameworkAnish10110
 
MongoDB World 2018: Tutorial - MongoDB Meets Chaos Monkey
MongoDB World 2018: Tutorial - MongoDB Meets Chaos MonkeyMongoDB World 2018: Tutorial - MongoDB Meets Chaos Monkey
MongoDB World 2018: Tutorial - MongoDB Meets Chaos MonkeyMongoDB
 
Traffic Simulator
Traffic SimulatorTraffic Simulator
Traffic Simulatorgystell
 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build testLen Bass
 
Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts weili_at_slideshare
 
Performance tuning Grails Applications GR8Conf US 2014
Performance tuning Grails Applications GR8Conf US 2014Performance tuning Grails Applications GR8Conf US 2014
Performance tuning Grails Applications GR8Conf US 2014Lari Hotari
 
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...Cωνσtantίnoς Giannoulis
 
Nonfunctional Testing: Examine the Other Side of the Coin
Nonfunctional Testing: Examine the Other Side of the CoinNonfunctional Testing: Examine the Other Side of the Coin
Nonfunctional Testing: Examine the Other Side of the CoinTechWell
 
Building Efficient Software with Property Based Testing
Building Efficient Software with Property Based TestingBuilding Efficient Software with Property Based Testing
Building Efficient Software with Property Based TestingCitiusTech
 
Divide and stress: the journey to component load test
Divide and stress: the journey to component load testDivide and stress: the journey to component load test
Divide and stress: the journey to component load testJuan Pedro Escalona Rueda
 

Similaire à Trading Systems: Testing at the Confluence of FT and NFT (20)

Testing real-time Linux. What to test and how
Testing real-time Linux. What to test and how Testing real-time Linux. What to test and how
Testing real-time Linux. What to test and how
 
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f..." Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
 
Tools. Techniques. Trouble?
Tools. Techniques. Trouble?Tools. Techniques. Trouble?
Tools. Techniques. Trouble?
 
Quantstamp Report - LINKSWAP
Quantstamp Report - LINKSWAPQuantstamp Report - LINKSWAP
Quantstamp Report - LINKSWAP
 
DBTest 2013 - In Data Veritas - Data Driven Testing for Distributed Systems
DBTest 2013 - In Data Veritas - Data Driven Testing for Distributed SystemsDBTest 2013 - In Data Veritas - Data Driven Testing for Distributed Systems
DBTest 2013 - In Data Veritas - Data Driven Testing for Distributed Systems
 
Components in real time systems
Components in real time systemsComponents in real time systems
Components in real time systems
 
Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testing
 
Basics of QTP Framework
Basics of QTP FrameworkBasics of QTP Framework
Basics of QTP Framework
 
MongoDB World 2018: Tutorial - MongoDB Meets Chaos Monkey
MongoDB World 2018: Tutorial - MongoDB Meets Chaos MonkeyMongoDB World 2018: Tutorial - MongoDB Meets Chaos Monkey
MongoDB World 2018: Tutorial - MongoDB Meets Chaos Monkey
 
Traffic Simulator
Traffic SimulatorTraffic Simulator
Traffic Simulator
 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build test
 
Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts
 
Performance tuning Grails Applications GR8Conf US 2014
Performance tuning Grails Applications GR8Conf US 2014Performance tuning Grails Applications GR8Conf US 2014
Performance tuning Grails Applications GR8Conf US 2014
 
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
 
Performance testing material
Performance testing materialPerformance testing material
Performance testing material
 
Qtp basic
Qtp basicQtp basic
Qtp basic
 
Nonfunctional Testing: Examine the Other Side of the Coin
Nonfunctional Testing: Examine the Other Side of the CoinNonfunctional Testing: Examine the Other Side of the Coin
Nonfunctional Testing: Examine the Other Side of the Coin
 
Training - What is Performance ?
Training  - What is Performance ?Training  - What is Performance ?
Training - What is Performance ?
 
Building Efficient Software with Property Based Testing
Building Efficient Software with Property Based TestingBuilding Efficient Software with Property Based Testing
Building Efficient Software with Property Based Testing
 
Divide and stress: the journey to component load test
Divide and stress: the journey to component load testDivide and stress: the journey to component load test
Divide and stress: the journey to component load test
 

Plus de Iosif Itkin

Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Iosif Itkin
 
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...Iosif Itkin
 
Exactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesExactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesIosif Itkin
 
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolExactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolIosif Itkin
 
Operational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresOperational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresIosif Itkin
 
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday SeasonIosif Itkin
 
Testing the Intelligence of your AI
Testing the Intelligence of your AITesting the Intelligence of your AI
Testing the Intelligence of your AIIosif Itkin
 
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresEXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresIosif Itkin
 
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...Iosif Itkin
 
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiEXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiIosif Itkin
 
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenEXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenIosif Itkin
 
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...Iosif Itkin
 
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...Iosif Itkin
 
QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)Iosif Itkin
 
Machine Learning and RoboCop Testing
Machine Learning and RoboCop TestingMachine Learning and RoboCop Testing
Machine Learning and RoboCop TestingIosif Itkin
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileIosif Itkin
 
2018 - Exactpro Year in Review
2018 - Exactpro Year in Review2018 - Exactpro Year in Review
2018 - Exactpro Year in ReviewIosif Itkin
 
Exactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyExactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyIosif Itkin
 
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesFIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesIosif Itkin
 
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)Iosif Itkin
 

Plus de Iosif Itkin (20)

Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4
 
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
 
Exactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesExactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test Oracles
 
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolExactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
 
Operational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresOperational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market Infrastructures
 
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
 
Testing the Intelligence of your AI
Testing the Intelligence of your AITesting the Intelligence of your AI
Testing the Intelligence of your AI
 
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresEXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
 
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
 
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiEXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
 
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenEXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
 
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
 
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
 
QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)
 
Machine Learning and RoboCop Testing
Machine Learning and RoboCop TestingMachine Learning and RoboCop Testing
Machine Learning and RoboCop Testing
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibile
 
2018 - Exactpro Year in Review
2018 - Exactpro Year in Review2018 - Exactpro Year in Review
2018 - Exactpro Year in Review
 
Exactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyExactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and Strategy
 
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesFIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
 
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
 

Trading Systems: Testing at the Confluence of FT and NFT

  • 1. Trading Systems: Testing at the Confluence of FT & NFT Alexey Zverev, Managing Director Alyona Bulda, QA Project Lead Ivan Bobrov, HFT Analyst
  • 2. Introduction 1. Introduction 2. Our topic - how to find / reproduce "toxic issues" which can happen under the load or in real live environment conditions 3. We will talk about: a. A classical approach where FT and NFT are separate streams b. What is missed here c. Some approaches we use or may apply to fill this gap between FT and NFT (applying to trading systems) 4. Our presenters
  • 3. FT NFT focus on: focus on: • Test scenarios are based on functional • Testing is based on non-functional requirements requirements • Test tools which allow to run simplistic tests • Load scenarios are driven by the such as to send an order -> to verify a response technical characteristics in PROD. • Prepare a functional library starting from • The main target of the tests is to assess simple scenarios and adding more complex ones non-functional requirements: latency, step by step capacity and fault tolerance • Test scenarios are automated • A lot of efforts are invested in correct • A test Library is enhanced as we proceed latency measurements and determining with its testing and production clients scenarios conditions when the system breaks • An automated library will be reused as a • Further regressions are done to regression test library which is executed compare system performance indicators against each release after go live and can be with the previous releases taken for consequent projects
  • 4. What do we miss when we keep FT and NFT separated ? - Any complex system must sustain a certain level of concurrency. Some issues appear when several events happen simultaneously (Race conditions). Example 1: Clients send a CxlReplace request and approx. at the same time the ME sends a fill back. These 2 events meet at the Order Management server, and the state of the order can get corrupted.
  • 5. What do we miss when we keep FT and NFT separated ? - Production order books and various system object states are more complex than in our FT scripts, and no amount of test cases can cover all possible scenarios Example 2: A User tries to hit two different implied orders coming from the same parent order which is being restated in the middle of the process.
  • 6. What do we miss when we keep FT and NFT separated ? - Components may behave differently under the load Example 3: The System must support various throttling limitations and the requirements of the system behaviour. The correctness of functional system behavior can be tested only under the load. - Integer memory overflow Example 4: Turnover (VWAP) fields in the statistics messages and incremental OrderID overflow; * the picture was taken from https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcS9nlDdLAmuvmyRqqZsanbyfwL601nJlOvtHGEfJBS4DKnmSTANUA
  • 7. What do we miss when we keep FT and NFT separated ? - Dynamic Mass events which happen during DLC Example 5: Market Open, Market Close, Auctions,.. The state of the system at exact instance when the system goes from one session to another should be verified with the load applied against the system.
  • 8. Detailed Verification Of The System Behavior Under Random Load  We need to make sure that we provide extensive coverage - basic consistency check  We need to make sure that the load test mimics - market data must be internally consistent what happens in the production system - order book should be available and not be  We need to verify that the system different works as expected + Recreation of exact steps of real production issues - It is difficult to record multiple network streams
  • 9. Performing Functional Testing Against The System Under The Load to leave a part of the system intact by the load to adjust functional tests to cope with the activity of the load to make scripts in case when we perform tests actively interacting with the load * scenarios must be flexible * sustain interaction with the script
  • 10. Testing With The Baseline The example of the cycle of a Clearing System A detailed, step by step analysis
  • 13. Questions & Answers-tO Thank You-tO

Notes de l'éditeur

  1. *
  2. Talk Synopsis ‘ How a great QA Team can make a Disproportionate Contribution to Project Success’   Intro Explore project team dynamics – how the different parts of the team work together – focussing on the contribution that QA can make Have in mind financial services electronic trading platforms *
  3. Talk Synopsis ‘ How a great QA Team can make a Disproportionate Contribution to Project Success’   Intro Explore project team dynamics – how the different parts of the team work together – focussing on the contribution that QA can make Have in mind financial services electronic trading platforms *
  4. *
  5. *