Au cours des deux dernières années, les progrès de l'IA, en particulier les LLM (Large Language Models), se sont avérés capables de résoudre les problèmes traditionnels plus efficacement, et l'un des impacts que les LLM peuvent créer est l'aide à l'automatisation de nos tests logiciels. Pour de nombreuses équipes logicielles, l'automatisation n'a jamais été un citoyen de premier ordre du cycle SDLC et les équipes ont du mal à automatiser les cas de test qui créent la « dette d'automatisation des tests ». En raison de cette lacune dans l'automatisation des tests, les équipes qualité consacrent beaucoup de temps à la vérification et à la rédaction manuelles de ces cas de test, ce qui ralentit la vitesse d'expédition de l'équipe d'ingénierie.
Bien que tous les problèmes mentionnés ci-dessus nécessitent un article séparé sur la façon dont les équipes logicielles doivent les résoudre, dans cette section, nous expliquerons comment les ingénieurs QA peuvent tirer parti du ChatGPT ou des LLM en tant que co-pilote dans le BDD (behavior-driven testing).
Qu’est-ce que le BDD ?
Le développement piloté par le comportement (BDD) est une méthodologie de développement logiciel Agile dans laquelle une application est documentée et conçue autour du comportement qu'un utilisateur s'attend à rencontrer lorsqu'il interagit avec elle. Dans le contexte de cette discussion, appliquons les tests basés sur BDD sur un site Web YC et considérons la page de connexion de YC hacker news comme point de départ.
" Lorsqu'un utilisateur tente de se connecter et saisit les informations d'identification valides sur et appuie sur Connexion, il doit rediriger l'utilisateur vers le site Web d'informations sur les pirates informatiques ".
Conformément aux directives BDD, le comportement ci-dessus peut être écrit sous forme de syntaxe/étapes Gherkin qui peuvent constituer un cas de test possible, et en utilisant le concombre comme cadre, le même Gherkin peut être automatisé et ce comportement ne nécessiterait plus d'intervention humaine . Cependant, en raison du problème dont nous avons discuté dans la section ci-dessus, l'équipe d'assurance qualité souffre généralement de l'automatisation de la même chose, mais nous pouvons exploiter la puissance des LLM en écrivant quelques invites et en créant un flux de travail permettant à nos équipes d'assurance qualité de gérer les étapes Gherkin et leur automatisation. avec une vitesse plus rapide sur le cadre du concombre.
Flux de travail pour la génération de la syntaxe Gherkin
Workflow pour générer du code compatible avec le concombre à partir de la syntaxe Gherkin
Étape 1 : Invite à être conçu
Étape 2 : Injecter le HTML pertinent qui doit être utilisé comme base pour l'automatisation.
Comme illustré ci-dessous, après un réglage fin, ChatGPT demande les étapes HTML et Gherkin pertinentes qu'il peut utiliser pour générer des définitions d'étape pour le concombre.
Étape 3 : Générer la définition de l'étape
Feature: User Login Redirect Scenario: User logs in with valid credentials Given the user is on the login page of "//news.ycombinator.com/login?goto=news" When the user enters valid credentials and presses the login button Then the user should be redirected to the "hacker news" website
Résultat final