Tests, automatisation et IA : comment Nat System sécurise vos applications métiers

Cellule test

Dans les secteurs de la banque, de l’assurance et de la santé, une application métier doit être fiable, évolutive et disponible dans la durée. Une anomalie peut perturber un processus métier, ralentir l’activité des utilisateurs ou fragiliser un système d’information.

Chez Nat System, nous prenons en compte la qualité tout au long du cycle de réalisation. Nous nous appuyons sur les bonnes pratiques de développement, l’expertise de nos équipes, une Cellule Tests dédiée et des solutions d’automatisation adaptées aux technologies et aux enjeux de chaque application.

Notre objectif est simple : sécuriser vos évolutions et vos livraisons, tout en préservant la robustesse et la pérennité de vos applications métiers.

I.Une cellule tests dédiée 

1.Pourquoi une cellule dédiée ?

Les revues de code, les tests unitaires et l’intégration continue effectués par nos développeurs constituent des pratiques essentielles. Ils ne couvrent toutefois pas à eux seuls l’ensemble des situations rencontrées par les utilisateurs et les systèmes métiers.

Depuis 2020, nous nous appuyons sur une Cellule Tests dédiée. Elle intervient en complément de nos équipes de développement afin de porter un regard indépendant sur les évolutions réalisées et de vérifier leur comportement dans différents contextes d’utilisation.

Notre Cellule Tests contribue notamment à :

  • identifier les scénarios complexes, les cas limites et les risques de régression ;
  • vérifier le fonctionnement des évolutions dans leur environnement applicatif ;
  • contrôler les échanges entre les différents composants et systèmes ;
  • adapter le niveau de test à la criticité et au périmètre de la modification ;
  • documenter les anomalies de manière précise et exploitable ;
  • enrichir et maintenir le patrimoine de tests.

Cette organisation nous permet de compléter les contrôles réalisés par nos développeurs par une qualification fonctionnelle et technique adaptée aux enjeux de chaque projet.

 

2.Comment fonctionne notre cellule de tests ?

➡️ Une démarche de qualification adaptée à chaque évolution

La qualité d’une livraison se construit tout au long du cycle de réalisation. Elle commence dès les premiers contrôles effectués par le développeur et se poursuit jusqu’à la qualification interne d’une version stabilisée.

Pour chaque correction ou évolution, nous mettons à votre disposition une version préqualifiée, accompagnée des éléments utiles à vos vérifications et à votre recette.

 

➡️ Deux niveaux de contrôle avant livraison

Chaque évolution fait l’objet de deux niveaux de contrôle interne :

  • La vérification par le développeur, réalisée après le déploiement sur l’environnement de développement. Le développeur contrôle le bon fonctionnement de la correction ou de la fonctionnalité développée et consigne le résultat dans l’outil de suivi.
  • La qualification interne, réalisée par notre Cellule Tests. Celle-ci intervient sur une version stabilisée, avec un regard distinct de celui porté lors du développement.

Nous adaptons le niveau de contrôle à la nature et à la criticité de l’évolution. Une modification d’une règle métier ou d’un parcours utilisateur nécessite ainsi des vérifications plus étendues qu’une évolution graphique limitée.

Nous entretenons également le patrimoine de tests dans le temps. Nos cahiers de recette et nos scénarios sont actualisés au fil des corrections et des évolutions. Lorsqu’une anomalie est détectée, nous documentons les étapes permettant de la reproduire. Après correction, nous rejouons le scénario concerné ainsi que les cas de non-régression pertinents.

Schéma du processus de qualification

➡️ Des tests proportionnés aux risques

Avant une campagne de qualification, nous réalisons une analyse d’impact afin d’identifier les composants, les données, les interfaces et les parcours susceptibles d’être affectés par la modification.

Selon les besoins, les contrôles peuvent inclure :

  • des vérifications fonctionnelles sur les parcours critiques ;
  • des contrôles techniques (interfaces, flux, traitements de fond) ;
  • des tests de non-régression ciblés sur les zones impactées ;
  • des tests de performance et de charge pour les applications fortement sollicitées.

Nous exécutons les contrôles automatisés dans la chaîne d’intégration lorsqu’ils sont adaptés au périmètre concerné. Nos équipes réalisent les contrôles complémentaires au niveau du développement ou de la qualification.

Pour les applications fortement sollicitées, nous pouvons conduire des tests de performance et de charge. Ils permettent notamment de simuler des accès concurrents, d’analyser les temps de réponse et d’évaluer le comportement du système lors de montées en charge progressives.

➡️ Des tests manuels et automatisés

Nous associons deux approches complémentaires :

  • Les tests manuels, qui permettent une analyse contextualisée des fonctionnalités, des parcours, des cas limites et de l’expérience utilisateur.
  • Les tests automatisés, qui permettent de rejouer rapidement et régulièrement des scénarios répétitifs, volumineux ou particulièrement sensibles.

L’automatisation ne remplace pas l’expertise de nos testeurs. Elle leur permet de consacrer davantage de temps à la conception des campagnes, à l’analyse des résultats et à l’évaluation des risques.

Exemple concret anonymisé
Sur une application bancaire, une évolution du moteur de calcul des intérêts a été qualifiée par notre Cellule Tests. L’analyse d’impact a identifié un risque de régression sur les comptes à taux zéro, non couvert par les tests unitaires initiaux. Grâce à un scénario de non-régression ajouté au patrimoine de tests, une anomalie de calcul a été détectée avant la mise en production, évitant un impact sur plusieurs milliers de comptes.

➡️ Une traçabilité de bout en bout

Les résultats des tests sont enregistrés dans les outils de suivi du projet. Cette traçabilité permet de relier :

  • la demande ou le ticket à l’origine de l’évolution ;
  • la version concernée ;
  • les scénarios et cas de test exécutés ;
  • les anomalies identifiées ;
  • les corrections apportées ;
  • les résultats de la nouvelle exécution.

Pour chaque livraison, un bilan de qualification peut être établi. Il présente les contrôles réalisés, les résultats obtenus, les anomalies corrigées ou restantes et les éventuels points de vigilance. La livraison n’est proposée qu’après vérification des critères de sortie définis en amont.

II.Une automatisation des tests

1.Pourquoi automatiser les tests ?

Dans les secteurs de la banque, de l’assurance et de la santé, les applications métiers évoluent régulièrement tout en devant préserver un haut niveau de fiabilité.

Les tests de non-régression sont essentiels dans ce contexte. Ils consistent à vérifier, après une modification, que les fonctionnalités existantes continuent de fonctionner comme prévu.

Les tests manuels restent indispensables, mais l’exécution répétée de nombreux scénarios peut être longue et mobiliser nos équipes sur des tâches à faible valeur ajoutée. L’automatisation nous permet de :

  • rejouer rapidement des scénarios validés ;
  • détecter plus tôt les régressions ;
  • fiabiliser les contrôles répétitifs ;
  • augmenter la couverture des parcours testés ;
  • disposer de résultats reproductibles ;
  • libérer du temps pour l’analyse fonctionnelle et l’amélioration de la qualité.

L’automatisation est particulièrement utile pour sécuriser les évolutions fréquentes, les parcours critiques et les applications disposant d’un patrimoine fonctionnel important.

 

➡️ L’utilisation de l’IA renforce ce besoin

L’utilisation croissante d’outils d’assistance au développement renforce également la nécessité de disposer de contrôles structurés. Le code généré ou suggéré par une IA doit être relu, testé et confronté aux règles d’architecture et aux exigences du projet.

L’automatisation des tests constitue l’un des moyens de vérifier que les évolutions produites, quelle que soit leur origine, respectent le comportement attendu et n’introduisent pas de régression.

Nous privilégions ainsi une approche fondée sur la revue de code, les tests, l’intégration continue et la validation humaine. Notre objectif est de maintenir la qualité dans la durée, et non de produire davantage de code sans contrôle.

 

2. Nos 4 solutions d’automatisation de test

Nous nous appuyons sur plusieurs solutions, sélectionnées selon la technologie de votre application et le type de contrôle recherché :

  • Nat-Bot, pour automatiser les tests fonctionnels et de non-régression des applications développées avec NatStar et NS-DK ;
  • Nat-Bot Web, une solution fondée sur Selenium, Java et TestNG pour automatiser les tests d’applications web ;
  • Apache JMeter, pour les tests de charge et de performance ;
  • NSunit, pour automatiser les tests unitaires des applications développées en NCL avec NatStar et NS-DK.

Cette combinaison nous permet de couvrir différents niveaux de test, depuis la vérification d’un composant isolé jusqu’à la simulation de parcours utilisateurs et de charges importantes.

automatisation des tests

➡️ Nat-Bot : une solution d’automatisation des tests pour NatStar et NS-DK

Nat-Bot est un module que nous avons conçu pour automatiser les tests fonctionnels et les tests de non-régression des applications développées avec NatStar et NS-DK.

Il permet d’enregistrer les actions d’un utilisateur dans l’application, puis de rejouer automatiquement les scénarios autant de fois que nécessaire. Cette automatisation facilite la vérification régulière des fonctionnalités existantes après une correction ou une évolution.

Nat-Bot utilise directement l’interface graphique de l’application testée. Il peut ainsi être mis en œuvre sans modifier le code source fonctionnel de l’application.

Des scénarios plus robustes
Nat-Bot identifie les composants par leur nom, plutôt que par leur position fixe à l’écran. Les scénarios sont ainsi plus résistants aux déplacements de composants, aux changements de résolution et à certaines évolutions de l’interface.

Le robot peut notamment :

  • récupérer les données affichées ;
  • sélectionner des valeurs dans des listes ;
  • vérifier l’état d’une propriété d’un composant ;
  • détecter l’apparition d’une fenêtre ou d’un contrôle ;
  • produire des traces détaillées de l’exécution.

Une création et une maintenance facilitées
L’enregistreur intégré permet de créer rapidement des cas de test à partir des saisies et des événements réalisés dans l’application. Les scénarios peuvent ensuite être rejoués et exportés au format XML ou sous forme de script NCL.

La séparation entre la cinématique du test et les données utilisées permet d’exécuter un même scénario avec plusieurs jeux de données. Ces données peuvent notamment être externalisées dans des fichiers CSV ou JSON, ce qui facilite la maintenance et l’adaptation des campagnes aux différents environnements.

Un outil au service de la non-régression
Intégré à notre démarche de qualification, Nat-Bot permet de rejouer automatiquement les parcours les plus sensibles ou les plus fréquemment utilisés.

Les résultats sont analysés par notre Cellule Tests. En cas d’échec, les traces d’exécution facilitent l’identification du scénario et de l’étape concernée, ainsi que la reproduction et l’analyse de l’anomalie.

Nat-Bot contribue ainsi à :

  • réduire les contrôles manuels répétitifs ;
  • détecter plus tôt les régressions ;
  • accélérer les campagnes de qualification ;
  • fiabiliser les vérifications avant livraison ;
  • capitaliser un patrimoine de tests réutilisable.

Pour en savoir plus sur Nat-Bot, visionnez le replay de notre webinaire ci-dessous

ou consultez la fiche produit

➡️ Nat-Bot Web :  Une solution d’automatisation intégrée basée sur Selenium

Nos équipes ont développé une solution personnalisée basée sur Selenium, Java et TestNG, conçue pour automatiser les tests d’intégration sur vos applications web (Angular, React, Vue.js, Svelte, etc.).

Cette solution permet de simuler automatiquement les actions d’un utilisateur, comme la saisie d’informations, la sélection d’une valeur ou le clic sur un bouton. Elle facilite également l’organisation des campagnes et l’exécution des tests par groupes fonctionnels.

L’approche adoptée repose notamment sur :

  • l’externalisation des jeux de données afin de pouvoir exécuter un même scénario avec plusieurs configurations ;
  • la séparation entre les scénarios métier, les repères techniques des écrans et les données utilisées ;
  • l’utilisation d’une approche de type Page Object Model, qui facilite la maintenance et la réutilisation des tests ;
  • l’intégration des campagnes automatisées dans la chaîne d’intégration et de livraison ;
  • la génération de rapports permettant d’identifier les scénarios exécutés, les éventuels échecs et les étapes concernées.

Points forts :

  • Utilisation de Selenium, framework open source de référence pour l’automatisation des tests web multi-navigateurs ;
  • Appui sur TestNG, facilitant l’organisation, la planification et l’exécution parallèle des tests ;
  • Développement d’une couche interne spécifique, optimisant la stabilité et l’efficacité des tests sur mesure.

 

➡️ NSunit : une solution pour les tests unitaires NatStar et NS-DK

Depuis mai 2025, la version 12 de NatStar/NS-DK intègre nativement NSunit, notre solution d’automatisation des tests unitaires. Les tests unitaires permettent de vérifier que chaque composant remplit correctement sa fonction indépendamment du reste du système.

NSunit est une solution d’automatisation des tests unitaires spécialement développée pour les applications en NCL, telles que NatStar et NS-DK. À l’image de JUnit, la référence pour les tests unitaires dans l’écosystème Java, NSunit apporte une solution équivalente adaptée à l’environnement NCL.

Points forts :

  • Il permet aux développeurs de concevoir, d’exécuter et d’automatiser facilement et rapidement des tests unitaires sur leurs applications NCL.
  • NSunit fournit un compte-rendu d’exécution des tests détaillant les succès et les échecs dans un format facilement lisible (HTML).

 

➡️ Apache JMeter : la solution d’automatisation des tests de charge et performance

Apache JMeter est l’outil de référence pour évaluer la performance et la robustesse de vos applications.

Il permet de simuler des milliers d’utilisateurs simultanés afin d’analyser la capacité du système à supporter une montée en charge, tout en mesurant les principaux indicateurs de performance et en respectant les objectifs définis.

Points forts :

  • Mesure du temps de réponse, du débit (throughput) et du taux d’erreur ;
  • Analyse de la stabilité du serveur sur la durée ;
  • Support des différents types de tests : Load testing, Stress testing, Performance testing…

III.L’intelligence artificielle, un assistant au service de la qualité

1. Un outil d'assistance qui accélère le développement 

L’intelligence artificielle générative fait progressivement évoluer les pratiques de développement et de maintenance logicielle. Chez Nat System, nous l’utilisons comme un outil d’assistance pour accélérer certaines activités d’analyse, de développement, de documentation et de qualification.

Elle ne remplace pas l’expertise de nos équipes. Elle nous permet de consacrer davantage de temps à la compréhension de vos besoins, à l’analyse des impacts, aux arbitrages techniques et fonctionnels et à la sécurisation des livraisons.

Dans le cadre de la qualification, l’IA peut notamment nous aider à :

  • explorer plus rapidement un patrimoine applicatif ;
  • identifier les composants et dépendances concernés par une évolution ;
  • faciliter l’accès à la documentation ;
  • proposer des structures de code ou de tests ;
  • identifier des cas limites et des scénarios d’erreur ;
  • analyser des logs et contribuer à la recherche d’une cause possible ;
  • suggérer des scénarios de tests fonctionnels ou de non-régression.

Ces propositions sont systématiquement examinées, complétées et validées par nos équipes. L’IA ne remplace ni l’expertise de nos développeurs et de nos testeurs, ni leur capacité à comprendre le contexte métier, à évaluer les risques et à prendre les décisions nécessaires.

2.Une utilisation encadrée

Notre utilisation de l’intelligence artificielle s’inscrit dans le respect des exigences de sécurité, de confidentialité et de conformité applicables à chaque projet.

Lorsque le recours à un outil d’IA est envisagé, nos équipes s’assurent de ne pas lui transmettre d’informations qu’elles ne sont pas autorisées à partager.

Les outils retenus sont évalués au regard de leurs engagements en matière de confidentialité, de sécurité, de traitement, de conservation et, le cas échéant, de non-réutilisation des contenus transmis pour l’entraînement des modèles.

L’IA est utilisée comme un outil d’assistance. Elle complète les pratiques existantes de revue de code, de tests, d’intégration continue et de qualification fonctionnelle, sans se substituer à l’analyse, à la validation et aux décisions de nos équipes.

Cette approche s’inscrit dans une démarche de vigilance adaptée à l’usage professionnel de l’IA générative, prenant notamment en compte les exigences applicables en matière de protection des données, de sécurité et de contrôle humain. Elle tient compte, selon les cas d’usage concernés, du cadre réglementaire applicable, notamment du RGPD et du règlement européen sur l’intelligence artificielle (AI Act).

3. L’humain reste au centre des décisions

Nous ne considérons jamais une proposition générée par l’IA comme une décision définitive. Nous la vérifions au regard du contexte fonctionnel, de l’architecture de l’application, des règles de sécurité et des exigences du projet.

Nos équipes conservent notamment la responsabilité :

  • de définir le périmètre fonctionnel d’une évolution ;
  • de choisir la solution ou le correctif à mettre en œuvre ;
  • de valider le code produit ou modifié ;
  • d’évaluer les risques et les impacts ;
  • de décider si le résultat peut être intégré ou livré.

L’IA peut accélérer l’analyse, mais elle ne dispose pas toujours de l’ensemble du contexte métier et technique. La décision reste donc sous la responsabilité de nos experts projet.

L’IA accélère l’analyse et renforce les contrôles ; nos équipes restent responsables des choix, des validations et de la qualité des livraisons.

Une démarche orientée vers la fiabilité

La qualité logicielle repose sur la complémentarité de plusieurs pratiques : expertise métier, développement maîtrisé, revue de code, tests manuels, automatisation, suivi des anomalies et amélioration continue.

Chez Nat System, cette démarche nous permet de sécuriser vos évolutions tout en tenant compte des contraintes propres aux logiciels métiers : criticité des processus, exigences de disponibilité, richesse fonctionnelle et durée de vie des applications.

Notre engagement : développer et maintenir des logiciels fiables, conçus pour accompagner durablement votre activité. 

Vous souhaitez avoir plus de renseignements sur nos produits ou nos offres ?