L'intégration de systèmes de fabrication, les extensions, le conseil et les solutions logicielles personnalisées pour les branches verticales de la fabrication discrète constituent le cœur de métier de Systema GmbH. Systema compte plus de 200 collaborateurs répartis sur 8 sites dans le monde. Notre réputation et notre marque reposent sur plus d'un quart de siècle d'activité commerciale, avec une éthique marquée par le respect et la confiance mutuels - de la part de notre équipe, de nos clients, de nos partenaires et de nos concurrents.
Pour notre client, une entreprise renommée de l'industrie de la mécanique de précision et de l'optique, nous développons des extensions pour le système SAP Manufacturing.
Ces plug-ins complètent les fonctionnalités et offrent aux utilisateurs des interfaces personnalisées en fonction de leurs besoins spécifiques.
Afin d'assurer la qualité et la stabilité de notre développement, nous cherchions un moyen de tester les plug-ins directement dans le système SAP Manufacturing.
Comme nous avions déjà travaillé avec succès avec QF-Test dans d'autres projets, il a été notre premier choix comme outil de test.
Notre objectif était de reproduire les actions de l'utilisateur dans les tests afin d'élaborer une reproduction aussi proche que possible des processus de la production.
L'exécution des tests doit être automatisée afin de réduire les efforts manuels.
L'une des exigences concernant les tests est qu'ils doivent reproduire la réalité au plus près.
Les outils de test de l'interface graphique, comme QF-Test, qui interagissent réellement avec l'interface utilisateur, représentent ici la meilleure solution.
Pour la préparation, des cas de test ont été créés sur la base des exigences spécifiées, qui ont ensuite été regroupés en scénarios. Le résultat a été un plan de test détaillé, qui a été mis en œuvre par l'équipe d'automatisation avec QF-Test.
La création des tests avec QF-Test a été réalisée en grande partie à l'aide de la fonction d'enregistrement.
Des problèmes sont apparus avec l'utilisation d'identifiants de composants générés, qui empêchaient une identification univoque et donc la reproductibilité des tests.
Pour résoudre ce problème, des composants génériques ont été créés, qui ont permis la résolution reproductible des composants cibles à l'aide d'expressions régulières et de résolveurs Web personnalisés configurés en conséquence. Il convient de mentionner ici l'excellent support de QFS, qui a contribué à l'élaboration de cette solution.
Au cours du développement des tests, un autre défi est apparu.
Le système SAP Manufacturing est constitué de plusieurs composants qui, en interagissant, fournissent des données complexes. Notre système cible est le ME en tant que frontal avec le MII en tant qu'extension du backend. Il y a aussi le système ERP.
Afin de réduire la complexité et d'obtenir des résultats reproductibles, nous avons décidé de simuler l'ERP (mockup).
En utilisant le framework du serveur de mock, nous avons développé ce mock qui fournit des données prévisibles.
Le serveur de mock est un projet logiciel à part entière et comprend différents modèles préconfigurés pour les différentes fonctionnalités. Pour mettre en œuvre de nouvelles exigences, il suffit de créer un modèle adapté.
Une fois le développement des tests terminé et les essais manuels réussis, l'étape suivante a été l'automatisation. Pour cela, nous avons utilisé un pipeline Microsoft Azure.
Le pipeline nous permet de préparer les données de test de manière automatisée, de transmettre les données utilisateur et les variables à la suite de tests, d'évaluer les résultats et de nettoyer ensuite tous les systèmes.
Comme le serveur de mock et la suite de tests QF sont tous deux maintenus dans GIT, il est certain que la dernière version est toujours utilisée à chaque exécution.
L'utilisation de l'ERP Mock Server et de QF-Test a permis d'obtenir une combinaison de tests backend (logiques) et de tests GUI. Cela nous a permis de créer un environnement de test fiable et proche de la réalité pour tester automatiquement les plug-ins développés pour notre client directement dans le système SAP Manufacturing. L'intégration dans un pipeline Azure a permis de mettre en œuvre le principe des tests continus. Cela permet d'obtenir un retour d'information rapide sur les tests et donc d'éviter efficacement une régression précoce, tout en minimisant le travail de test manuel.
Dans la suite du projet, les tests seront continuellement maintenus, améliorés et étendus afin de garantir les nouvelles fonctionnalités.