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

Learn, Dance, Demystify: How we use AI methods for testing mission-critical software (FR)

Learn, Dance, Demystify: How we use AI methods for testing mission-critical software (FR)

Luba Konnova, Senior QA Project Manager, Exactpro

QA Financial Forum
8 October 2019, Paris

To learn more about Exactpro, visit our website https://exactpro.com/
Follow us on
LinkedIn https://www.linkedin.com/company/exactpro-systems-llc
Twitter https://twitter.com/exactpro
Facebook https://www.facebook.com/exactpro/
Instagram https://www.instagram.com/exactpro/
YouTube https://www.youtube.com/c/exactprosystems

Exactpro
PRO

October 08, 2019
Tweet

More Decks by Exactpro

Other Decks in Technology

Transcript

  1. 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.

    View Slide

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

    View Slide

  3. 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

    View Slide

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

    View Slide

  5. 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

    View Slide

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

    View Slide

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

    View Slide

  8. Silly fish vs. Sailfish
    8
    Copyright © 2019 Exactpro.

    View Slide

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

    View Slide

  10. 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.

    View Slide

  11. 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.

    View Slide

  12. 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.

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  16. 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.

    View Slide

  17. 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.

    View Slide

  18. 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.

    View Slide

  19. 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.

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  24. 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.

    View Slide

  25. 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.

    View Slide

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

    View Slide

  27. 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.

    View Slide

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

    View Slide

  29. 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.

    View Slide

  30. 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.

    View Slide

  31. Merci!

    View Slide