Slide 1

Slide 1 text

Copyright © 2019 Exactpro. Confidential. Name: Luba Konnova Company: Exactpro Job title: Senior QA Project Manager [email protected] Apprendre, danser et démystifier: comment Exactpro utilise l'intelligence artificielle pour tester les logiciels essentiels au fonctionnement des marchés financiers. Copyright © 2019 Exactpro.

Slide 2

Slide 2 text

Exactpro: qui sommes-nous ? Nous créons des logiciels pour tester des logiciels. #exactpro #TestersEndgame #AvengersEndgame Exactpro Testers: Endgame Copyright © 2019 Exactpro.

Slide 3

Slide 3 text

3 Build Software to Test Software exactpro.com ● Exactpro est une societé specialisée qui est centrée sur des tests fonctionnels et non-fonctionnels de systèmes de Bourses, de chambres de compensation, de règlement et de gestion des garanties, d’institutions de dépôt, de banques. ● Nous avons débuté avec 10 personnes en 2009 et maintenant Exactpro compte 500 spécialistes. ● Nous sommes le membre de Hyperledger depuis janvier 2019. ● Notre entreprise est installée à Londres. Elle possède des équipes aux États-Unis, en Géorgie et en Russie. ● Une partie de London Stock Exchange Group (LSEG) de mai 2015 à janvier 2018. ● Le management buyout d’Exactpro a été fini en janvier 2018. Introduction: quelques faits concernant Exactpro

Slide 4

Slide 4 text

Que testons-nous? Plateformes complexes distribuées Copyright © 2019 Exactpro.

Slide 5

Slide 5 text

Trading vs. Post-Trade Copyright © 2019 Exactpro. Systèmes de compensation et de règlement Systèmes de gestion des garanties (Calypso) Systèmes de gestion des risques

Slide 6

Slide 6 text

Les erreurs nous aident à nous améliorer Copyright © 2019 Exactpro.

Slide 7

Slide 7 text

SUCCESS Failure Failure Failure Failure Failure Failure Failure 7 Les erreurs nous aident à nous améliorer Copyright © 2019 Exactpro.

Slide 8

Slide 8 text

Silly fish vs. Sailfish 8 Copyright © 2019 Exactpro.

Slide 9

Slide 9 text

Qu'est ce que c'est, Sailfish? Web Binary FIX Market Data Database Copyright © 2019 Exactpro.

Slide 10

Slide 10 text

Les principales actions de 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 Copyright © 2019 Exactpro. Confidential.

Slide 11

Slide 11 text

Le Machine Learning grâce à une désagréable expérience 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 ... ... ... ... Copyright © 2019 Exactpro.

Slide 12

Slide 12 text

Le Machine Learning supervisé: l'avenir This test step failed with the following results... This test step failed with the following results… And the reason is... 12 Copyright © 2019 Exactpro.

Slide 13

Slide 13 text

Un problème contre une catastrophe Copyright © 2019 Exactpro.

Slide 14

Slide 14 text

Logiciels critiques - nombreux messages d'erreur chaque jour Copyright © 2019 Exactpro.

Slide 15

Slide 15 text

Une énorme quantité de données contre des clusters de catégorie d'erreurs Copyright © 2019 Exactpro.

Slide 16

Slide 16 text

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. Copyright © 2019 Exactpro.

Slide 17

Slide 17 text

Catégorie d'erreurs - des chaînes différentes de caractères 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... Copyright © 2019 Exactpro.

Slide 18

Slide 18 text

L’étape 1: normalisation 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' Copyright © 2019 Exactpro.

Slide 19

Slide 19 text

L’étape 1: normalisation 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' Copyright © 2019 Exactpro.

Slide 20

Slide 20 text

L’étape 2: regroupement Copyright © 2019 Exactpro.

Slide 21

Slide 21 text

L’étape finale: notification de l'utilisateur Copyright © 2019 Exactpro.

Slide 22

Slide 22 text

Les résultats: visualisation d’états du système Copyright © 2019 Exactpro.

Slide 23

Slide 23 text

Process Mining: l'analyse de processus Copyright © 2019 Exactpro.

Slide 24

Slide 24 text

Value Meaning 0 New 1 Partially Filled C Expired 4 Cancelled 2 Filled 8 Rejected 9 Suspended Process Mining: transition d'ordres après l'exécution d’une suite de tests 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) Copyright © 2019 Exactpro.

Slide 25

Slide 25 text

Cycle de vie de l'ordre dans la production Amend (94) START END Expired Cancelled Filled Rejected PartiallyFilled NEW 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) Copyright © 2019 Exactpro.

Slide 26

Slide 26 text

Comparant de grandes bases de données Copyright © 2019 Exactpro.

Slide 27

Slide 27 text

Le flux de travail de Process mining Workflows comparison: - Gap analysis/coverage in the test library/run; - Efficiency in test execution; - Edge cases/race conditions; - 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 Copyright © 2019 Exactpro.

Slide 28

Slide 28 text

Mise à jour de la suite de tests Copyright © 2019 Exactpro.

Slide 29

Slide 29 text

Le test de logiciels, c’est l'apprentissage incessant, l’amélioration continue et c’est être à l'avant-garde de la technologie. L'équipe de Recherche et Développement d’ Exactpro utilise des méthodes d'analyse intellectuelle des données de Machine Learning pour créer une nouvelle génération d'outils de tests. Une étude de cas de R&D: la base de données de test Cradle pour le Machine Learning Copyright © 2019 Exactpro.

Slide 30

Slide 30 text

ClearTH pour des systèmes de Post-Trade basés sur un registre distribué (R3 Corda technology) a remporté le prix du Best Tool Demo Award à Xi'an (Chine). Copyright © 2019 Exactpro.

Slide 31

Slide 31 text

Merci!