6 façons dont l'IA impactera le test au-delà du codage

Aperçu

La façon dont nous faisons de l'ingénierie de test change rapidement. Le développement accéléré en amont de produits complexes entraîne des changements fondamentaux dans les tâches que nous devons accomplir, même si nos objectifs restent constants. Au cours des 10 dernières années, la façon dont nous passons notre temps a évolué, avec plus d'attention accordée aux méthodologies de développement collaboratif et plus de temps consacré à ce qui était autrefois considéré comme des tâches périphériques.  

 

un diagramme montrant le décalage du temps passé pendant les différentes phases de l'ingénierie de test

 

Figure 1. Changements dans l'allocation du temps d'ingénierie de test au cours des 10 dernières années

 

 

Principaux changements apportés au test au cours des 10 dernières années

  • Besoin de stratégies évolutives avec des options de standardisation pour les produits multidomaines complexes
  • La complexité des produits nécessite la conception de plates-formes de test avec une automatisation pilotée par logiciel et une gestion des données à grande échelle, ainsi qu'une sécurité et une sûreté élevées
  • Les bases de code passent de petits projets individuels statiques à des bibliothèques continuellement enrichies et optimisées construites par des équipes multidisciplinaires distantes. 
  • L'exécution, le déploiement, la mise au point et l'analyse des défaillances deviennent des processus spécialisés et complexes faisant appel à du personnel dédié.
  • Des ensembles de données de test plus volumineux créent de grandes attentes en matière d'informations, créant ainsi du travail dans l'analyse et la visualisation, ainsi que dans la gestion des données et la gouvernance du format. 
  • Les opérations de test de niveau entreprise gèrent un écosystème de test hautement distribué.

Cette prolifération de tâches signifie que lorsqu'on leur présente un accélérateur de productivité comme l'IA, les groupes d'ingénierie de test avertis réfléchissent de manière holistique à la manière de l'appliquer à tous les travaux qu'ils doivent effectuer et pas seulement aux éléments de génération de code qui font la une des journaux. Ce white paper est conçu pour examiner le flux de travail de l'ingénieur et expliquer pourquoi les ingénieurs de test doivent adopter l'IA dans davantage de tâches pour réussir.

Contenu

1. Planification des tests et conception de systèmes

Une bonne ingénierie de test commence par une excellente stratégie de test plutôt que par un excellent développement d'IP. Cependant, à mesure que les exigences de couverture des produits que nous testons augmentent, l'investissement en temps dans la planification et la conception de cette stratégie devient disproportionné.  

L'IA peut faciliter la planification en ingérant des informations sur les produits et les composants et en les traduisant en plan de test. Pour réaliser cette tâche, il faut des compétences spécialisées qui fournissent une connaissance suffisante des méthodologies de test et des meilleures pratiques de mesure pour fournir un plan performant. Au fur et à mesure que ce plan passe à la conception de stations, l'IA doit maîtriser les stratégies d'optimisation telles que le parallélisme afin d'utiliser efficacement les ressources, ainsi que les topologies de commutation, l'accessibilité pour la mise au point, les sources de bruit et plus encore.  

Comme chaque ingénieur de test le sait, une conception de système de test est un mélange d'art, de science, d'expérience et de compromis. En tant qu'outil d'IA spécialisé dans les applications de test et de mesure, NI Nigel™ AI possède les compétences nécessaires pour faire une recommandation forte ; ses capacités d'agent s'améliorent rapidement et fournissent le support le plus spécifique aux applications. Mais les ingénieurs ne doivent pas oublier leur propre expérience pratique lorsqu'ils valident des suggestions.  

2. Intégration et éducation

Les ingénieurs de test modernes sont forcés de s'adapter car il devient plus courant que les travailleurs changent de poste à la recherche d'avancement. Ces changements rendent nécessaire l'intégration quasi continue de nouveaux outils et processus. L'intégration constante a non seulement un impact sur la productivité des stagiaires, mais elle éloigne aussi les membres expérimentés de leur travail de formateurs.  

Les assistants d'IA peuvent assurer le premier niveau d'assistance pour les ingénieurs utilisant de nouveaux outils. Nos données de produits montrent que plus de 20 pour cent des utilisateurs LabVIEW utilisent régulièrement Nigel AI pour des cas d'utilisation similaires. Pour être clair, ces outils ne remplacent pas des formations plus structurées couvrant les meilleures pratiques des produits. Ce type de formation est toujours requis, afin que les ingénieurs sachent quelles invites utiliser et à quoi ressemble une bonne réponse. Mais les assistants d'IA servent également d'aide-mémoire et peuvent aider les ingénieurs à naviguer dans des environnements logiciels complexes pour trouver les fonctions qu'ils recherchent sans importuner leurs collègues.  

3. Développement d'IP via l'automatisation des applications

Le développement d'IP de test implique presque toujours plus que la simple écriture de code de mesure spécifique à une étape de test. Il existe des applications très complètes qui prennent en charge des fonctions telles que l'enregistrement des données, la gestion des séquences de test et la mise au point interactive de signaux, chacune pouvant s'appuyer sur le code de mesure ou s'y connecter et permettant aux ingénieurs de travailler à un niveau plus rapide et abstrait. Bon nombre d'entre eux (comme NI FlexLogger, NI TestStand et le logiciel NI InstrumentStudio™) intègrent Nigel AI, ce qui accélère encore le développement. 

TestStand, par exemple, permet à Nigel de générer des séquences de test basées sur un plan de test contextualisé. Cet outil peut être un énorme gain de temps, car il permet l'intégration d'étapes de test (éventuellement écrites dans n'importe quel langage tel que LabVIEW, Python, ou C#) dans une séquence unique avec une surcharge d'orchestration minimale pour l'utilisateur. Nigel peut alors automatiser les fonctionnalités d'optimisation de la vitesse au sein du moteur TestStand pour améliorer les performances. Dans ces cas-là, les ingénieurs sont toujours responsables de la séquence livrée à l'atelier de fabrication et devraient vérifier l'opération, mais l'IA peut réduire le nombre de clics et créer un point de départ à partir duquel travailler pour gagner des heures. 

4. Mise au point et héritage de code

L'un des cas d'utilisation les plus courants pour l'IA est d'expliquer le code à l'utilisateur. Les ingénieurs partent rarement d'une page blanche ; ils héritent du code, le réutilisent, le refactorisent, le redéploient, etc. Dans de nombreux cas, le code hérité peut être un cadeau, mais dans d'autres, il faut parfois des semaines pour comprendre l'architecture d'une application décalée et mal documentée laissée pour compte par un collègue disparu depuis longtemps. 

L'IA peut être utile en résumant les fonctionnalités d'un module de code ou même d'une application entière, puis en permettant à l'utilisateur d'y naviguer avec des invites en langage naturel, comme les exemples suivants :

  • Où se trouve la fonctionnalité de connectivité à la base de données dans cette application ?
  • Quelles bibliothèques et dépendances sont requises pour exécuter cette application ?
  • Comment corriger l'erreur de timeout d'acquisition pour la mesure de vibration ?

L'utilisation d'une IA de cette façon crée également un profil à faible risque pour les erreurs d'IA se propageant à la base de code ; en suscitant des échanges, elle oblige l'ingénieur à apporter des modifications. 

5. Données et Root Cause Analysis

Les équipes de test s'attendent de plus en plus à recevoir des informations sur les données car celui qui crée les données est souvent le mieux placé pour les manipuler et les approfondir. En gros, les informations sur les données de test peuvent être classées en deux groupes : 

  • Informations produit — Souvent du ressort des groupes de test de R&D, elles contribuent à identifier les tendances ou les anomalies qui passent inaperçues au premier abord, mais dont des détails supplémentaires suggèrent une dérive continue vers des limites potentielles. Les causes courantes peuvent être un changement de composant, de processus ou de fournisseur/matériau.  
  • Informations sur les tests — Identifier les points aberrants dus à la variance de la station de test, de l'opérateur ou de l'environnement. Ces informations peuvent permettre d'identifier rapidement les problèmes de procédure et de minimiser les retests.  

L'enregistrement d'un ensemble complet de métadonnées environnementales pour chaque élément de données de mesure de manière structurée et normalisée est essentiel pour obtenir des informations précieuses. Pour établir des corrélations significatives, vous devez enregistrer des informations sur le produit (exigences, variance, gammes de fonctionnement), le système de test (ressources, emplacement, montage, opérateur), l'IP de test (pile logicielle, dépendances, révisions) et les résultats des mesures (scalaires, waveforms, horodatages, entièrement synchronisés pour tous les instruments utilisés). Ce type de données ne peut pas être « réintégré » s'il n'est pas documenté au point de mesure et, par conséquent, une stratégie solide d'enregistrement des métadonnées dans les systèmes de mesure devient essentielle pour obtenir ultérieurement des informations exploitables générées par l'IA.  

6. Maintenance système et gestion de laboratoire

Les ingénieurs de test n'ont pas passé des années à se former dans les universités et l'industrie pour passer de longues heures à rechercher des autocollants d'étalonnage, des câbles manquants, des incohérences logicielles et d'autres tâches importantes mais ardues dans les laboratoires ou les lignes. L'IA est efficace pour rechercher des éléments et peut vous faire gagner des heures de temps frustrant en maintenance de laboratoire. 

Par exemple, en utilisant Nigel dans le logiciel NI SystemLink™, vous pouvez poser des questions telles que : 

  • « Combien de DMM dans mon laboratoire seront hors étalonnage dans les 3 prochains mois ? »
  • « Quel est le % d’utilisation des stations RF dans mon laboratoire et le laboratoire en Malaisie ? »
  • « Quelle est la prochaine période non planifiée de 24 heures entre les stations 1 à 5 afin que je puisse effectuer une importante mise à jour logicielle requise par l'informatique ? »

En automatisant ce type de tâches administratives, les équipes peuvent maximiser le temps productif de leur personnel d'ingénierie principal. Cette automatisation peut aider à accroître l'engagement et la motivation des équipes, car elle réduit le temps passé à des tâches perçues comme frustrantes, répétitives et de faible valeur. 

La génération de code par l'IA ne vous mènera que jusqu'ici en test

Ce white paper a beaucoup survolé les avantages et les limites de l'utilisation de l'IA pour vous aider à écrire du code, et ils sont nombreux. Cependant, il a également, espérons-le, montré comment la productivité de l'ingénieur peut être améliorée en adoptant une vision plus large et plus holistique du rôle que l'IA peut jouer pour l'aider.  

Nigel AI est optimisé spécifiquement pour aider les ingénieurs de test tout au long de leur processus de développement, de la première réunion de planification à la réunion du rapport final et tout ce qui se passe entre les deux. Son ensemble unique de compétences et son intégration étroite dans de nombreux outils que vous utilisez déjà pour les tests signifient qu'il peut agir comme un catalyseur, accélérant vos tâches de test les plus précieuses et créatives tout en faisant abstraction et en automatisant les tâches administratives, le tout sans perturber vos processus existants.