Document original : NIDays 2006 : TestStand et LabVIEW, une association idéale pour l'automatisation de vos tests (PDF, 1,2 Mo, 26 pages)

MESULOG
Jean-Louis Schricke
une association idéale
pour l'automatisation de vos tests
Sommaire

Introduction
TestStand : vue d’ensemble
LabVIEW : quelques rappels
TestStand et LabVIEW : complémentarité
Conclusion
Introduction

Proposer une vue d’ensemble de TestStand
Permettre d’identifier les cas où l’utilisation de TestStand est souhaitable
Mettre en évidence la complémentarité de TestStand et LabVIEW
Un exemple détaillé de mise en œuvre TestStand et LabVIEW est présenté
par SAPHIR
Objectif
Illustration
Introduction

Activité : Développement logiciel test et mesure
Compétence : TestStand, LabVIEW (Windows, RT, PDA)
Création : mars 2000
Localisation : Grenoble
Taille : « humaine » (3 ingénieurs)
Partenaire National Instruments
Développeur certifié LabVIEW et TestStand
MESULOG en bref
TestStand : vue d’ensemble

- 1999 : Version 1.0 De nombreuses évolutions
- 2001 : Version 2.0
- 2003 : Version 3.0
- 2004 : Version 3.1
- 2005 : Version 3.5
Successeur de NI Test Executive (Add-on LabVIEW ou LabWindows/CVI)
TestStand s’impose en tant que plate-forme depuis la version 3.0
14 of the top 15 electronics manufacturers use NI TestStand
(Electronic Business, 2004)
Historique
Un standard de fait
TestStand : vue d’ensemble

de contrôler et d'exécuter vos systèmes de tests de prototype, de validation
ou de production automatisés ».
Un séquenceur permet de créer, de configurer et d’exécuter des séquences
de tests.
Une séquence de test est une suite de « pas unitaires » dont l’exécution
peut être conditionnée par le résultat des pas précédents.
« TestStand est un séquenceur de test prêt à l'emploi permettant d'organiser,
C’est quoi TestStand ?
C’est quoi un séquenceur ?
TestStand : vue d’ensemble

…
...
ActiveX
Adapter
VB / VC++
optionnel,
langage au choix
Exécutable
DLL Flex
Adapter
CVI / VC
Opérateur
ActiveX)
Moteur
personnalisé
Serveur ActiveX) ( (Serveur
Interface Interface Opérateur
C/CVI
CVI
Adapter
de
Exécutable
LabVIEW
Adapter
LabVIEW
Editeur Editeur de
séquence
Architecture de TestStand
Adaptateurs
(C++ DLLs)
Environnements
TestStand : vue d’ensemble

TestStandLangage
Séquenceur
(ex. LabVIEW)
Langage
Séquenceur
(ex. LabVIEW)
Test Executive
Positionnement du séquenceur
TestStand : vue d’ensemble

.
Gestion des utilisateurs (avec profils)
Identification de l’Objet Sous Test (en anglais : UUT )
Génération automatique d’un rapport (trace d’exécution)
Sauvegarde des résultats en base de données
Outils de branchement et de synchronisation
Outils de chargement de conditions de tests (Property Loader)
Pilotage d’instruments IVI
Traitement des erreurs
Deux interfaces opérateur (avec code source)
En standard dans TestStand
Diapositive 10

.
Nouvelles « briques »
personnalisées venant
enrichir la palette TestStand.
- un module d’exécution Chaque pas comprend :
- un module de configuration (boîte de dialogue) Intégration des pas créés dans TestStand
Création de « pas » unitaires configurables (environnement au choix)
Phase 1 : Programmation
Diapositive 11

.
Mais qui fournit le ciment ?
- Insertion de « pas standard » TestStand Création de séquences et de sous-séquences à l’aide de NI SeqEdit :
- 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
Phase 2 : Édition de séquences
Diapositive 12

.
Phase 2 : Édition de séquences (exemple)
Diapositive 13

.
- Ajout d’indicateurs de suivi d’exécution Personnalisation d’un des deux modèles (Simple ou Full-Featured)
- Ajouts de commandes
- Localisation des messages et indicateurs Mise en place de la communication avec les séquences
- Évènements de mise à jour (UIMessage)
- Liens vers un Serveur de données (ex. OPC) 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 3 : Création interface opérateur
(Exemple 1)

Banc de test
en production
Phase 3 : Interface opérateur
(Exemple 2)

Banc de
caractérisation
Phase 3 : Interface opérateur
Diapositive 16

PASS / FAIL ) Æ
exploitation des résultats ) Æ
- Banc de test fonctionnel ( Login : Profil Opérateur
- Banc de caractérisation ( Login : Profil Technicien
- Mise au point, exécution pas à pas
- Activation/désactivation d’étapes de test
Phase 4 : Exécution
Diapositive 17

- Changement de l’ordre des tests Modification des séquences existantes
- 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 ¾
Phase 5 : Évolutions
LabVIEW : quelques rappels

- Traçabilité Génération impérative d’un exécutable (Application builder)
- Gestion de version Fiabilité et robustesse à soigner :
- Traitement d’erreur
- Traitement des interactions utilisateur Fonctionnalités recommandées (à implémenter) :
- Fichier(s) de configuration
- Fichier « trace » ou « journal de bord »
- Fichier « historique des erreurs »
LabVIEW en production
LabVIEW : quelques rappels

ou
Séquence
Cheminement d’erreur
Machine à états
Etc.
Possibilités de séquencement
LabVIEW : quelques rappels

NON
Si la séquence de test :
- doit évoluer
- dépend du produit testé
OUI
- de disposer du code source En production la modification de l’ordre des étapes nécessite :
- de disposer de LabVIEW et de son module Application builder
- de disposer d’un développeur LabVIEW
- de générer un nouvel exécutable et de tester la nouvelle séquence
LabVIEW en tant que séquenceur ?
Si la séquence de test :
- est figée
- ne dépend pas du produit testé
Diapositive 21

TestStand-LabVIEW : Complémentarité
- module d’exécution LabVIEW permet de développer les « briques »
- module de configuration
Le passage de
paramètres
TestStand-LabVIEW
est simple
En phase 1 : Programmation
Diapositive 22

TestStand-LabVIEW : Complémentarité
- LabVIEW est client, serveur et conteneur ActiveX ActiveX
- Toute la couche API de TestStand est disponible sous LabVIEW
En phase 3 : Création interface opérateur
Diapositive 23

TestStand-LabVIEW : Complémentarité
Déclenchement d’un « VI Callback »
par action utilisateur sur un contrôle
LabVIEW.
évènements LabVIEW (structure évènementielle).
- depuis sa version 6.1, les actions utilisateurs peuvent générer des
dynamiquement des évènements ActiveX
- depuis sa version 7.0, LabVIEW peut prendre en charge
(Composants ActiveX dédiés User Interface)
- depuis sa version 3.0, TestStand intègre des UIControls
LabVIEW et le mode évènementiel
Composants ActiveX TestStand pour interface opérateur
En phase 3 : Création interface opérateur
Diapositive 24

5.20
0.50
0.47
LabVIEW
4.70
0.09
0.05
LabVIEW
Run-Time
5.60
0.10
0.07
ActiveX
6.30
0.18
0.14
DLL
Numeric Limit,
Precondition,
4 parameters
4.40
0.14
0.05
DLL
5.80
0.25
0.15
CVI-DLL
TestStand-LabVIEW : Complémentarité
6.30
0.25
0.16
CVI-Object
Exemple fourni avec TestStand : Benchmark.seq
Temps d’exécution moyen d’un pas en millisecondes
Performances ?
En phase 4 : Exécution
ADAPTER
Trace ON
Trace OFF / Results ON
Trace OFF / Results OFF
Conclusion

sur www.ni.com/teststand
- StepTypes en téléchargement sur NI Developer Zone Utilisation de pas de test « prêt à l’emploi »
- MESULOG
Formation indispensable
Assistance Partenaire NI (si possible certifié TestStand)
des pas de test et de l’interface opérateur
TestStand et LabVIEW sont complémentaires
L’utilisation de LabVIEW facilite le développement
TestStand est un outil puissant mais complexe
Diapositive 26

Conclusion
www.mesulog.fr


