11 Février 2014 Paris nidays.fr 1
Choisir la bonne architecture logicielle pour automatiser les systèmes de test Jérémy Charavet Ingénieur d Applications, National Instruments France
Une architecture logicielle modulaire Logiciel de gestion de tests Code de test Langage de programmation ou de scripting Code de test Code de test Code de test Base de données Drivers GPIB/Série et VXI Acquisition et conditionnement Instrumentation modulaire PXI/CompactPCI Commande d axes Vision E/S distribuées PLC 3
L importance d une approche modulaire Composants modulaires Les caractéristiques : o Ils ont un but différent o Ils ne sont pas couplés Les avantages : o Plus faciles à modifier et à maintenir o Partage aisé de modules entre les projets Les avantages d un système de test modulaire Flexibilité d adaptation aux nouvelles technologies Facilité pour ajouter de nouvelles fonctionnalités ou matériels Réduction du risque d obsolescence matérielle grâce à une couche d abstraction matérielle (HAL) basée logiciel 4
1. Les drivers Prenez en compte les drivers lors du choix du matériel Sélection des drivers de matériels Choix orienté par : o Le matériel o Le langage de programmation 5
1. Les drivers Un bon driver n est pas une simple DLL avec un fichier d aide Caractéristiques d un bon driver : Intégration avec l environnement de développement Documentation complète Programmes d exemples Conception robuste avec gestion des erreurs Simulation du matériel Une API haut niveau et des fonctions bas niveau Support du multithread 6
1. Les drivers Les HAL offrent une abstraction intéressante des drivers bas niveau Les couches d abstraction matérielle Une couche logicielle haut niveau, non liée à un matériel spécifique Peut être utile dans la gestion de l obsolescence Facilite la programmation grâce à des API plus haut niveau Exemple : IVI (Interchangeable Virtual Instrumentation) Application haut niveau couche d abstraction matérielle Drivers d instruments Instruments 7
1. Les drivers Les logiciels de gestion des services sont des outils complémentaires Les services pour la mesure Des outils logiciels complémentaires qui intègrent la gestion du matériel o o o o Listing du matériel Outils de configuration Auto-test/diagnostics Panneaux de test Exemple : NI Measurement & Automation Explorer (MAX) 8
1. Les drivers NI offre une très bonne expérience avec les drivers «L API de driver NI est complète et intuitive, ce qui permet au programmeur de développer bien plus vite.» Source: Driver Software User Experience Study 2011. User experience comparisons between NI and a PXI competitor s driver software were evaluated by writing integrated software-defined applications using LabVIEW. The applications used driver software to communicate with NI and competitor PXI hardware instruments including an NI PXI arbitrary waveform generator, two NI PXI digitizers, and two competitor PXI digitizers. The NI driver software used included NI- SCOPE, NI-FGEN, and Measurement & Automation Explorer. The competitor driver software used included competitor IO libraries Suite, High-Speed Digitizer Instrument Drivers, and competitor Connection Expert. 9
2. Le code de test (langage de programmation) Il se peut que vous ayez de nombreuses options 10
2. Le code de test (langage de programmation) Il se peut que vous ayez de nombreuses options Comment choisir un langage de développement? Les facteurs déterminants o Compétences Est-ce que mes développeurs connaissent le langage? Peuvent-ils être formés? Dispose-t-on d expertise externe? o Le bon outil pour la tâche Est-ce que le langage est adapté/efficace par rapport à la tâche? o Support de driver 11
2. Le code de test (langage de programmation) Le C et C++ sont les plus polyvalents mais peuvent être très complexes pour de nombreuses personnes C/C++ Avantages o La plupart des ingénieurs logiciels en ont l expérience o Les versions standardisées sont adaptées aux «régulations» (Exemple : ANSI C) Considérations o Bas niveau vraiment bien si on souhaite se «tirer une balle dans le pied» o Le développement d IHM est compliqué o La synchronisation et le multithread sont compliqués o Difficile pour les personnes non formées de s y mettre o Pas adapté au test et à la mesure 12
2. Le code de test (langage de programmation) Les langages basés.net sont plus simples que le C/C++ mais ne sont pas optimisés pour le test et la mesure.net (IDE : Visual Studio) Avantages o Beaucoup d ingénieurs logiciels en ont l expérience o Plus haut niveau que le C, plus facile de s y former o Le développement d IHM est bien plus simple o Outils de développement web Considérations o Tout de même compliqué pour les non-initiés o Manque de composants d IHM pour les ingénieurs et scientifiques o Gestion de la synchronisation et du multithread pas évidente o Pas taillé pour le test et la mesure 13
2. Le code de test (langage de programmation) LabWindows/CVI, Measurement Studio offrent des outils de développement adaptés au développeurs C/C++ NI LabWindows /CVI (Environnement de développement pour le C ANSI) NI Measurement Studio (Un add-on Visual Studio pour le.net) Optimisé pour les ingénieurs et scientifiques Contrôles et indicateurs dédiés bibliothèques d analyse Support des drivers intégré The mark LabWindows is used under a license from Microsoft Corporation. Windows is a registered trademark of Microsoft Corporation in the United States and other countries. 14
2. Le code de test (langage de programmation) LabVIEW est un environnement de programmation graphique facile à utiliser pour les applications T&M NI LabVIEW Avantages o La programmation graphique est simple à prendre en main o Optimisé pour le test et la mesure De nombreux composants graphiques pour les mises en place d IHM professionnelles Bibliothèques d analyse Intégration complète avec le matériel o Le multithread est automatique Considérations o Développé par NI o Le plupart des ingénieurs ont une formation textuelle De nombreuses formations et certifications sont disponibles 15
3. Logiciel de gestion de système de test Deux règles : séquencement et gestion des tests Rôle d un logiciel de gestion de système de test Test Executive (Séquenceur) o Séquencement des tests o Exécution et débogage des tests Gestionnaire des tests (Opérations répétées pour chaque unité testée) o Interface opérateur o Gestion des utilisateurs o Suivi des unités o Gestion des résultats (génération de rapports, enregistrement) o Contrôle du flux de test 16
3. Logiciel de gestion de système de test Options : construire ou acheter Construire une application monolithique Construire un gestionnaire de test en interne Acheter un logiciel «sur étagère» + Moins besoin d architecture - Aucune modularité, très couplée - Coût de possession élevé - Manque d expérience industrielle + il est à vous + aucun coût externe - temps de développement important - coût de possession élevé - manque d expérience industrielle + Prêt à l emploi + Coût de possession faible + éprouvé par l industrie + développeurs disponibles - on ne possède pas le code - perception d un logiciel cher 17
3. Logiciel de gestion de système de test Temps de développement vs prix d achat Environnement de développement Interface opérateur personnalisée Moteur d'exécution de séquences Enregistrement dans des bases de données Génération de rapports Gestion des utilisateurs Tests parallèles Suivi des unités sous test Interface aux langages de programmation Outil de déploiement Localisation Documentation Temps de développement (en jour/personne) 18
3. Logiciel de gestion de système de test NI TestStand : logiciel de gestion de test prêt a l emploi ET personnalisable Environnement de développement de séquence graphique Possibilité d automatiser des tests écrits dans n importe quel langage Exécution multithread des séquences Génération de rapports ASCII, HTML/Web, XML et ATML Connectivité vers Access, Oracle, SQL Server Possibilité totale de personnalisation 19
4. Analyse et enregistrement de données Optez pour une grande gamme de fournisseurs de base de données Les bases de données sont un moyen répandu pour stocker et archiver des données de test Les bases de données classiques Microsoft SQL Server Oracle MySQL Le coût, la flexibilité et la facilité d utilisation sont variables NI TestStand s interface avec toute base de données ODBC/OLE Toutes les bases de données citées au-dessus 20
4. Analyse et enregistrement de données Les outils d analyse de données peuvent aider à donner du sens à vos données Utilisez les outils d analyse de données pour donner du sens à vos données et améliorer l efficacité de vos process Acheter ou construire Les outils COTS incluent : Proligent (Averna), Maintainable Test (Maintainable), WATS (Virinco), IntraStage, etc. (pour d autres exemples, rendez-vous sur /teststand/partners) Il est aussi possible d utiliser des outils d analyse hors ligne comme NI DIAdem De nombreux outils du commerce offrent des interfaces web pour afficher les données 21
5. Gestion des exigences Utilisez des exigences pour surveiller la qualité et l état d avancement de votre application S affranchir de la complexité Être compatible avec les standards de l industrie et du gouvernement Suivez l avancement du développement comme une fonction liée aux exigences ou à la couverture de test Gain en efficacité et confiance 22
5. Gestion des exigences NI Requirements Gateway offre un suivi au niveau des exigences et de leur implémentation 23
Exemple : Thales Communication Entreprise Thales, entreprise au chiffre d affaire de 18 milliards de dollars, est le leader incontesté pour les marchés de la défense, la sécurité, les transports et l aérospatiale Défi La configuration et l exécution manuelle des tests de vérification créent un goulet d étranglement dans le process de développement des produits Solution Thales Communication a implémenté une architecture de vérification automatique des tests de validation, basée sur le logiciel NI LabVIEW et le matériel PXI afin d automatiser et de réutiliser le code 24
Exemple : Thales Communication Nous avons créé une architecture d automatisation des tests disposant d une HAL. Cette architecture nous offre la flexibilité nécessaire pour définir plusieurs configurations de matériel de test sans avoir à modifier le code. Mohammad Ahmad, Manager, System Test and Verification 25
Exemple : Thales Communication Résultats : Diminution des temps de test pour la vérification de 92 % Réduction des effectifs mobilisés de 79 % 100 fois plus de modèles de conception testés Amélioration de la qualité grâce à la détection précoce des erreurs Retour sur investissement de 282 % Période d amortissement de 5 à 9 mois Des millions de dollars d économie en termes de coût de développement des tests à l année 26
Des questions? Logiciel de gestion de système Code de test Langage de programmation ou de scripting Code de test Code de test Code de test Base de données Drivers GPIB/Série et VXI Acquisition et conditionnement Instrumentation modulaire PXI/CompactPCI Commande d axes Vision E/S distribuées PLC 27
Restez connecté avant et après NIDays /communaute-francophone facebook.com/nifrance twitter.com/nifrance youtube.com/nifrance 28