Migration via WebSwing - tests inclus !

La société B+S Banksysteme Aktiengesellschaft, cotée à la bourse des valeurs de Francfort, est une manufacture de logiciels pour les banques et les prestataires de services financiers, fondée en 1982 à Salzbourg. Le siège de la société se trouve à Munich depuis 2008, d'autres sites se trouvent en Autriche et en Suisse.

Nous relevons les défis vastes et complexes du monde de la finance avec une équipe de plus de 100 experts.

Grâce à l'organisation de l'équipe avec des spécialistes professionnels et techniques, il est possible de développer des produits exceptionnels pour des clients exigeants et de les exploiter sur demande dans notre propre centre informatique. L'étroite collaboration avec QFS nous permet depuis de nombreuses années d'intégrer efficacement toutes les technologies de développement utilisées dans des procédures de test automatisées intensives et multicouches.

QF-Test chez B+S Banksysteme

B+S utilise QF-Test depuis 2006. Nous avons commencé par mettre en place des tests de régression et d'intégration automatisés pour notre logiciel bancaire dont l'interface utilisateur est développée en Java Swing. La facilité de développement des procédures et des cas de test nous a rapidement convaincus et a été très bien acceptée par les employés qui développent et exécutent les tests. Nous pouvons notamment souligner la stabilité de la reconnaissance des composants malgré l'évolution des éléments d'interface ou des versions Java. Suite à une fusion avec un fabricant de services bancaires en ligne, nous avons élargi notre portefeuille de tests aux applications web natives, qui ont ensuite été intégrées dans les logiciels bancaires classiques.

QF-Test est utilisé dans l'ensemble du groupe et est intégré à de nombreuses étapes du processus de développement.

  • Tests de développement et d'intégration
  • Tests de régression (Continuous deployment, nightlybuilds)
  • Tests de versions logicielles proches du client avant la livraison
  • Tests unitaires complémentaires avec intégration dans Jenkins

Déploiement de clients Java Swing (vers les utilisateurs finaux)

De nombreux clients de B+S utilisent d'autres logiciels pour le déploiement des clients Java, comme Citrix ou des outils similaires, afin d'éviter les installations sur les postes de travail. Après avoir reçu de plus en plus de demandes pour savoir si l'application ne pouvait pas être mise à la disposition des utilisateurs finaux dans un navigateur, une étude préliminaire sur les possibilités correspondantes a été lancée en interne. Le développement d'une application web native ayant été écarté en raison des coûts élevés et des longs délais de développement, la solution WebSwing a été examinée de plus près. WebSwing permet, par le biais d'un middleware, de présenter des applications Java Swing sous forme de pages web et donc de les distribuer très facilement aux utilisateurs finaux, tout en offrant une gestion et une installation centralisées. Pendant la preuve de concept, les questions relatives aux possibilités de test de la nouvelle interface ont également été analysées. Il s'est rapidement avéré que l'entreprise QFS travaillait déjà sur le sujet avec WebSwing - le webinaire informatif Integrated testing of Webswing applications with QF-Test nous a permis de comprendre rapidement les nouveaux contextes et les solutions possibles. Pour B+S, il était particulièrement important de pouvoir réutiliser nos cas de test QF-Test et nos procédures, qui ont évolué au fil des années.

Cette condition ayant été remplie, WebSwing a été ajouté au portefeuille de services et est utilisé dans le centre informatique de B+S depuis 2022.

Tests de Java Swing avec WebSwing

 

Lors des tests avec WebSwing, deux défis ont dû être relevés:

1. Les tests des niveaux proches du développement sont exécutés localement. Le serveur WebSwing est démarré par les testeurs. QF-Test est donc en mesure de démarrer l'instance WebSwing.

  • Le premier défi a pu être résolu rapidement après une brève prise de contact avec M. Gregor Schmid de QFS. Nous avons reçu un fichier de test préconfiguré et avons pu intégrer rapidement nos modifications (minimales) dans les procédures, de sorte que le serveur WebSwing et le navigateur soient lancés localement. Nous avons été très agréablement surpris de constater que tous les tests existants pouvaient être réutilisés de manière transparente. La détection de la fonction de composant est extrêmement fiable et stable, tous les identifiants et caractéristiques de détection sont restés inchangés - les tests étaient directement opérationnels.

 

2. D'autres étapes de test se déroulent sur des environnements de test dédiés, qui sont mis à jour automatiquement. L'application client/serveur complète est exploitée en permanence, les services des serveurs sont lancés de manière centralisée. Pour compliquer les choses, les serveurs de test sont clusterisés et load balanced, plusieurs environnements de test fonctionnent en parallèle sur le cluster. QF-Test ne peut donc pas démarrer lui-même l'instance WebSwing.

  • La résolution du deuxième défi a nécessité un peu plus d'attention. Ici aussi, les modifications nécessaires de QFS ont été nommées ou transmises sous forme de fichiers. Par exemple, le serveur WebSwing doit être installé sur QF-Test (Linux) et maintenu sur le client de manière à correspondre à QF-Test. Après l'implémentation des spécifications, il s'est avéré que la reconnaissance des composants se fait en tant qu'application web, ce qui donne de nouveaux identifiants pour les composants Swing.
     

    Lors d'une séance de télémaintenance, les problèmes ont été identifiés et directement résolus avec Monsieur Schmid. Ainsi, plusieurs ports devaient être activés sur les différents pare-feux. Ces ports doivent également être pris en compte dans le script de démarrage de QF-Test. L'intégration de QF-Test - WebSwing sur le serveur a également dû être légèrement modifiée à plusieurs endroits en raison de notre structure.

    Grâce à l'excellent soutien de QFS, que nous remercions chaleureusement, le deuxième défi a également pu être résolu de manière stable. Ici aussi, les tests existants fonctionnent sans nécessiter d'adaptation notable.  

Mag. FH Jürgen Macherhammer, Chef de projet, B+S Banksysteme Salzbourg GmbH, Autriche