TestStand est un moteur de séquences d’instructions et un environnement de développement permettant de créer un séquenceur de tests évolué au test de plusieurs produits différents. On a alors un logiciel générique qui charge, suivant le produit à tester, des séquences spécifiant les actions, tests et tolérances, et des composants (comme des DLL) pour la communication avec le matériel. De plus il est installé avec les composants de base prêt a l’emploi pour un banc de test : saisie du numéro de série, execution des tests, affichage des resultats , génération de rapport de test, gestion des utilisateurs, sauvegarde des résultats dans un base de données.
Les points forts de TestStand sont :
-
Compatibilité : il peut appeler les fonctions contenues dans les composants les plus courants comme les DLL (Visual, Borland…), EXE, des scripts (bat, tcl, pl …), Active X, .NET, HTbasic et bien sûr avec les VI de LabVIEW et les modules en langage C de LabWindows/CVI. Il est également possible de commander les instruments directement depuis les séquences (compatibles avec les drivers IVI).
-
Rapidité : TestStand met à disposition des bibliothèques de contrôles graphiques directement liés avec le moteur du séquenceur. On peut développer une interface opérateur en 15 minutes !
-
Débugage : on peut poser des point d’arrêts sur chaque instruction d’une séquence, tracer (exécuter pas à pas) à tous les niveaux, depuis les séquences jusqu’aux codes sources des fonctions de test (DLL, VI…).
-
Souplesse : s’il on veut aller plus loin, il intègre un langage script qui permet l’exécution des opérations courantes (comparaisons, calculs mathématiques, logiques, statistiques, opérations sur chaines de caractères, conditions…)
-
Traçabilité : TestStand propose des schémas clef en main de gestion de base de données (oracle, access, MySQL…). En quelques clics, on configure la sauvegarde des données de test (numéro de série du produit, résultats de tests, mesures, comportement d’exécution, temps…) dans la base de données.
Exemples de réalisations avec TestStand
Pour avoir une idée des applications possibles de TestStand pour la réalisation et le développement de projets, cliquez sur les liens suivants :
- Banc de test pour la validation d’autoradio de Peugeot,
- Liste des projets développés sous TestStand auxquels j’ai participé.
Environnement de développement
L’environnement de développement fournit avec TestStand, ou autrement dit l’éditeur de séquence, permet de créer et éditer des séquences. Ces séquences contiennent une liste d’actions (pas en français ou step en anglais). Ces pas peuvent être :
- des actions : appel à des fonctions d’une DLL, un ActiveX, un .NET assembly, un VI LabVIEW, des classes JAVA, des fonctions HTbasic ou ATLAS
-
des actions de type tests : ces actions particulières contiennent la spécification des tests et la configuration des tolérances sur des valeurs booléennes (vrai/faux), numériques, tableaux de numériques ou chaines de caractère. Comme les actions, les tests peuvent être sous la forme d’appels à des composant variés (DLL, ActiveX,…)
-
des appels à des exécutables et des scripts
-
des chargement dynamiques de propriétés des pas de la séquence (configuration, tolérances,…)
-
des affectations de variables et calculs mathématiques ou traitement des chaines de caractères
-
des pas pour afficher des messages à l’utilisateur
-
des transferts de fichiers stockés sur un serveur FTP
-
des conditions d’exécution de groupes de pas de la séquence : if, else, for, for each, while, do while, select case, goto…
-
des fonctions de synchronisation pour le multi-tâches : boîte aux lettres, notification, rendez-vous, wait, lock, sémaphores…
-
des fonctions de communication avec des bases de données et des intructions SQL
L’éditeur de séquence de TestStand
L’éditeur de séquence permet, en outre, d’exécuter les séquences en mode « debug » avec point d’arrêt et mode pas à pas et de visualiser le contenu des variables mais aussi de poursuivre le debug à l’intérieur même des DLL ou VI.
De plus, les fonctionnalités de génération de rapport, d’enregistrement automatique des résultats et d’information de traçabilité dans les bases de données et de gestion des utilisateurs sont inclues avec TestStand.
Interface opérateur
L’interface opérateur est un exécutable distinct avec sa propre interface graphique qui est différente de l’éditeur de séquence qui est, quant à lui, l’environnement de développement. Ainsi, l’interface opérateur est le logiciel final qui est utilisé par les techniciens de production ou de maintenance alors que l’éditeur de séquences est utilisé par les techniciens ou ingénieurs de développement.
L’interface opérateur permet de saisir l’identifiant du produit à tester (souvent le numéro de série) puis de lancer les tests correspondant au produit. La capture d’écran ci-dessous représente un exemple d’interface opérateur simple :
Interface opérateur simple
La capture d’écran ci-dessous montre un exemple d’interface opérateur plus complexe avec des outils utiles pour le technicien de maintenance comme la possibilité de positionner des points d’arrêt, de visualiser le contenu des variables, de naviguer dans les séquences, d’exécuter seulement les pas sélectionner… :
Interface opérateur de maintenance avec TestStand
L’interface opérateur peut être programmer dans le langage de votre choix, compatible ActiveX ou .NET : LabVIEW, LabWindows/CVI en langage C, C++, C#, Visual Basic, Pascal Object sous Delphi…