On Complex Software
Systems Testing
Alexey Zverev,
co-CEO & co-founder, Exactpro
Complex Software Systems
!Simplify
Explore
Build
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
Distributed exchange trading system and data
flow
Value Meaning
0 New
1 Partially Filled
C Expired
4 Cancelled
2 Filled
8 Rejected
9 Suspended
Orders transitions after library execution
New (100)
New (279)
New (4784)
END
NEW
Rejected
Filled
Expired
Cancelled
START
New (38)
Reject (3222)
(3222)
(100)
(38)
(279)
(4784)
Cancel (100)
Cancel (38)
Expired (279)
Trade (4784)
Trade (38)
TradeCancel (38)
Production order life cycle diagram
Amend (94)
START
END
Expired
Cancelled
Filled
Rejected
PartiallyFilledNEW
New (1166642)
Trade (23816)
Trade (29361)
Reject (4224)
Amend (937420)
Amend (2)
Trade
(30933)
Expire (270741)
Cancel (144)
Expire (38987)
Cancel (1062624)
Trade (2944)
Amend (28530)
Trade
(14489)
Expire (16400)
Cancel (23647)
Trade
(14520)
(19701)
(4224)
(184)
(58370)
(326128)
(1086415)
Suspended
(44)
Comparing big data
Workflows comparison:
- Gap analysis/coveragein the test library/run;
- Efficiency in test execution;
- Edge cases/raceconditions;
- Are all the use cases from Prod/UAT covered?
Specifications
Test runs (Logs,msgs)
FT / NFT
UAT/Production
(Logs, msgs)
Single database
creation
Process mining
model
Process mining workflows
Update testing library coverage
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
Mistakes make us better
Mistakes make us better
SUCCESS
Failure
Failure
Failure
Failure
Failure
Failure
Failure
Mistakes make us better
SUCCESS
Failure
Failure
Failure
Failure
Failure
Failure
Failure
Silly fish vs. Sailfish
What is Sailfish?
Web
Binary
FIX
Market Data
Database
What is Sailfish?
#step #description #user_name #action #message_type SecurityID OrdType Side OrderQty Price Status
Test Case 1: Trade test case start
1 Send BUY Order with Qty = 1000, Price = 10 (O1) User_1 send NewOrderSingle 12345 LIMIT BUY 1000 10
2 Receive Execution Report with Status = NEW (O1) User_1 receive ExecutionReport 12345 LIMIT BUY 1000 10 NEW
3 Send SELL Order with Qty = 1000, Price = 10 (O2) User_2 send NewOrderSingle 12345 LIMIT SELL 1000 10
4 Receive Execution Report with Status = FILLED (O2) User_2 receive ExecutionReport 12345 LIMIT SELL 1000 10 FILLED
5 Receive Execution Report with Status = FILLED (O1) User_1 receive ExecutionReport 12345 LIMIT BUY 1000 10 FILLED
test case end
The main actions of Sailfish
#step #description #user_name #action #message_type SecurityID OrdType Side OrderQty Price Status
Test Case 1: Trade test case start
1 Send BUY Order with Qty = 1000, Price = 10 (O1) User_1 send NewOrderSingle 12345 LIMIT BUY 1000 10
2 Receive Execution Report with Status = NEW (O1) User_1 receive ExecutionReport 12345 LIMIT BUY 1000 10 NEW
3 Send SELL Order with Qty = 1000, Price = 10 (O2) User_2 send NewOrderSingle 12345 LIMIT SELL 1000 10
4 Receive Execution Report with Status = FILLED (O2) User_2 receive ExecutionReport 12345 LIMIT SELL 1000 10 FILLED
5 Receive Execution Report with Status = FILLED (O1) User_1 receive ExecutionReport 12345 LIMIT BUY 1000 10 FILLED
test case end
Passed and Failed test steps
send NewOrderSingle (PASSED) [0.001s]
- receive ExecutionReport (PASSED) [0.001s]:
+ Input Parameters
- Verification: Message (PASSED):
Field Expected Result Actual Result Status
... ... ... ...
OrdType LIMIT LIMIT PASSED
Status NEW NEW PASSED
... ... ... ...
Passed and Failed test steps
send NewOrderSingle (PASSED) [0.001s]
- receive ExecutionReport (FAILED) [0.421s]:
+ Input Parameters
+ Verification: Similar message [1]. Failed/Passed/Conditionally Passed/NA: 4/26/0/6 (FAILED)
+ Verification: Similar message [2]. Failed/Passed/Conditionally Passed/NA: 2/28/0/6 (FAILED)
+ Verification: Similar message [3]. Failed/Passed/Conditionally Passed/NA: 1/29/0/6 (FAILED)
- Verification: Similar message [4]. Failed/Passed/Conditionally Passed/NA: 1/29/0/6 (FAILED):
Field Expected Result Actual Result Status
... ... ... ...
OrdType LIMIT LIMIT PASSED
Status NEW REJECTED FAILED
... ... ... ...
Supervised Machine Learning through
unpleasant experience
send NewOrderSingle (PASSED) [0.001s]
- receive ExecutionReport (FAILED) [0.421s]:
+ Input Parameters
+ Verification: Similar message [1]. Failed/Passed/Conditionally Passed/NA: 4/26/0/6 (FAILED)
+ Verification: Similar message [2]. Failed/Passed/Conditionally Passed/NA: 2/28/0/6 (FAILED)
+ Verification: Similar message [3]. Failed/Passed/Conditionally Passed/NA: 1/29/0/6 (FAILED)
- Verification: Similar message [4]. Failed/Passed/Conditionally Passed/NA: 1/29/0/6 (FAILED):
Field Expected Result Actual Result Status
... ... ... ...
OrdType LIMIT LIMIT PASSED
Status NEW REJECTED FAILED
... ... ... ...
Supervised Machine Learning through
unpleasant experience
send NewOrderSingle (PASSED) [0.001s]
- receive ExecutionReport (FAILED) [0.421s]:
+ Input Parameters
- Verification: Similar message [1]. Failed/Passed/Conditionally Passed/NA: 1/29/0/6 (FAILED): 89%
+ Verification: Similar message [2]. Failed/Passed/Conditionally Passed/NA: 4/26/0/6 (FAILED) 81%
+ Verification: Similar message [3]. Failed/Passed/Conditionally Passed/NA: 2/28/0/6 (FAILED) 54%
+ Verification: Similar message [4]. Failed/Passed/Conditionally Passed/NA: 1/29/0/6 (FAILED) 42%
Field Expected Result Actual Result Status
... ... ... ...
OrdType LIMIT LIMIT PASSED
Status NEW REJECTED FAILED
... ... ... ...
Supervised Machine Learning: going forward
tens of thousands of tests
thousands of raised bugs
Supervised Machine Learning: going forward
This test step failed
with the following
results...
This test step failed
with the following
results…
And the reason is...
Dancing with Whales:
Adaptive Log Classification System
Elena Treshcheva,
Business Development Manager,
Researcher, Exactpro
Problem vs. Catastrophe
What turns a problem into a disaster?
Mission-Critical Software - Lots of log messages
daily
Huge volumes of data vs. error class clusters
WhaleShark
WhaleShark
The First IEEE International Conference on Artificial Intelligence Testing
(IEEE AITest 2019), April 4-9 2019, San Francisco East Bay, CA, USA
User-Assisted Log Analysis for Quality Control of Distributed Fintech
Systems
Iosif Itkin, Anna Gromova, Anton Sitnikov, Rostislav Yavorskiy, Evgenii Tsymbalov,
Andrey Novikov and Kirill Rudakov.
One error class - different text strings
text text text text
0100101010001010000
ERROR
text text text text
text text text text
text text text text
text text text text
FATAL……………………………………
text text text text
text text text text
It’s so cold and
dark... I’m scared...
Step 1: Normalization
ERROR 07 Aug 2018 13:04:39 - Unable to load messages from file
'/UAT/collectors/mq1'
ERROR 25 Sep 2018 18:24:55 - Unable to load messages from file
'/prod/collectors/mq3'
ERROR 16 Oct 2018 15:15:10 - Unable to load messages from file
'/prod/collectors/mq5'
Step 1: Normalization
ERROR 07 Aug 2018 13:04:39 - Unable to load messages from file
'/UAT/collectors/mq1'
ERROR 25 Sep 2018 18:24:55 - Unable to load messages from file
'/prod/collectors/mq3'
ERROR ** *** **** **:**:** - Unable to load messages from file
'/*/*/*'
ERROR 16 Oct 2018 15:15:10 - Unable to load messages from file
'/prod/collectors/mq5'
Step 2: Clustering
Final step: User Notification
Result: System state visualization
More Control over system outputs
Kirill Anisimov,
Senior QA Analyst, Exactpro
On Traceability and the Illusion
of Control
When I was 5 years old, my mother always
told me that happiness was the key to life.
When I went to school, they asked me
what I wanted to be when I grew up.
I wrote down ‘happy’. They told me I didn’t
understand the assignment, and I told
them they didn’t understand life.
John Lennon
Hey Stress, don't make it bad
Sherman, G. D., Lee, J. J., Cuddy, A. J. C., Renshon, J., Oveis, C., Gross, J. J., &
Lerner, J. S. (2012). Leadership is associated with lower levels of stress.
Proceedings of the National Academy of Sciences, 109(44), 17903–17907.
Fenton-O’Creevy, M., Nicholson, N., Soane, E.,
& Willman, P. (2003). “Trading on illusions:
Unrealistic perceptions of control and trading
performance”. Journal of Occupational and
Organizational Psychology, 76(1), 53–68.
Imagine all the brokers trading on...
We all live in an illusion of control
Software testing is relentless
learning, continuous
improvement and keeping
abreast of cutting-edge
technologies.
The research and development
team at Exactpro uses machine
learning methods of intellectual
data analysis to create next-
generation program analysis
tools.
We work in an agile environment
collaborating with a multinational
team of software developers.
R&D Case Study: Cradle Test Database
for Machine Learning
They told me I didn’t understand the
assignment and the test report does not
make anyone happy. I told them they
didn’t understand software testing.
Software testing is our life.
Demystifying DLT Testing One Network at a Time
Ekaterina Volobueva,
QA Analyst, Exactpro
The complexity of post-trade
- There is a multitude of components in modern
complex post-trade infrastructures;
- Upstream and downstream system dependency;
- The participant structure is very complex;
- Trade/Position/Account life cycle;
- The number of Asset Classes may vary;
- The complexity of the Risk calculation process;
- Access via a set of API endpoints.
Maybe blockchain?
J.Gardner decision model https://medium.com/@sbmeunier/when-do-you-need-
blockchain-decision-models-a5c40e7c9ba1
Morgen E. Peck decision model https://medium.com/@sbmeunier/when-do-you-
need-blockchain-decision-models-a5c40e7c9ba1
D. Birch decision model https://medium.com/@sbmeunier/when-do-you-need-
blockchain-decision-models-a5c40e7c9ba1
Do I need a blockchain?
No.
Is it OK to release my blockchain into live-
service?
ClearTH Testing Tool
ClearTH for DLT-Based Post-Trade Systems research based on R3 Corda
technology has won the Best Tool Demo Award in Xi’an, China
Testing the Core Network
Testing Distributed Applications
Functional testing
Non-functional
testing
Exactpro Test Framework and Test Approach for
DLT-based system
3 steps on the ledger side:
1st - Initialisation of positions
2nd - Trade creation and participant
notification
3rd - Positions updates
Across each and every step the test
framework provides different methods
to validate the endpoints, inputs and
outputs.
The actual business flow steps and
validation check items are transformed
into ClearTH matrix after execution of
which the deviations from the expected
behaviour can be analysed.
ClearTH and Woodpecker for DLT
is an Exactpro test harness able to simultaneously
execute multiple end-to-end test scenarios in
batches.
● Supports multiple protocols (SWIFT, FIX,
Market Data, etc.)
● Automatically runs test scripts
● Executes concurrent automated tests
● Allows to create multiple-day test scenarios
● Has integrated scheduler and simulators
● Verifies each stage of the system daily life cycle
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
Meet Exactpro at CordaCon in October
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
Get the MOST from FIX
Marina Soloveva,
QA Project Manager, Exactpro
Good choice
Good choice
Good choice
New FIX working group
Industry-wide collaboration
Partners
Open source strategy
Exactpro has donated 4 tools to Open Source:
2018 2019
71 Build Software to Test Software
exactpro.com
It is not called Georgia
• Territory: 69,700 sq km
• Population: ~4 million
• Capital: Tbilisi (1.5 million)
Five Cross Flag
ძალა ერთობაშია
Strength is in Unity
Sakartvelo საქართველო
Why Sakartvelo
To provide additional level of security to our Clients and Exactpro business, we
have decided to diversify our delivery locations by country.
Georgia is very well ranked in terms of economic freedom, ease of doing business
and corruption.
A Warm Location
19 September 2018
As part of executing our
strategy of global growth as
a company focused on
software testing and building
software to test our clients’
software, we launched
Exactpro Systems Georgia
and our new project delivery
center in Tbilisi.
A Happening Neighborhood
Software Testing is Relentless Learning -
QA Community Tbilisi
Software Testing is Relentless Learning -
GeoSTQB
• Increase the awareness about ISTQB among
testers within different companies and universities
• Promote professionalism in Software Testing in
Georgia by implementing an internationally
recognized certified tester scheme
• Establish certification of IT professionals in Georgia
according to ISTQB standards
• Support talented and promising testers
22 February 2019
Software Testing is Relentless Learning -
Partnerships
Exactpro has recently joined the ISTQB® Partner Program as a platinum partner
alongside 74 other companies.
Joining the ISTQB® Partner Program allows us to play a bigger role in the
software testing community and to highlight our goal of providing accessible,
internationally relevant high-quality education to our staff
July 2019
Software Testing is Relentless Learning
The International Conference on Software
Testing, Machine Learning and Complex
Process Analysis (TMPA-2019) –
Tbilisi, Georgia on 7-9 November 2019.
Focus on the application of modern methods of
data science to the analysis of software quality.
www.tsu.ge
Welcome!
მოგესალმებით
81 Build Software to Test Software
exactpro.com
Exactpro in 2019
Exactpro in 2019
• Capital Markets
Exactpro in 2019
• Capital Markets
• Risk Management & Post Trade
Exactpro in 2019
• Capital Markets
• Risk Management & Post Trade
• Information Services
Software Testing is Relentless Learning
Information Services – Automated Testing
We Need More Food
More Data
Changes in Software
• Extend regression libraries
• Reduce the gaps in the test coverage
• Build faster software to execute more tests
• Run tests concurrently and under load
• Repeat the same tests multiple times
• Introduce more diversity in tools and data sets
• Intensify Use of Chaos Engineering
Changes in Hardware
A) Work Collaboratively with Our Clients
B)
92 Build Software to Test Software
exactpro.com
Exactpro Test Cloud
• Cradle for the next generation of test tools
• Built-in test coverage and compliance reporting
• Pricing tailored to massive defect mining processes
• Located in UK, EU, US to satisfy data regulation
Exactpro Plans
• Cradle for the next generation of test tools
• Built-in test coverage and compliance reporting
• Pricing tailored to massive defect mining processes
• Located in UK, EU, US to satisfy data regulation
• Consider raising capital for it in 2021

More Related Content

PDF
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
PDF
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
PDF
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
PPTX
Static analysis works for mission-critical systems, why not yours?
PPTX
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
PPT
Less01 1 introduction_module
PDF
DSR Testing (Part 1)
PDF
2020 10-08 measuring-qualityinproduction
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
Static analysis works for mission-critical systems, why not yours?
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
Less01 1 introduction_module
DSR Testing (Part 1)
2020 10-08 measuring-qualityinproduction

Similar to EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures (20)

PDF
Monkeys in Lab Coats: Applying Failure Testing Research @Netflix
PDF
Making Netflix Machine Learning Algorithms Reliable
PPTX
EXTENT-2017: Climbing Out of the Stability Sinkhole - Survivor’s Guide
PPT
Testing 2 - Thinking Like A Tester
PDF
Introduction to Software Testing
PPT
Software testing
PDF
Continuous Delivery: The One Question You Must Answer
PDF
Test Automation using UiPath Test Suite - Developer Circle Part-1.pdf
KEY
Acceptance testfurureinmind
PDF
UiPath Test Automation using UiPath Test Suite series, part 1
PDF
Empirical Evaluations in Software Engineering Research: A Personal Perspective
DOCX
Some Commonly Asked Question For Software Testing
PPTX
Empirically Detecting False Test Alarms Using Association Rules @ ICSE 2015
PPTX
Scale your Testing and Quality with Automation Engineering and ML - Carlos Ki...
PDF
The Automation Firehose: Be Strategic and Tactical by Thomas Haver
PPTX
Mool - Automated Log Analysis using Data Science and ML
PPTX
Richard Wilburn - Lean Truth
PDF
Hard & Soft Skills to Avoid Outages by Pascal-Louis Perez
PPTX
Technology Risk Modeling and Analysis Seminar - Exchange Trading
Monkeys in Lab Coats: Applying Failure Testing Research @Netflix
Making Netflix Machine Learning Algorithms Reliable
EXTENT-2017: Climbing Out of the Stability Sinkhole - Survivor’s Guide
Testing 2 - Thinking Like A Tester
Introduction to Software Testing
Software testing
Continuous Delivery: The One Question You Must Answer
Test Automation using UiPath Test Suite - Developer Circle Part-1.pdf
Acceptance testfurureinmind
UiPath Test Automation using UiPath Test Suite series, part 1
Empirical Evaluations in Software Engineering Research: A Personal Perspective
Some Commonly Asked Question For Software Testing
Empirically Detecting False Test Alarms Using Association Rules @ ICSE 2015
Scale your Testing and Quality with Automation Engineering and ML - Carlos Ki...
The Automation Firehose: Be Strategic and Tactical by Thomas Haver
Mool - Automated Log Analysis using Data Science and ML
Richard Wilburn - Lean Truth
Hard & Soft Skills to Avoid Outages by Pascal-Louis Perez
Technology Risk Modeling and Analysis Seminar - Exchange Trading
Ad

More from Iosif Itkin (20)

PDF
Foundations of Software Testing Lecture 4
PPTX
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
PDF
Exactpro FinTech Webinar - Global Exchanges Test Oracles
PDF
Operational Resilience in Financial Market Infrastructures
PDF
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
PDF
Testing the Intelligence of your AI
PPTX
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
PDF
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
PDF
QA Community Saratov: Past, Present, Future (2019-02-08)
PDF
Machine Learning and RoboCop Testing
PDF
Behaviour Driven Development: Oltre i limiti del possibile
PDF
2018 - Exactpro Year in Review
PPTX
Exactpro Discussion about Joy and Strategy
PPTX
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
PDF
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
PPTX
Sibos 2017: Disruptive functional testing - the next frontier in post-trade s...
PPTX
Using Cluster Analysis for Characteristics Detection in Software Defect Reports
PPTX
EXTENT-2017: Testing in Distributed Ledger Systems
PPTX
EXTENT-2017: Independent QA in Agile
PDF
EXTENT-2017: Re-Engineering Capital Market Business Models to Use Different T...
Foundations of Software Testing Lecture 4
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
Exactpro FinTech Webinar - Global Exchanges Test Oracles
Operational Resilience in Financial Market Infrastructures
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
Testing the Intelligence of your AI
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
QA Community Saratov: Past, Present, Future (2019-02-08)
Machine Learning and RoboCop Testing
Behaviour Driven Development: Oltre i limiti del possibile
2018 - Exactpro Year in Review
Exactpro Discussion about Joy and Strategy
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
Sibos 2017: Disruptive functional testing - the next frontier in post-trade s...
Using Cluster Analysis for Characteristics Detection in Software Defect Reports
EXTENT-2017: Testing in Distributed Ledger Systems
EXTENT-2017: Independent QA in Agile
EXTENT-2017: Re-Engineering Capital Market Business Models to Use Different T...
Ad

Recently uploaded (20)

PDF
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
PDF
Connector Corner: Transform Unstructured Documents with Agentic Automation
PDF
SaaS reusability assessment using machine learning techniques
PDF
Rapid Prototyping: A lecture on prototyping techniques for interface design
PPTX
Internet of Everything -Basic concepts details
PDF
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
PPTX
SGT Report The Beast Plan and Cyberphysical Systems of Control
PDF
Co-training pseudo-labeling for text classification with support vector machi...
PDF
4 layer Arch & Reference Arch of IoT.pdf
PDF
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
PDF
EIS-Webinar-Regulated-Industries-2025-08.pdf
PDF
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
PDF
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
PDF
“The Future of Visual AI: Efficient Multimodal Intelligence,” a Keynote Prese...
PDF
Planning-an-Audit-A-How-To-Guide-Checklist-WP.pdf
PDF
zbrain.ai-Scope Key Metrics Configuration and Best Practices.pdf
PDF
Advancing precision in air quality forecasting through machine learning integ...
PDF
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
PDF
giants, standing on the shoulders of - by Daniel Stenberg
PDF
Lung cancer patients survival prediction using outlier detection and optimize...
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
Connector Corner: Transform Unstructured Documents with Agentic Automation
SaaS reusability assessment using machine learning techniques
Rapid Prototyping: A lecture on prototyping techniques for interface design
Internet of Everything -Basic concepts details
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
SGT Report The Beast Plan and Cyberphysical Systems of Control
Co-training pseudo-labeling for text classification with support vector machi...
4 layer Arch & Reference Arch of IoT.pdf
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
EIS-Webinar-Regulated-Industries-2025-08.pdf
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
“The Future of Visual AI: Efficient Multimodal Intelligence,” a Keynote Prese...
Planning-an-Audit-A-How-To-Guide-Checklist-WP.pdf
zbrain.ai-Scope Key Metrics Configuration and Best Practices.pdf
Advancing precision in air quality forecasting through machine learning integ...
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
giants, standing on the shoulders of - by Daniel Stenberg
Lung cancer patients survival prediction using outlier detection and optimize...

EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures

  • 1. On Complex Software Systems Testing Alexey Zverev, co-CEO & co-founder, Exactpro
  • 7. Distributed exchange trading system and data flow
  • 8. Value Meaning 0 New 1 Partially Filled C Expired 4 Cancelled 2 Filled 8 Rejected 9 Suspended Orders transitions after library execution New (100) New (279) New (4784) END NEW Rejected Filled Expired Cancelled START New (38) Reject (3222) (3222) (100) (38) (279) (4784) Cancel (100) Cancel (38) Expired (279) Trade (4784) Trade (38) TradeCancel (38)
  • 9. Production order life cycle diagram Amend (94) START END Expired Cancelled Filled Rejected PartiallyFilledNEW New (1166642) Trade (23816) Trade (29361) Reject (4224) Amend (937420) Amend (2) Trade (30933) Expire (270741) Cancel (144) Expire (38987) Cancel (1062624) Trade (2944) Amend (28530) Trade (14489) Expire (16400) Cancel (23647) Trade (14520) (19701) (4224) (184) (58370) (326128) (1086415) Suspended (44)
  • 11. Workflows comparison: - Gap analysis/coveragein the test library/run; - Efficiency in test execution; - Edge cases/raceconditions; - Are all the use cases from Prod/UAT covered? Specifications Test runs (Logs,msgs) FT / NFT UAT/Production (Logs, msgs) Single database creation Process mining model Process mining workflows
  • 15. Mistakes make us better SUCCESS Failure Failure Failure Failure Failure Failure Failure
  • 16. Mistakes make us better SUCCESS Failure Failure Failure Failure Failure Failure Failure
  • 17. Silly fish vs. Sailfish
  • 19. What is Sailfish? #step #description #user_name #action #message_type SecurityID OrdType Side OrderQty Price Status Test Case 1: Trade test case start 1 Send BUY Order with Qty = 1000, Price = 10 (O1) User_1 send NewOrderSingle 12345 LIMIT BUY 1000 10 2 Receive Execution Report with Status = NEW (O1) User_1 receive ExecutionReport 12345 LIMIT BUY 1000 10 NEW 3 Send SELL Order with Qty = 1000, Price = 10 (O2) User_2 send NewOrderSingle 12345 LIMIT SELL 1000 10 4 Receive Execution Report with Status = FILLED (O2) User_2 receive ExecutionReport 12345 LIMIT SELL 1000 10 FILLED 5 Receive Execution Report with Status = FILLED (O1) User_1 receive ExecutionReport 12345 LIMIT BUY 1000 10 FILLED test case end
  • 20. The main actions of Sailfish #step #description #user_name #action #message_type SecurityID OrdType Side OrderQty Price Status Test Case 1: Trade test case start 1 Send BUY Order with Qty = 1000, Price = 10 (O1) User_1 send NewOrderSingle 12345 LIMIT BUY 1000 10 2 Receive Execution Report with Status = NEW (O1) User_1 receive ExecutionReport 12345 LIMIT BUY 1000 10 NEW 3 Send SELL Order with Qty = 1000, Price = 10 (O2) User_2 send NewOrderSingle 12345 LIMIT SELL 1000 10 4 Receive Execution Report with Status = FILLED (O2) User_2 receive ExecutionReport 12345 LIMIT SELL 1000 10 FILLED 5 Receive Execution Report with Status = FILLED (O1) User_1 receive ExecutionReport 12345 LIMIT BUY 1000 10 FILLED test case end
  • 21. Passed and Failed test steps send NewOrderSingle (PASSED) [0.001s] - receive ExecutionReport (PASSED) [0.001s]: + Input Parameters - Verification: Message (PASSED): Field Expected Result Actual Result Status ... ... ... ... OrdType LIMIT LIMIT PASSED Status NEW NEW PASSED ... ... ... ...
  • 22. Passed and Failed test steps send NewOrderSingle (PASSED) [0.001s] - receive ExecutionReport (FAILED) [0.421s]: + Input Parameters + Verification: Similar message [1]. Failed/Passed/Conditionally Passed/NA: 4/26/0/6 (FAILED) + Verification: Similar message [2]. Failed/Passed/Conditionally Passed/NA: 2/28/0/6 (FAILED) + Verification: Similar message [3]. Failed/Passed/Conditionally Passed/NA: 1/29/0/6 (FAILED) - Verification: Similar message [4]. Failed/Passed/Conditionally Passed/NA: 1/29/0/6 (FAILED): Field Expected Result Actual Result Status ... ... ... ... OrdType LIMIT LIMIT PASSED Status NEW REJECTED FAILED ... ... ... ...
  • 23. Supervised Machine Learning through unpleasant experience send NewOrderSingle (PASSED) [0.001s] - receive ExecutionReport (FAILED) [0.421s]: + Input Parameters + Verification: Similar message [1]. Failed/Passed/Conditionally Passed/NA: 4/26/0/6 (FAILED) + Verification: Similar message [2]. Failed/Passed/Conditionally Passed/NA: 2/28/0/6 (FAILED) + Verification: Similar message [3]. Failed/Passed/Conditionally Passed/NA: 1/29/0/6 (FAILED) - Verification: Similar message [4]. Failed/Passed/Conditionally Passed/NA: 1/29/0/6 (FAILED): Field Expected Result Actual Result Status ... ... ... ... OrdType LIMIT LIMIT PASSED Status NEW REJECTED FAILED ... ... ... ...
  • 24. Supervised Machine Learning through unpleasant experience send NewOrderSingle (PASSED) [0.001s] - receive ExecutionReport (FAILED) [0.421s]: + Input Parameters - Verification: Similar message [1]. Failed/Passed/Conditionally Passed/NA: 1/29/0/6 (FAILED): 89% + Verification: Similar message [2]. Failed/Passed/Conditionally Passed/NA: 4/26/0/6 (FAILED) 81% + Verification: Similar message [3]. Failed/Passed/Conditionally Passed/NA: 2/28/0/6 (FAILED) 54% + Verification: Similar message [4]. Failed/Passed/Conditionally Passed/NA: 1/29/0/6 (FAILED) 42% Field Expected Result Actual Result Status ... ... ... ... OrdType LIMIT LIMIT PASSED Status NEW REJECTED FAILED ... ... ... ...
  • 25. Supervised Machine Learning: going forward tens of thousands of tests thousands of raised bugs
  • 26. Supervised Machine Learning: going forward This test step failed with the following results... This test step failed with the following results… And the reason is...
  • 27. Dancing with Whales: Adaptive Log Classification System Elena Treshcheva, Business Development Manager, Researcher, Exactpro
  • 29. What turns a problem into a disaster?
  • 30. Mission-Critical Software - Lots of log messages daily
  • 31. Huge volumes of data vs. error class clusters
  • 32. WhaleShark WhaleShark The First IEEE International Conference on Artificial Intelligence Testing (IEEE AITest 2019), April 4-9 2019, San Francisco East Bay, CA, USA User-Assisted Log Analysis for Quality Control of Distributed Fintech Systems Iosif Itkin, Anna Gromova, Anton Sitnikov, Rostislav Yavorskiy, Evgenii Tsymbalov, Andrey Novikov and Kirill Rudakov.
  • 33. One error class - different text strings text text text text 0100101010001010000 ERROR text text text text text text text text text text text text text text text text FATAL…………………………………… text text text text text text text text It’s so cold and dark... I’m scared...
  • 34. Step 1: Normalization ERROR 07 Aug 2018 13:04:39 - Unable to load messages from file '/UAT/collectors/mq1' ERROR 25 Sep 2018 18:24:55 - Unable to load messages from file '/prod/collectors/mq3' ERROR 16 Oct 2018 15:15:10 - Unable to load messages from file '/prod/collectors/mq5'
  • 35. Step 1: Normalization ERROR 07 Aug 2018 13:04:39 - Unable to load messages from file '/UAT/collectors/mq1' ERROR 25 Sep 2018 18:24:55 - Unable to load messages from file '/prod/collectors/mq3' ERROR ** *** **** **:**:** - Unable to load messages from file '/*/*/*' ERROR 16 Oct 2018 15:15:10 - Unable to load messages from file '/prod/collectors/mq5'
  • 37. Final step: User Notification
  • 38. Result: System state visualization
  • 39. More Control over system outputs
  • 40. Kirill Anisimov, Senior QA Analyst, Exactpro On Traceability and the Illusion of Control
  • 41. When I was 5 years old, my mother always told me that happiness was the key to life. When I went to school, they asked me what I wanted to be when I grew up. I wrote down ‘happy’. They told me I didn’t understand the assignment, and I told them they didn’t understand life. John Lennon
  • 42. Hey Stress, don't make it bad Sherman, G. D., Lee, J. J., Cuddy, A. J. C., Renshon, J., Oveis, C., Gross, J. J., & Lerner, J. S. (2012). Leadership is associated with lower levels of stress. Proceedings of the National Academy of Sciences, 109(44), 17903–17907.
  • 43. Fenton-O’Creevy, M., Nicholson, N., Soane, E., & Willman, P. (2003). “Trading on illusions: Unrealistic perceptions of control and trading performance”. Journal of Occupational and Organizational Psychology, 76(1), 53–68. Imagine all the brokers trading on...
  • 44. We all live in an illusion of control
  • 45. Software testing is relentless learning, continuous improvement and keeping abreast of cutting-edge technologies. The research and development team at Exactpro uses machine learning methods of intellectual data analysis to create next- generation program analysis tools. We work in an agile environment collaborating with a multinational team of software developers. R&D Case Study: Cradle Test Database for Machine Learning
  • 46. They told me I didn’t understand the assignment and the test report does not make anyone happy. I told them they didn’t understand software testing. Software testing is our life.
  • 47. Demystifying DLT Testing One Network at a Time Ekaterina Volobueva, QA Analyst, Exactpro
  • 48. The complexity of post-trade - There is a multitude of components in modern complex post-trade infrastructures; - Upstream and downstream system dependency; - The participant structure is very complex; - Trade/Position/Account life cycle; - The number of Asset Classes may vary; - The complexity of the Risk calculation process; - Access via a set of API endpoints.
  • 49. Maybe blockchain? J.Gardner decision model https://medium.com/@sbmeunier/when-do-you-need- blockchain-decision-models-a5c40e7c9ba1
  • 50. Morgen E. Peck decision model https://medium.com/@sbmeunier/when-do-you- need-blockchain-decision-models-a5c40e7c9ba1
  • 51. D. Birch decision model https://medium.com/@sbmeunier/when-do-you-need- blockchain-decision-models-a5c40e7c9ba1 Do I need a blockchain? No.
  • 52. Is it OK to release my blockchain into live- service?
  • 54. ClearTH for DLT-Based Post-Trade Systems research based on R3 Corda technology has won the Best Tool Demo Award in Xi’an, China
  • 55. Testing the Core Network
  • 58. Exactpro Test Framework and Test Approach for DLT-based system 3 steps on the ledger side: 1st - Initialisation of positions 2nd - Trade creation and participant notification 3rd - Positions updates Across each and every step the test framework provides different methods to validate the endpoints, inputs and outputs. The actual business flow steps and validation check items are transformed into ClearTH matrix after execution of which the deviations from the expected behaviour can be analysed.
  • 59. ClearTH and Woodpecker for DLT is an Exactpro test harness able to simultaneously execute multiple end-to-end test scenarios in batches. ● Supports multiple protocols (SWIFT, FIX, Market Data, etc.) ● Automatically runs test scripts ● Executes concurrent automated tests ● Allows to create multiple-day test scenarios ● Has integrated scheduler and simulators ● Verifies each stage of the system daily life cycle
  • 61. Meet Exactpro at CordaCon in October
  • 63. Get the MOST from FIX Marina Soloveva, QA Project Manager, Exactpro
  • 70. Open source strategy Exactpro has donated 4 tools to Open Source: 2018 2019
  • 71. 71 Build Software to Test Software exactpro.com
  • 72. It is not called Georgia • Territory: 69,700 sq km • Population: ~4 million • Capital: Tbilisi (1.5 million) Five Cross Flag ძალა ერთობაშია Strength is in Unity Sakartvelo საქართველო
  • 73. Why Sakartvelo To provide additional level of security to our Clients and Exactpro business, we have decided to diversify our delivery locations by country. Georgia is very well ranked in terms of economic freedom, ease of doing business and corruption.
  • 74. A Warm Location 19 September 2018 As part of executing our strategy of global growth as a company focused on software testing and building software to test our clients’ software, we launched Exactpro Systems Georgia and our new project delivery center in Tbilisi.
  • 76. Software Testing is Relentless Learning - QA Community Tbilisi
  • 77. Software Testing is Relentless Learning - GeoSTQB • Increase the awareness about ISTQB among testers within different companies and universities • Promote professionalism in Software Testing in Georgia by implementing an internationally recognized certified tester scheme • Establish certification of IT professionals in Georgia according to ISTQB standards • Support talented and promising testers 22 February 2019
  • 78. Software Testing is Relentless Learning - Partnerships Exactpro has recently joined the ISTQB® Partner Program as a platinum partner alongside 74 other companies. Joining the ISTQB® Partner Program allows us to play a bigger role in the software testing community and to highlight our goal of providing accessible, internationally relevant high-quality education to our staff July 2019
  • 79. Software Testing is Relentless Learning The International Conference on Software Testing, Machine Learning and Complex Process Analysis (TMPA-2019) – Tbilisi, Georgia on 7-9 November 2019. Focus on the application of modern methods of data science to the analysis of software quality. www.tsu.ge
  • 81. 81 Build Software to Test Software exactpro.com
  • 83. Exactpro in 2019 • Capital Markets
  • 84. Exactpro in 2019 • Capital Markets • Risk Management & Post Trade
  • 85. Exactpro in 2019 • Capital Markets • Risk Management & Post Trade • Information Services
  • 86. Software Testing is Relentless Learning
  • 87. Information Services – Automated Testing
  • 88. We Need More Food
  • 90. Changes in Software • Extend regression libraries • Reduce the gaps in the test coverage • Build faster software to execute more tests • Run tests concurrently and under load • Repeat the same tests multiple times • Introduce more diversity in tools and data sets • Intensify Use of Chaos Engineering
  • 91. Changes in Hardware A) Work Collaboratively with Our Clients B)
  • 92. 92 Build Software to Test Software exactpro.com
  • 93. Exactpro Test Cloud • Cradle for the next generation of test tools • Built-in test coverage and compliance reporting • Pricing tailored to massive defect mining processes • Located in UK, EU, US to satisfy data regulation
  • 94. Exactpro Plans • Cradle for the next generation of test tools • Built-in test coverage and compliance reporting • Pricing tailored to massive defect mining processes • Located in UK, EU, US to satisfy data regulation • Consider raising capital for it in 2021