POURQUOI ET COMMENT TESTER SA PLATEFORME EDI - Spindev

 
CONTINUER À LIRE
POURQUOI ET COMMENT TESTER SA PLATEFORME EDI - Spindev
POURQUOI ET
 COMMENT TESTER
SA PLATEFORME EDI
POURQUOI ET COMMENT TESTER SA PLATEFORME EDI - Spindev
Temps de lecture                                                             Audience
                20 minutes                                                        Directeurs des SI
                  environ                                                      Managers équipe EDI/B2B
                                                                                    Managers QA

                                                                                   40%
Dans ce livre blanc, vous allez découvrir ou redécouvrir
pourquoi il est important de tester sa plateforme EDI,
et comment le faire en fonction du type de plateforme
dans votre entreprise. Les activités de test sont
indispensables pour garantir que la plateforme EDI ne
va pas perturber les flux de l’entreprise. Ces activités                           Proportion du
de test représentant entre 30% et 40% du temps total                              temps passé sur
consacré aux activités de développement logiciel, il est
                                                                                 les activités de
donc important de sélectionner les bonnes méthodes
et les bons outils afin d’être le plus efficace possible.                          test lors des
                                                                                      projets
Seront abordés :                                                                   informatiques
   les enjeux concernant la qualité des plateformes EDI
   les différents types de test à mettre en place
   l’environnement indispensable à leur bonne exécution
   les outils nécessaires et comment les sélectionner

Tout cela, afin de trouver les problèmes le plus tôt et le plus efficacement possible. Une
fois opérationnelle, une solution de test doit permettre aux équipes EDI d’augmenter leur
efficacité, en passant plus de temps sur le management des partenaires que sur le debug
et la recherche de régression.

C’est toute votre entreprise qui deviendra plus performante :
   gagnez et conservez vos clients en intégrant plus efficacement, sans bug ni
   régression, leurs flux EDI
   prenez un temps d’avance sur vos concurrents, en implémentant plus rapidement des
   changements fonctionnels dans vos flux EDI (par exemple la livraison le week-end
   dans la logistique).

                                                    -1-
                                    © 2019 Spindev SAS. Tous droits réservés
POURQUOI ET COMMENT TESTER SA PLATEFORME EDI - Spindev
Table des matières

L'EDI AU CŒUR DE LA PERFORMANCE DES ENTREPRISES                           3
POURQUOI TESTER SA PLATEFORME EDI ?                                       4
QUE SIGNIFIE "TESTER" SA PLATEFORME EDI ?
QUELS BUGS PEUT-ON RENCONTRER DANS UNE PLATEFORME EDI ?                   5
FAUT-IL TESTER SA PLATEFORME EDI ?                                        7
DANS QUELLES SITUATIONS TESTER SA PLATEFORME EDI ?                        8
COMMENT TESTER SA PLATEFORME EDI ?                                        9
QUAND TESTER SA PLATEFORME EDI ?
QUELLES SONT LES DIFFÉRENTES CATÉGORIES DE TEST D'UNE PLATEFORME EDI ?    11
QUELS MÉTHODES ET OUTILS ?                                                13
UNE PLATEFORME EDI PLUS PERFORMANTE                                       22
TESTER SA PLATEFORME EDI AVEC SPINDEV                                     23

                                               -2-
                               © 2019 Spindev SAS. Tous droits réservés
POURQUOI ET COMMENT TESTER SA PLATEFORME EDI - Spindev
L'EDI AU COEUR DE LA
    PERFORMANCE DES
       ENTREPRISES

Les échanges de données
informatisées (EDI) sont
indispensables à la performance
des entreprises. Ils permettent
d’accélérer les transactions entre
partenaires commerciaux,
en automatisant des processus critiques comme la préparation de
commandes, l'avis d'expédition, la facturation ou les ordres de transferts
monétaires.

En conséquence, la plus grande attention doit être portée à la qualité de la
plateforme EDI, car le moindre problème peut avoir des conséquences
extrêmement dommageables :
                                                   retard ou erreur de livraison
                                                   supply chain désorganisée
                                                   traçabilité perdue
                                                   facturation retardée

                                               -3-
                               © 2019 Spindev SAS. Tous droits réservés
POURQUOI ET COMMENT TESTER SA PLATEFORME EDI - Spindev
POURQUOI TESTER SA
     PLATEFORME EDI ?

Avant d’aller plus loin dans les motivations et les méthodes pour tester efficacement sa
plateforme EDI, il convient de bien définir les différentes activités de test.

QUE SIGNIFIE “TESTER” SA PLATEFORME EDI ?
Dans le test informatique, on distingue deux activités de “test”, qui s’appliquent
également pour les plateformes EDI : la validation et la non-régression.

La validation consiste à s’assurer que des évolutions ou corrections apportées à sa
plateforme EDI sont correctes par rapport aux spécifications de ces changements.
L’objectif est de répondre à la question :
Est-ce que l’implémentation des changements est correcte ?
Par exemple, est-ce que ce nouveau mapping respecte la règle métier associée ?

La non-régression consiste à s’assurer que les changements introduits dans sa
plateforme EDI n’ont pas entraîné de modifications de comportement non désirées sur
les fonctionnalités existantes. L’objectif est de répondre à la question :
Est-ce que ma plateforme EDI continue de fonctionner correctement suite à
l’implémentation des changements ?
Par exemple, est-ce que tous mes flux existants se comportent comme attendu ? On
peut également vouloir vérifier que les aspects non-fonctionnels de la plateforme
(performance, charge, sécurité) sont toujours corrects.

                                                   -4-
                                   © 2019 Spindev SAS. Tous droits réservés
POURQUOI ET COMMENT TESTER SA PLATEFORME EDI - Spindev
POURQUOI TESTER SON EDI ?

        QUELS BUGS PEUT-ON RENCONTRER DANS UNE
        PLATEFORME EDI ?
        Il est plus ou moins fréquent d’apporter des modifications à sa plateforme EDI : pour
        ajouter un nouveau partenaire, modifier une règle métier, mettre à jour son ERP ou
        WMS, migrer de plateforme ou encore changer de serveur.

        Tester ces changements avant la mise en production (MEP) est indispensable pour
        détecter :
           d’éventuels problèmes fonctionnels ou non-fonctionnels
           les impacts de ces changements sur les flux existants et les partenaires associés

        Cette activité de test va permettre de prendre des mesures correctives qui éviteront
        des pertes d’informations, susceptibles de perturber la supply chain, la logistique ou
        la facturation. Cela peut également permettre de détecter les partenaires qui
        pourraient être impliqués par des changements dans des flux (mapping,
        communication), afin de les prévenir des modifications à apporter dans les flux en
        amont de la MEP.

                                                          -5-
                                          © 2019 Spindev SAS. Tous droits réservés
POURQUOI ET COMMENT TESTER SA PLATEFORME EDI - Spindev
POURQUOI TESTER SON EDI ?

        Plusieurs types de bugs peuvent être rencontrés dans une plateforme EDI, qui ont des
        conséquences plus ou moins importantes sur les activités de l’entreprise.

                TYPE DE                                                                                         EXEMPLES ET
                                                         DÉTAILS
               PROBLÈME                                                                                        CONSÉQUENCES
                                                                                                    Erreur fonctionnelle : en logistique et transport, un
                                     Une traduction peut entraîner des erreurs                      mauvais traitement des données de poids (variable,
                                     fonctionnelles
                                     Une             ou de robustesse
                                          erreur fonctionnelle        :
                                                               peut impliquer un traitement         forfaitaire) peut entraîner une mauvaise facturation,
                                     incorrect de la donnée reçue.                                  ou une rupture dans la supply chain.
              Problème dans un
                                     Une erreur de robustesse peut impliquer des
                  mapping            messages perdus, non traités ou pire, l’arrêt de la            Erreur de robustesse : une erreur de programmation
                                     plateforme.                                                    dans un mapping peut entraîner une exception
                                                                                                    logicielle, entraînant elle-même l’arrêt de la
                                                                                                    plateforme EDI.

                                     Une mise à jour d’une application dans le SI peut
                                     entraîner des changements d’interface, qui vont                Un upgrade de SAP R/3 vers SAP S/4HANA
            Problème d’intégration   impliquer des modifications dans l’EDI.                        s’accompagne d’un changement dans les interfaces
             avec le SI (ERP, CRM,   De même, une nouvelle règle métier dans un WMS                 avec l’ERP.
                                     ou un ERP peut impliquer des changements dans les              Les données transmises depuis et vers SAP
                WMS, TMS...)
                                     données échangées (segment en plus ou en moins                 peuvent être perdues ou corrompues.
                                     par exemple).

                                     Un certificat AS2 qui change, des identifiants de
                                     connexion mis à jour, une adresse de serveur                   Les messages depuis ou vers les partenaires ou des
                                     modifiée, un firewall upgradé sont autant de cas               composants du SI ne peuvent plus être reçus ou
                Problème de          pour lesquels les échanges électroniques avec une              émis.
               communication         plateforme EDI peuvent être perturbés et pour                  Cela peut entraîner des retards, des pertes de
                                     lesquels il faut effectuer des tests après chaque              commande ou de facturation...
                                     changement.

                                                                                                    Une plateforme EDI en relation directe avec une
                                     Il est important de s’assurer que sa plateforme EDI a
                                                                                                    application de front-office (logiciel de caisse par
                                     les performances attendues. Parmi les points à
                Problème de                                                                         exemple) se doit de répondre rapidement. Si un
                                     considérer, il y a le temps de traitement des
                performance                                                                         vendeur veut communiquer un état des stocks ou
                                     mappings, ou encore le temps de réponse pour des
                                                                                                    un délai de livraison à un client, il faut pouvoir
                                     requêtes.
                                                                                                    fournir la réponse instantanément.

                                                                                                    Lors des fêtes de Noël ou du Black Friday, le
                                     Une plateforme EDI doit pouvoir supporter les pics             nombre de messages échangés avec des clients
             Problème de charge      de charge, afin de ne pas perdre de message ou de              peut varier considérablement. La plateforme EDI
                                     ne pas retarder le traitement de l’information.                doit supporter une telle charge afin de garantir la
                                                                                                    continuité dans le business de l’entreprise.

                                     Malgré toutes les précautions qui peuvent être
                                     prises pour assurer la sécurité du SI (DMZ, firewall,          Il y a plusieurs types d’attaques possibles, telles
                                     etc.), la plateforme EDI doit rester accessible de             que le vol d’informations sensibles pour l’entreprise
                                     l'extérieur du SI de l'entreprise. De plus, elle est           (facturation, prix d’achat de fournitures...), ou
             Problème de sécurité    utilisée pour l’échange des données très sensibles             encore une attaque en denial of service (les pirates
                                     pour l’entreprise. Il est primordial de s’assurer que le       envoient un très grand nombre de connexions afin
                                     plus haut niveau de sécurité est garanti afin d’éviter         que la plateforme s’écroule sous le nombre de
                                     de se faire dérober des informations confidentielles           requêtes).
                                     et de garantir sa continuité opérationnelle.

                                                                         -6-
                                                         © 2019 Spindev SAS. Tous droits réservés
POURQUOI ET COMMENT TESTER SA PLATEFORME EDI - Spindev
POURQUOI TESTER SON EDI ?

        FAUT-IL TESTER SA PLATEFORME EDI ?

        Il est possible de classer les plateformes EDI en 3 catégories. La classification
        suivante est celle proposée par GS1(1) :
            EDI Web : La plateforme est hébergée par un prestataire, et non intégrée dans le SI
            de l’entreprise (pas de lien électronique avec l'ERP par exemple). Les besoins
            spécifiques sont développés par le prestataire pour les échanges B2B.
            EDI ASP (Application Service Provider) : La plateforme EDI est hébergée et
            managée par un prestataire. Elle s’intègre directement dans le SI de l’entreprise. Le
            prestataire effectue les développements de besoins spécifiques à l’entreprise, que
            ce soit pour l’intégration dans le SI comme pour les échanges B2B.
            EDI in situ : L’entreprise gère les développements, la maintenance et
            l’infrastructure de sa plateforme EDI.

        Dans ces différents cas, les activités de test ne sont pas les mêmes. Pour une
        solution EDI Web, il est uniquement nécessaire de recetter les flux pour s’assurer
        qu’ils sont fonctionnellement corrects. Les performances, la charge, la sécurité et
        autres aspects de robustesse sont assurés par le prestataire.

        Dans le cas d’un EDI ASP, les besoins de test seront plus importants. Comme pour
        l’EDI Web, il faudra s’assurer que les règles métier sont correctement mises en place,
        et en plus que l’EDI s’intègre correctement avec les différents éléments de son SI. Les
        performances, la charge, la sécurité et autres aspects de robustesse sont assurés par
        le prestataire.

        Enfin, pour un EDI in situ, il va falloir effectuer des tests plus poussés. En plus de ceux
        concernant les règles métier et l’intégration, il faut également s’assurer que la
        plateforme EDI répond bien aux besoins non-fonctionnels (performance, charge et
        sécurité).

        (1) https://www.gs1.fr/content/download/2603/18776/version/3/file/L%27EDI%20_%20mes%20premiers%20pas_2016.pdf

                                                                       -7-
                                                       © 2019 Spindev SAS. Tous droits réservés
POURQUOI ET COMMENT TESTER SA PLATEFORME EDI - Spindev
POURQUOI TESTER SON EDI ?

        DANS QUELLES SITUATIONS TESTER SA
        PLATEFORME EDI ?
        Il y a plusieurs situations qui imposent de tester sa plateforme EDI :
             Une migration d’une plateforme EDI vers une autre plateforme EDI ou une mise à
             jour (montée de version/upgrade) de son progiciel EDI.
             Une modification fonctionnelle d’une partie de sa plateforme EDI (règle métier,
             ajout ou modification de partenaire).
             Un changement dans une ou plusieurs application(s) de son SI s’intégrant avec son
             EDI, telle que l'ERP, le WMS ou le CRM.
             Un changement de l’environnement matériel (serveur, OS) ou réseau (firewall) de
             sa plateforme EDI.

        Dans le cas d’une migration EDI ou d’une mise à jour importante du progiciel de sa
        plateforme EDI, il est important de s’assurer que la nouvelle plateforme EDI va se
        comporter de manière similaire à la précédente, autant fonctionnellement (traitement
        de la donnée, communication) que non fonctionnellement (performance et support de
        la charge).

        Pour une modification fonctionnelle de la plateforme EDI, il va falloir d’abord vérifier
        que l’ajout ou les changements sont fonctionnellement corrects par rapport aux
        spécifications du métier. Ensuite, il faut s’assurer que les changements n’ont pas
        d’effets de bord sur les autres flux et mappings. Ce dernier cas est très dépendant de
        l’architecture de la plateforme : s’il y a du code partagé ou des règles métier dans le
        mapping, alors il faut s’assurer de la non-régression pour tous les flux impactés.

        Un changement dans le SI (upgrade de l’ERP, ajout d’un WMS, migration du CRM) peut
        aussi avoir des impacts sur les flux entrants et sortants. On va chercher dans ce cas à
        s’assurer que la plateforme EDI s’intègre toujours correctement dans le SI.

        Enfin, une mise à jour de l’environnement matériel et réseau de la plateforme EDI
        nécessite de s’assurer que le nouveau matériel n’a d’impact négatif ni sur les
        performances générales (temps de réponse, charge, sécurité) ni sur les connexions
        utilisées par les flux.

                                                           -8-
                                           © 2019 Spindev SAS. Tous droits réservés
POURQUOI ET COMMENT TESTER SA PLATEFORME EDI - Spindev
COMMENT TESTER SA
     PLATEFORME EDI ?

S’il ne fait plus de doute qu’il faut tester sa plateforme EDI, il faut bien définir la
stratégie à mettre en oeuvre pour le faire efficacement.

QUAND TESTER SA PLATEFORME EDI ?
Il convient de tester sa plateforme EDI avant chaque nouvelle mise en production.
Suivant les modifications apportées qui nécessitent une MEP, il pourra y avoir
différentes activités de test :

1 - LA VALIDATION
   Cette phase est nécessaire en cas d'ajout d’un nouveau partenaire, d’une nouvelle
   fonctionnalité ou d’une nouvelle règle métier, ou de modification d’un flux, d’une règle
   de validation ou d’un mapping. Il faut valider l’ajout par une phase de test
   exploratoire, durant laquelle le testeur va s’assurer que l’ajout ou la modification se
   comporte comme attendu. Le testeur va
   définir les différents cas de test en fonction
   des spécifications du métier. Il veillera à bien
   prendre en compte les cas aux limites, ainsi
   que les cas d’erreurs : par exemple un
   mauvais format de données ou des données
   incomplètes.

                                                     -9-
                                     © 2019 Spindev SAS. Tous droits réservés
COMMENT TESTER SA PLATEFORME EDI ?

        2 - LES TESTS DE NON-RÉGRESSION
          Il peut y avoir plusieurs cas nécessitant une phase de tests de non-régression :
               Les ajouts ou modifications fonctionnelles décrites précédemment, s'ils ont
               potentiellement des effets de bord sur d’autres fonctionnalités.
               Par exemple, dans le cas de la modification d’un mapping utilisé par plusieurs
               flux, il faudra s’assurer de l’absence de régression pour tous les flux
               impactés. A contrario, un mapping utilisé par un seul partenaire pour un
               unique flux qui serait ajouté ou modifié ne nécessitera pas de test de non-
               régression sur les autres flux.
               La modification du progiciel utilisé ou du matériel utilisé pour l’EDI.
               Dans ce cas, il convient de s’assurer principalement de l’absence de
               régression non-fonctionnelle : les performances, la charge et la sécurité sont-
               elles toujours au niveau attendu ?
               Une telle mise à jour peut cependant avoir un impact fonctionnel : il faut
               parfois modifier des mappings existants suite à une modification de l’API de
               la plateforme. Dans ce cas, il faut effectuer les mêmes activités de test que
               celle décrite au point précédent.

        Le tableau ci-dessous permet de décider dans quels cas il faut prévoir des activités de validation et de
        tests de non-régression, en fonction des changements introduits avant une MEP.

             CATEGORIE DE                                                                                        NON-
                                          TYPE DE CHANGEMENT                                     VALIDATION
                 TEST                                                                                         RÉGRESSION

                 Migration de
                                      Changement de progiciel                                       NON          OUI
                plateforme EDI        Upgrade de version de progiciel                               NON          OUI
                                      Sans code commun                                              NON          NON
              Nouveau mapping
              Nouvelle règle de       Avec code commun non modifié                                  NON          NON
                 validation
                                      Avec code commun modifié                                      NON          OUI
               Modification d'un
                                      Sans code commun                                              OUI          NON
                  mapping             Avec code commun                                              OUI          OUI
                                      Sans modification de la plateforme EDI                        NON          OUI
            Changement dans le SI
                                      Avec modification de la plateforme EDI                        OUI          OUI
                             Changement matériel ou réseau                                          NON          OUI

                                                                     - 10 -
                                                      © 2019 Spindev SAS. Tous droits réservés
COMMENT TESTER SA PLATEFORME EDI ?

        QUELLES SONT LES DIFFÉRENTES CATÉGORIES
        DE TESTS D’UNE PLATEFORME EDI ?

        Avant de mettre en production des modifications, il faut tester la plateforme EDI
        suivant différents aspects, afin de s’assurer de son bon fonctionnement. On distingue
        2 catégories de tests, qui sont nécessaires dans le cas de certains changements
        apportés à la plateforme EDI.

        1 - LES TESTS FONCTIONNELS
        Il s’agit de s’assurer que la plateforme EDI respecte ses spécifications
        métier.
             Les règles de validation des données sont-elles correctement implémentées ?
             Les mappings sont-ils corrects ? Par exemple, les données sont-elles correctement
             transformées ?
             Les messages sont-ils correctement routés dans le SI ou vers le bon partenaire ?

        2 - LES TESTS NON-FONCTIONNELS
        Il s’agit de s’assurer que la plateforme EDI respecte les spécifications qui ne sont pas
        liées aux règles de gestion.
             La performance de la plateforme : est-elle capable de recevoir, traiter et répondre
             à un message dans un temps imparti ?
             La charge de la plateforme : est-elle capable de recevoir, traiter et répondre à un
             certain de nombre de messages dans un temps contraint ?
             La sécurité de la plateforme : est-elle capable de bloquer les connexions non
             désirées ?

                                                          - 11 -
                                           © 2019 Spindev SAS. Tous droits réservés
COMMENT TESTER SA PLATEFORME EDI ?

       Le tableau ci-dessous permet de décider dans quels cas il faut prévoir des tests fonctionnels et non-
       fonctionnels, en fonction des changements introduits avant une MEP.

            CATEGORIE DE                                                                                            NON-
                                           TYPE DE CHANGEMENT                                      FONCTIONNEL   FONCTIONNEL
                TEST

               Migration de
                                       Changement de progiciel                     OUI              OUI
        Le tableau   ci-dessous
              plateforme EDI   permet
                                Upgrade dede    décider
                                           version de progicieldans quel cas il faut prévoir des tests
                                                                                   OUI              OUI
        fonctionnels et non-fonctionnels,       en fonction des changements introduits avant une
                                Sans code commun                                   OUI             NON
        MEP Nouveau
             :       mapping
             Nouvelle règle de  Avec code commun non modifié                       OUI             NON
                 validation
                                       Avec code commun modifié                                       OUI           NON
             Modification d'un
                                       Sans code commun                                                OUI          NON
                mapping                Avec code commun                                                OUI          NON
                                       Sans modification de la plateforme EDI                         NON           OUI
           Changement dans le SI
                                       Avec modification de la plateforme EDI                          OUI          OUI
                              Changement matériel ou réseau                                           NON           OUI

                                                                       - 12 -
                                                        © 2019 Spindev SAS. Tous droits réservés
COMMENT TESTER SA PLATEFORME EDI ?

        QUELS MÉTHODES ET OUTILS ?

        1 - QUELS TYPES DE TESTS ?
        Il faut tester durant tout le cycle de développement d’un projet EDI. Pour cela, il y a
        différents types de tests qui seront créés, maintenus et exécutés dans des
        environnements différents, par des personnes ayant des rôles différents.

          TESTS UNITAIRES (TU)
          Ce sont les tests de plus bas niveau, dont l'objectif est de s’assurer qu’une
          fonctionnalité spécifique, comme un mapping ou une règle de validation,
          fonctionne comme attendu.

          Comme cette catégorie de test se focalise sur un sous-ensemble fonctionnel du
          logiciel, ces tests sont généralement écrits dans le langage de programmation
          mis à disposition de la plateforme. Ils sont aussi créés, maintenus et exécutés
          par les développeurs, avant de promouvoir leurs modifications (dans un outil de
          versioning de code par exemple, ou sur l’environnement de développement de la
          plateforme).

          Les TU sont principalement fonctionnels et n’ont pas pour objectif de tester la
          performance ou la charge de la plateforme EDI.

          TESTS DE PLATEFORME (TP)
          Ces tests se focalisent sur plateforme EDI dans sa globalité, mais isolée du
          reste du SI et de ses partenaires. L’objectif est de vérifier que la plateforme rend
          bien le service attendu sans qu’elle soit connectée au SI.

          C’est généralement avec les TP que l’on va tester si les flux sont correctement
          reçus, transformés et redirigés. Pour ce type de test, il faudra donc soumettre
          des données en entrée de la plateforme et évaluer les résultats à sa sortie.

          C’est également au niveau des TP que les tests de performance, de charge et de
          sécurité vont être effectués.

                                                          - 13 -
                                           © 2019 Spindev SAS. Tous droits réservés
COMMENT TESTER SA PLATEFORME EDI ?

        TESTS DE BOUT EN BOUT (E2E)
        Avec ces tests, il s’agit de s’assurer que la plateforme EDI s’intègre
        correctement dans le SI de l’entreprise et avec ses partenaires. Il faut donc
        tester des scénarios métier afin de s’assurer que l’information est correctement
        traitée dans les différentes étapes de son flot :
           Est-ce que la commande est bien relayée au WMS, au CRM et à l’ERP ?
           La facture émise par l’ERP est-elle correctement envoyée à son destinataire ?
        Ces tests sont généralement très fonctionnels : les scénarios sont écrits par des
        experts métier pour pouvoir jouer et rejouer les différents cas liés aux activités
        de l’entreprise.

        Les tests de E2E permettent également de valider l’intégration correcte de la
        plateforme EDI dans le SI : identifiants de connexions aux autres composants,
        connexions passant les différents éléments de protection (firewall ou encore
        l'API gateway).

        Ils permettent enfin de s’assurer que le déploiement de la plateforme s’effectue
        correctement : espace disque ou droits d’accès entre autres.

                                                         - 14 -
                                          © 2019 Spindev SAS. Tous droits réservés
COMMENT TESTER SA PLATEFORME EDI ?

        2 - QUELS ENVIRONNEMENTS DE TEST ?
        II est important d’avoir accès à un environnement dédié au test de sa plateforme EDI,
        quelle que soit la plateforme utilisée. Cet environnement sera utilisé pour faire la recette
        des changements et si besoin les tests de non-régression. Pour bien faire, il faut au
        moins 3 environnements de développement et de test, répondant aux besoins des
        différents types de test définis précédemment :
           Développement, utilisé pour les tests unitaires (TU)
           Cet environnement n’a pas besoin d’avoir de données de la production à jour pour
           exécuter les TU. La plateforme EDI peut être en isolation de tous les autres
           composants du SI.
           Intégration, utilisé pour les tests de plateforme (TP)
           Cet environnement n’a pas forcément besoin d’avoir de données de la production à
           jour pour exécuter les TP. La plateforme EDI peut être en isolation de tous les autres
           composants du SI.
            Pré-production, utilisé pour les tests E2E
            Cet environnement doit reproduire le plus fidèlement possible l’environnement de
            production, avec une image fidèle de ses différents composants : ERP, TMS, CRM.
            Les données de chaque composant doivent être régulièrement mises à jour afin de
            s’assurer que les tests sont effectués avec des données et des traitements
            fonctionnels le plus près possible de la production.

        Il faut noter qu’il est parfois compliqué, voire impossible de mettre en place un
        environnement de pré-production pertinent et régulièrement à jour. Par exemple si la
        plateforme EDI s’intègre avec un grand nombre de partenaires qui ne mettent pas à
        disposition d’environnement de test (dans la
        logistique par exemple), ou si certains
        éléments du SI ne peuvent pas être dupliqués
        (AS/400). Dans ce cas, les TP et TU prennent
        plus d’importance : il faut mettre plus
        d’efforts sur chacun de ces types de tests, en
        particulier pour les tests de non-régression.

                                                          - 15 -
                                           © 2019 Spindev SAS. Tous droits réservés
COMMENT TESTER SA PLATEFORME EDI ?

        3 - QUELS OUTILS DE TEST ?
        Suivant la fréquence de modification de la plateforme EDI, sa criticité et son type, il
        peut devenir nécessaire de s’outiller pour la gestion, l’exécution et le reporting de ses
        tests. On atteint rapidement les limites d'efficacité avec les tableurs et les interfaces
        graphiques des plateformes EDI pour gérer ses tests et les exécuter.

        GESTION DES TESTS
        Tester sa plateforme EDI demande de créer et de maintenir des cas de tests,
        pour lesquels il peut y avoir des données associées, des fichiers de description,
        des liens vers de la documentation fonctionnelle.
        Il peut être nécessaire de s’outiller pour cela. Cependant, les besoins seront
        différents suivant la catégorie des tests :
           Les tests unitaires sont gérés directement dans le code.
           Les données et les descriptions des tests doivent être à côté du code, et vivre
           avec lui. La gestion des tests se fait donc avec la gestion du code, et ne
           nécessite pas d’outil particulier, si ce n’est un éventuel framework de test dans
           le langage de programmation de la plateforme.
           Les tests de plateforme se concentrent sur les tests de non-régression.
           Ils sont donc beaucoup plus stables que les TU. Il faut gérer les données de
           test (données à envoyer, données de référence à comparer avec ce qui est
           transformé), les scripts de tests (enchaînement des commandes à exécuter) et
           les configurations pour les tests (définition des plateformes de test,
           identifiants de connexion).
           La gestion des cas de test peut se faire, dans les cas extrêmement simples,
           avec des fichiers dans des répertoires et un tableur. Cette solution atteindra
           très rapidement ses limites s’il faut gérer un historique, modifier et exécuter
           régulièrement les tests.
           Dans la majorité des cas, il est
           nécessaire d’utiliser des outils plus
           puissants de gestion des tests, pour à
           la fois stocker les données de test et
           décrire des cas de tests : des
           frameworks de tests ou des solutions
           commerciales peuvent être utilisés
           pour décrire l’exécution des tests.

                                                          - 16 -
                                           © 2019 Spindev SAS. Tous droits réservés
COMMENT TESTER SA PLATEFORME EDI ?

            A cela, il faut également ajouter des outils de gestion de données.
            Concernant les tests de performance et de charge, on peut se baser sur des
            briques open-source telles que JMeter et Gatling, mais il reste encore à mettre
            en place l’infrastructure nécessaire pour stocker les données de test, qui
            peuvent être très importantes.
           Les tests de bout en bout sont basés sur des cas métier.
           Ils ont les mêmes besoins d’outillage que les tests de plateforme pour gérer des
           configurations, des données et des scripts de tests. La différence avec les TP
           est que certaines actions des tests vont s’effectuer sur d’autres composants du
           SI, comme l'ERP ou le CRM, mais cela ne change fondamentalement pas la
           structure des tests et les mêmes types d’outils de gestions pourront être
           utilisés. On peut donc se reposer sur les mêmes outils que les TP.

        EXÉCUTION DES TESTS
        Comme pour la gestion des tests, les besoins d’outillage diffèrent suivant les
        catégories de test :
           Les tests unitaires
           Ils sont exécutés par la plateforme EDI lors de la “construction” (ou encore
           compilation) d’une nouvelle version de la plateforme. Aucun outil particulier
           n’est nécessaire, si ce n’est un
           framework de test dans le langage de
           programmation de la plateforme.
           Les tests de plateforme
           Que ce soit pour les tests fonctionnels
           ou non-fonctionnels, ils doivent
           s’exécuter en prenant en compte les
           problématiques de connexion à la
           plateforme. Il faut donc sélectionner
            des outils qui supportent les protocoles utilisés par les différents partenaires :
            FTP, SFTP, HTTP, Email, etc. Il est possible d’utiliser des frameworks open-
            source comme Cucumber ou Robot Framework, mais dans ce cas il faudra
            développer les différents types de connexion en se basant sur d’autres
            composants open-source.

                                                           - 17 -
                                            © 2019 Spindev SAS. Tous droits réservés
COMMENT TESTER SA PLATEFORME EDI ?

            Il faut ajouter à ces développements des éléments permettant la validation des
            résultats obtenus lors de l’exécution des tests fonctionnels, afin de prendre en
            compte la diversité des formats de fichier potentiels (iDoc, HL7, XML, JSON,
            etc).
            Il est également possible de détourner l’utilisation de JMeter pour tester ces
            connexions, mais ce composant n’est pas prévu pour la validation
            fonctionnelle. Par contre, il est parfaitement adapté pour les tests de
            performance et de charge.
            Enfin, il existe des solutions commerciales, telle que Spindev, qui combinent la
            gestion des différents types de connexion, ainsi que le support natif des
            différents types de fichier.

           Les tests de bout en bout
           Les tests E2E ayant comme objectif de vérifier le fonctionnement global d'une
           fonctionnalité particulière, il pourrait être tentant d’utiliser l’interface graphique
           des outils en bout de chaîne pour certaines étapes.
           Par exemple, on pourrait vouloir vérifier une mise à jour dans un ERP en utilisant
           son interface web. Si cela peut convenir pour un petit nombre de tests, cette
           méthode sera rapidement trop lente sur des volumes plus importants de tests.
           Quant à vouloir automatiser les tests via l’interface graphique, c’est prendre le
           risque d’avoir des tests qui seront fragiles car dépendants d’une interface qui
           est amenée à changer régulièrement. La bonne pratique est donc d’exécuter les
           tests E2E avec les mêmes outils que les TP.

                                                           - 18 -
                                            © 2019 Spindev SAS. Tous droits réservés
COMMENT TESTER SA PLATEFORME EDI ?

        REPORTING
        Il est important de pouvoir suivre les résultats de ses tests dans le temps,
        principalement pour les tests de plateforme et les tests de bout en bout.

        Les tests unitaires ayant pour vocation de vivre avec le code, ils sont modifiés en
        même temps que lui, et doivent toujours être sans erreur avant un éventuel
        déploiement des modifications dans le code. Le besoin de reporting et de suivi est
        donc extrêmement limité, et peut être couvert par les frameworks de test unitaire.

        Les résultats des TP et des tests E2E ont vocation à être échangés entre les
        équipes : par exemple entre les équipes QA ou de développement et les équipes
        métier. Cela peut être également le cas entre un prestataire EDI et son client.

        Dans le cas où le nombre de flux
        et de changements est faible, un
        tableur peut suffire. Par contre,
        avec le nombre de tests et de
        mises à jour qui augmente, les
        besoins de reporting se font
        généralement plus importants. Il
        sera par exemple utile de suivre
        l’historique d’un test particulier ou
        d’un sous-ensemble de tests.

        Il peut devenir également nécessaire d’intégrer ces résultats de tests dans des
        solutions de suivi plus globales ainsi que dans les outils de gestion de tickets de
        l’entreprise. Il est dans ce cas indispensable d’utiliser des outils s’intégrant dans
        l’usine logicielle de l’entreprise. Spindev propose un accès à sa plateforme via
        une API REST, permettant son intégration avec les outils classiques des équipes
        de développement.

                                                           - 19 -
                                            © 2019 Spindev SAS. Tous droits réservés
COMMENT TESTER SA PLATEFORME EDI ?

        4 - DANS QUELS CAS S’OUTILLER POUR SES TESTS ?
        Il faut considérer plusieurs critères pour estimer la pertinence de s’équiper d’outils de
        test pour sa plateforme EDI. Parmi ceux-ci :
           Quel est le type de plateforme ? EDI Web, ASP ou in situ ?
           Quelle est la fréquence des modifications et de MEP ?
           Combien y a-t-il de tests ? Ce nombre sera très fortement corrélé au point
           précédent, ainsi qu’au nombre de flux différents, de mappings, de partenaires et
           de la complexité du SI.
        Par exemple, pour une plateforme EDI Web, avec 2 modifications par an et moins de
        50 mappings, il n’est a priori pas nécessaire de s’outiller. La gestion des tests pourra
        se faire via un tableur par exemple, et la génération d’un rapport pourra se faire avec
        un éditeur de texte ou dans le tableur directement. Enfin, l’exécution des tests se fera
        manuellement, avec l’envoi de messages EDI via le portail web.

        À l’opposé, une plateforme EDI in situ, modifiée plusieurs fois par semaine, avec
        quelques centaines de mappings, nécessitera la mise en place d’une véritable
        infrastructure de test, avec des outils adaptés pour gérer ses tests, les exécuter et
        générer des rapports de MEP. En effet, il n’est plus possible d’exécuter les tests
        manuellement, d’avoir un historique des modifications ou encore d’adresser
        plusieurs environnements de tests.

        Une solution comme Spindev est adaptée dans ce cas, car elle répond aux différents
        besoins définis plus haut. Il est également possible d’assembler différentes briques
        open-source ou propriétaires, néanmoins cela nécessite un investissement important
        en développement sur des technologies pas forcément maîtrisées.

        Le tableau ci-dessous propose des critères de décision pour s’outiller pour ses tests de
        plateforme EDI.
        COND. => Conditionnel
           FRÉQUENCE DES                 Moins d'une                        Moins d'une fois        Plus d'une fois
           CHANGEMENTS                   fois par an                         par semestre            par semestre

            Nombre de tests            < 50         >= 50                   < 50           >= 50   < 50       >= 50
                EDI WEB               NON           NON                    NON             COND.   COND.        OUI
                EDI ASP               NON         COND.                  COND.             COND.    OUI         OUI
               EDI in situ            NON         COND.                  COND.              OUI     OUI         OUI

                                                               - 20 -
                                                © 2019 Spindev SAS. Tous droits réservés
COMMENT TESTER SA PLATEFORME EDI ?

        5 - COMMENT BIEN CHOISIR SES OUTILS DE TEST ?
        Il faut prendre en compte plusieurs paramètres pour bien sélectionner ses outils de test.
        Voici une liste de points à considérer :
           Quelle plateforme EDI et quel nombre de flux différents ?
           S’il y a peu de tests, qui ne changent pas souvent, un tableur est suffisant pour gérer
           son référentiel de tests. Par contre, quand le nombre de tests et la fréquence des
           modifications deviennent trop importants, il est nécessaire d’utiliser des outils plus
           avancés qui vont permettre de stocker les données de test, gérer l’historique et
           proposer des solutions de reporting avancées.
           L’exécution des tests doit-elle être automatisée ?
           Si l’exécution des tests n’a pas besoin d’être automatisée, alors un outil qui ne gère
           que le référentiel des tests sera suffisant. Si le temps nécessaire pour l’exécution
           des tests devient trop important, il faudra alors s’équiper d’outils permettant de jouer
           les tests automatiquement.
           Quelles sont les compétences en test en interne ?
           Est-ce que les personnes qui vont utiliser l’infrastructure de test ont des profils
           techniques, fonctionnels ou les deux ? Pour les profils fonctionnels, on préférera des
           outils simples d’utilisation, nécessitant peu de compétences en développement.
           Quelle est la politique de gestion des développements informatiques ?
           Si les rôles s’occupant des activités de test sont internalisés ou externalisés, cela
           peut avoir un impact sur le choix d’une solution cloud ou on-premise. Avec des
           prestataires extérieurs, il peut être plus intéressant de prendre des outils accessibles
           en ligne.
           Quelle infrastructure est disponible pour les tests ?
           En fonction de l’accès aux environnements de test, à la politique en matière de
           gestion des données, à la disponibilité de matériel informatique, une solution cloud
           ou on-premise peut être plus adaptée.
           Quel type de budget, et quel montant disponible ?
           Si le projet entre dans le cadre d’un budget de fonctionnement, on s’orientera vers de
           l’abonnement, ou vers l’acquisition d’une licence logicielle pour un investissement.

                                                          - 21 -
                                           © 2019 Spindev SAS. Tous droits réservés
UNE PLATEFORME EDI
    PLUS PERFORMANTE

En leur faisant gagner de nouveaux clients, en optimisant la supply chain ou réduisant
les coûts liés au traitement de données, l’EDI permet aux entreprises de rester
compétitives et de croître plus rapidement. À condition que la plateforme EDI soit
toujours opérationnelle et performante !

Tester sa plateforme EDI est donc indispensable afin de garantir qu'indépendamment
des changements effectués avant une nouvelle mise en production, les flux EDI
continueront d’être correctement traités. Suivant les enjeux et la maturité de l’équipe
en charge des flux EDI, il peut être nécessaire de s’outiller pour tester sa plateforme
EDI efficacement. Cela permettra de diminuer les coûts associés à ces activités,
d’améliorer la qualité de la plateforme EDI et d’augmenter la productivité des équipes
de développement.

               Photo by NASA on Unsplash

                                                          - 22 -
                                           © 2019 Spindev SAS. Tous droits réservés
TESTER SA PLATEFORME
     EDI AVEC SPINDEV

Créée par des experts du test et de la qualité
logiciel, Spindev propose en SaaS une solution
complète dédiée au test des plateformes EDI.
Grâce à ses fonctionnalités de gestion, d’exécution
et de reporting des tests, les équipes EDI passent
moins de temps sur leurs activités de test, tout en
augmentant la qualité de leur plateforme.
Elles peuvent se concentrer sur l’ajout et la gestion
de nouveaux partenaires avec plus d’efficacité.
C’est toute l’entreprise qui en bénéficie en
devenant plus performante.

N’hésitez pas à nous contacter pour vous aider dans vos projets autour de la qualité et
des tests de votre plateforme EDI.

                                                - 23 -
                                 © 2019 Spindev SAS. Tous droits réservés
https://spindev.io
contact@spindev.io
+33 (0)6 28 25 49 38
Vous pouvez aussi lire