NIDays 2006 : TestStand et LabVIEW, une association idéale pour l'automatisation de vos tests

Par MESULOG · février 2006

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

Télécharger le PDF Ouvrir dans le navigateur

+ – diapositive 1

MESULOG

Jean-Louis Schricke

une association idéale

pour l'automatisation de vos tests

Sommaire

Sommaire – diapositive 2

Introduction

TestStand : vue d’ensemble

LabVIEW : quelques rappels

TestStand et LabVIEW : complémentarité

Conclusion

Introduction

Introduction – diapositive 3

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

Introduction – diapositive 4

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

TestStand : vue d’ensemble – diapositive 5
  • 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

TestStand : vue d’ensemble – diapositive 6

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

TestStand : vue d’ensemble – diapositive 7

…

...

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

TestStand : vue d’ensemble – diapositive 8

TestStandLangage

Séquenceur

(ex. LabVIEW)

Langage

Séquenceur

(ex. LabVIEW)

Test Executive

Positionnement du séquenceur

TestStand : vue d’ensemble

TestStand : vue d’ensemble – diapositive 9

.

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

+ une association idéale pour l'automatisation de vos tests – 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

+ une association idéale pour l'automatisation de vos tests – 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

+ une association idéale pour l'automatisation de vos tests – diapositive 12

.

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

Diapositive 13

+ une association idéale pour l'automatisation de vos tests – 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)

(Exemple 1) – diapositive 14

Banc de test

en production

Phase 3 : Interface opérateur

(Exemple 2)

(Exemple 2) – diapositive 15

Banc de

caractérisation

Phase 3 : Interface opérateur

Diapositive 16

+ une association idéale pour l'automatisation de vos tests – 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

+ une association idéale pour l'automatisation de vos tests – 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

LabVIEW : quelques rappels – diapositive 18
  • 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

LabVIEW : quelques rappels – diapositive 19

ou

Séquence

Cheminement d’erreur

Machine à états

Etc.

Possibilités de séquencement

LabVIEW : quelques rappels

LabVIEW : quelques rappels – diapositive 20

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

+ une association idéale pour l'automatisation de vos tests – 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

+ une association idéale pour l'automatisation de vos tests – 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

+ une association idéale pour l'automatisation de vos tests – 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

+ une association idéale pour l'automatisation de vos tests – 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

Conclusion – diapositive 25

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

+ une association idéale pour l'automatisation de vos tests – diapositive 26

Conclusion

www.mesulog.fr