Utilisation de ChatGPT pour les tests automatisés

Ari Mahpour
|  Créé: Mai 3, 2023  |  Mise à jour: Septembre 24, 2024
Utilisation de ChatGPT pour les tests automatisés

Cela a fait le tour des actualités et si vous n'en avez pas encore entendu parler, il est temps de découvrir ChatGPT d'OpenAI. C'est un outil incroyablement puissant qui fonctionne grâce à l'Intelligence Artificielle. Le concept est que vous pouvez lui demander presque n'importe quoi ou lui confier n'importe quelle tâche et il devrait, en théorie, répondre correctement ou accomplir la tâche pour vous. Par exemple, les gens l'utilisent pour écrire des discours, composer des emails, rechercher des sujets ou même écrire du code. Bien que le modèle soit loin d'être parfait, il est tout de même très impressionnant et contient beaucoup de bonnes informations. Notre propre Mark Harris m'a récemment démontré cette capacité avec un script simple qui contrôle un instrument pour des tests automatisés. J'ai décidé de plonger dans ce terrier de lapin et d'expérimenter avec ChatGPT et les tests automatisés. Dans cet article, nous allons voir comment accéder à ChatGPT, apprendre à lui poser des questions et, plus important encore, comprendre quelles sont les bonnes questions à poser pour obtenir les résultats que vous recherchez.

Commencer avec ChatGPT

Avant de plonger, vous voudrez vous familiariser avec ChatGPT et ce qu'il a à offrir. Commencez par naviguer sur chat.openai.com et inscrivez-vous ou connectez-vous avec un compte. Au moment de la rédaction de cet article, l'outil était proposé gratuitement, vous devriez donc pouvoir commencer immédiatement. Commencez par des questions simples telles que « quel est le résultat de 1 + 1 ? » ou « de quelle couleur est le ciel ? » Après cela, vous pouvez commencer à lui donner des tâches telles que composer un essai, rédiger un e-mail, ou écrire une fonction simple dans un logiciel. L'interface est propre et simple, tapez simplement dans la boîte de message en bas comme vous enverriez n'importe quel message et cliquez sur envoyer (ou appuyez sur Entrée).

 

Using ChatGPT, Automated Testing, AI, Machine Learning, Embedded Software, Altium
Figure 1 : Boîte de message avec ChatGPT

Écrire des Bibliothèques Logicielles

Une fois que vous êtes à l'aise pour avoir une conversation avec ChatGPT, vous pouvez commencer à expérimenter en lui demandant de générer du code pour vous. Des demandes basiques comme « écrire une fonction en C pour additionner deux nombres » sont des tâches triviales qu'il peut facilement gérer. Les choses commencent à se compliquer une fois que vous ajoutez plus de détails à la demande. J'aime avoir tout mon code bien organisé dans de petites classes bien nettes, donc je dis explicitement à ChatGPT de créer une classe qui fait quelque chose pour moi. Voici un exemple :

Test Automation, Chatbot Testing, Software Testing
Figure 2 : Demande de génération de classe

 

Vous remarquerez également que je lui ai demandé de générer des tests pour moi en utilisant Pytest. Il a également géré cette demande mais, malheureusement, le code contenait un tas de bugs qui étaient quelque peu difficiles à corriger. C'était quand même un excellent processus à traverser pour voir comment il structurait le code et les tests unitaires. J'ai, certainement, appris une chose ou deux en le regardant générer du code d'une manière que je n'aurais pas faite moi-même.

Générer du Code Instructionnel dans ChatGPT

Une approche décrite ci-dessus consiste à laisser l'IA vous fournir l'outil (c'est-à-dire la bibliothèque logicielle) afin que vous puissiez construire le produit (c'est-à-dire le script de test). Une autre approche consiste à donner à ChatGPT des spécifications de test précises et à lui faire générer le code pour vous. Cela est excellent pour générer rapidement des scripts de test sommaires pour vous lancer avant de devoir ajuster votre configuration et vos cas de test. Examinons un exemple.

J'ai fourni l'ensemble d'instructions suivant, très simple, à ChatGPT pour tester un convertisseur d'alimentation à découpage :

Écris-moi un script en Python utilisant Pytest pour effectuer les opérations suivantes :

1. Allumer une alimentation Rigol DP832 et la régler sur 5V et 2A sur le canal 1

2. Allumer une charge électronique Rigol DL3021 et régler la charge sur un courant constant de 1.5A pendant 3 minutes

3. Éteindre le DP832 et le DL3021

Je n'ai même pas intégré de tests spécifiques dans ce cas. Tout ce que je voulais, c'était observer que mon convertisseur DC-DC peut gérer une charge de 1,5A pendant 3 minutes. Le code généré était plutôt correct, mais de temps en temps, je rencontrais des bugs qui le rendaient un peu difficile à corriger. Vous pouvez également demander à ChatGPT d'intégrer des assertions spécifiques ou de tester des défaillances spécifiques, mais je n'étais intéressé que par tester les bases avec l'application IA. De plus, vous pouvez même lui demander d'écrire une classe de test (avec ou sans mocks) pour valider le code. Encore une fois, tout n'était pas parfaitement aligné. J'ai dû manipuler le code lui-même et la classe de test pour qu'ils fonctionnent parfaitement. 

Conclusion

Dans l'ensemble, l'expérimentation avec ChatGPT a été une bonne expérience. C'était agréable d'avoir un « agrégateur » pour rassembler certains concepts dans le code sans avoir à faire le travail manuel ou à chercher des exemples sur le web. Bien que ce ne soit pas parfait, cela a quand même été utile et amusant à expérimenter. Après avoir lu cet article, vous devriez avoir une compréhension décente de la manière de :

  1. Accédez à ChatGPT
  2. Posez-lui des questions basiques
  3. Créez des bibliothèques logicielles sur demande
  4. Créez du code d'exécution de test sur demande

Je vous encourage vivement à l'essayer et à exécuter les exemples que j'ai fournis dans cet article ou à essayer certains des vôtres. Gardez à l'esprit que ChatGPT est encore, techniquement, en version bêta, alors ne placez pas vos attentes trop haut. Soyez patient et assurez-vous de lui signaler lorsqu'il commet des erreurs afin qu'il puisse "apprendre" de ses erreurs. Bonne programmation !

A propos de l'auteur

A propos de l'auteur

Ari est un ingénieur doté d'une solide expérience dans la conception, la fabrication, les tests et l'intégration de systèmes électriques, mécaniques et logiciels. Il aime collaborer avec des ingénieurs chargés de la conception, la vérification et les tests afin de favoriser les synergies.

Ressources associées

Retournez à la Page d'Accueil
Thank you, you are now subscribed to updates.