Document original : NIDays 2015 : Test automatique enjeux et solutions, mise en œuvre avec NI TestStand (PDF, 1,2 Mo, 27 pages)

Test automatique : enjeux et solutions,
mise en œuvre avec NI TestStand
Jean-Louis Schricke
Sommaire

MESULOG en quelques mots
Les différents types de tests
Le test automatique
Vue d’ensemble de NI TestStand
Mise en œuvre de NI TestStand
Conclusion
MESULOG en quelques mots

SARL créée en 2000, proximité Grenoble
6 ingénieurs et 1 technicien
Développement logiciel sur plateforme NI
Prestation au forfait ou assistance
Partenaire de National Instruments
100% développeurs certifiés
1 architecte TestStand (3 en France) 1 développeur TestStand (16 en France) 1 architecte LabVIEW (27 en France) 4 développeurs LabVIEW
Les différents types de tests (1)

Rappel : selon ISO 17025, une méthode d’essai doit être :
Représentative
Relever les justes propriétés de l’objet testé et en fournir une estimation suffisamment précise en fonction de l’utilisation qui a été prévue pour ces résultats
Reproductible
Etre applicables dans des milieux différents, par des opérateurs différents, en utilisant des équipements physiquement différents
Répétable
Fournir des résultats similaires (comme décrits ci-dessus) pour un laboratoire donné et pour un équipement et un personnel donné
Les différents types de tests (2)

Tests en R&D :
Tests de validation
validation d’un design, au travers d’un prototype nécessité d’une analyse des résultats arbitrages avant industrialisation
Tests de caractérisation
connaître le comportement par rapport aux spécifications et au-delà alimenter les futures datasheets du produit
Tests d’endurance
FAIL
Tests en Production :
PASS
Test de composants, de sous ensembles Test fonctionnel (Passed/Failed)
Le test automatique (1)

Avez-vous déjà rencontré ces problèmes ?
Les tests sont difficiles à faire en manuel Les tests sont trop longs Les tests sont trop couteux Les résultats de tests sont peu fiables Des défauts du produit n’ont pas été détectés
Le test automatique (2)

Les enjeux :
Fiabilité et reproductibilité Productivité et disponibilité Maîtrise de la qualité Taux de couverture Traçabilité Réduction de la pénibilité Maîtrise de coûts de main-d’œuvre, contexte social Capitalisation du savoir-faire Surveillance et remontée d’indicateurs Archivage des résultats Evolutivité et pérennité
Le test automatique (3)

Comment automatiser ?
Coder la séquence de test dans l’application du banc
LabVIEW LabWindows/CVI .NET
Utiliser un langage permettant le scripting
Python Ruby
Le choix d’un séquenceur de test s’impose :
si la séquence de test dépend du produit à tester si la séquence de test doit évoluer
TestStand : Vue d’ensemble (1)

Composants d’un système de test
Opérations différentes pour chaque unité à tester :
Opérations répétées pour chaque unité à tester :
- Calibration
- Configuration
- Acquisition
- Mesures
- Analyse
- Stratégie de test
- Interface opérateur
- Gestion utilisateur
- Suivi unité sous test
- Flux d’exécution
- Résultats d’archivage
- Rapports de test
TestStand : Vue d’ensemble (2)

Architecture générale
Editeur
séquences
Interface opérateur * Facultatif
TestStand API
TestStand Engine (Server)
GPIB/Serial and VXI
Data
Modular Instrument. Motion
PXI
Distributed
Acquisition Vision
I/O PLCs
TestStand : Vue d’ensemble (3)

Composants
Éditeur
Interface opérateur
de séquences
Bien plus qu’un simple séquenceur…
API NI TestStand
Moteur NI TestStand
Mémoire &
DB
variables partagées
Rapports
Propriétés Étape 1
Propriétés Étape 2
Propriétés Étape 3
Propriétés Étape 4
Propriétés Étape 5
Test Module Étape 1
Test Module Étape 2
Test Module Étape 3
Test Module Étape 4
Test Module Étape 5
Exécution
Modèles de processus
Séquentiel Parallèle par Lot
TestStand : Vue d’ensemble (4)

Composants visibles
Editeur de séquences + Outils
API TestStand
TestStand : Vue d’ensemble (5)

Les avantages de TestStand
Modularité qui facilite le « re-use » Evolutivité et pérennité Formalisme structurant, gestion des erreurs « Noyau » robuste et personnalisable Parallélisme, multi-thread, multi-execution Login, gestion des privilèges, gestion des UUTs Rapport d’exécution, logging résultats en database Fichiers ressources multi-langues Compatibilité/systèmes d’exploitations assurée par NI Nouvelles fonctionnalités avec chaque release
TestStand : Vue d’ensemble (6)

Les inconvénients de TestStand
Nécessite Microsoft Windows Licence run-time pour chaque poste Palette Step Types native « insuffisante » Apparente complexité
Phase 1. Architecture

Choix structurants Besoin en Custom Step Types (CST) Règles de développement Gestion code source Formation développeurs
Assistance éventuelle partenaire NI
Phase 2. Développement StepTypes

Création de « pas » unitaires configurables Chaque pas comprend :
un module d’exécution un module de configuration (boîte de dialogue)
Intégration des pas créés dans TestStand
Nouvelles « briques » personnalisées venant
enrichir la palette TestStand.
Phase 3a. Utilisation de StepTypes

Edition
Meilleure lisibilité de la séquence de test
Phase 3b. Edition séquences

Création séquences et sous-séquences avec NI SeqEdit
Insertion de « pas standard » TestStand Insertion de « pas personnalisés génériques » configurables Insertion de « pas personnalisés spécifiques » non configurables
Données
Variables locales ou globales Paramètres d’entrées et de sortie
Relations entre les pas
Exécution conditionnelle Boucles Synchronisation
Mais qui fournit le ciment ?
Phase 4. Connectivité

Communication avec Unité Sous Test Validation pilotage instrumentation Liaisons databases
Input : Spécifications produit, limites de test Output : Résultats de test
Rapport de test Paramétrage externe
Phase 5a. Création interface opérateur

Personnalisation d’un des 2 modèles (Simple ou Full-Featured)
Ajout d’indicateurs de suivi d’exécution Ajouts de commandes Localisation des messages et indicateurs
Phase optionnelle :
si l’on utilise l’éditeur de séquence NI SeqEdit en exécution si l’on utilise une interface opérateur standard
Phase 5b. Exemples d’interface opérateur

Phase 6a. Déploiement

Création de distributions Processus de validation Gestion de configuration
Phase 6b. Exploitation
Exploitation et analyse des résultats (R&D) Publication statuts bancs Mise en place outils de monitoring Gestion des anomalies (tracker)
Phase 7. Evolutions

Modification des séquences existantes
Changement de l’ordre des tests Modification des conditions limites Duplication et modification de certains pas
Création de nouvelles séquences
Duplication et modification d’une séquence existante Réutilisation des pas génériques
Évolutions possibles sans connaissance poussée de TestStand
Conclusion

Enjeu NI TestStand
Fiabilité et reproductibilité Productivité et disponibilité Maîtrise de la qualité Taux de couverture Traçabilité Réduction de la pénibilité Maîtrise de coûts de main-d’œuvre, contexte social Capitalisation du savoir-faire Surveillance et remontée d’indicateurs Archivage des résultats Evolutivité et pérennité
Conclusion

NI TestStand est un outil puissant que l’on peut adapter à
chaque besoin en test automatisé
Le test automatique comprend de nombreux enjeux
NI TestStand permet de répondre à nombre de ces enjeux
Ressources

Sur ni.com
Présentation TestStand : www.ni.com/teststand Produits partenaires : www.ni.com/teststand/partner.htm “NI TestStand Advanced Architecture Series” What's New in NI TestStand 2014
Sur mesulog.fr
NIDays 2006 : TestStand et LabVIEW, une association idéale pour l'automatisation de vos tests NIDays 2008 : Bâtir un projet sous TestStand : Architectures et méthodologies NIDays 2009 : NI TestStand et LabVIEW valident les commutateurs RF chez Radiall NIDays 2009 : Guide de programmation avancee NI TestStand - conseils et recommandations NIDays 2010 : Présentation NI TestStand NIDays 2011 : Introduction au séquenceur de test NI TestStand et exemple d'utilisation chez
RADIALL pour le test de commutateurs HF spatialisés
NIDays 2013 : Cas concrets d'utilisation de NI TestStand en R&D, production et maintenance
Questions



