Cet article « Tester avec l’IA générative » vous est proposé dans la suite du webinaire présenté le 27 juin 2024. Retrouvez le replay du webinaire « IA Générative pour les tests : stratégie et feuille de route, ci dessous:
Tester avec l’IA générative – Stratégie & Feuille de route réaliste
Tester avec l’IA générative
L’IA générative s’appuie sur des modèles pré-entraînés avec de grands volumes de données. Le terme utilisé pour désigner ces modèles d’IA pré-entraînés est LLM – Large Language Model – soit de grands modèles de langage en français. Mais la réalité est que le corpus des données d’entraînement du modèle n’est pas grand, mais extrêmement grand, incluant la plupart des sources de connaissances accessibles via le web. Le modèle d’apprentissage sous-jacent aux LLM, appelé “Transformer”, s’appuie sur une architecture de réseaux de neurones qui permet d’établir les connexions sémantiques entre les éléments de base constituant ces données. Cette combinaison entre données d’entraînement et capacité générative a ouvert un champ extrêmement large d’applications, renforcé par l’adaptation du modèle d’apprentissage à des données de type Image et vidéo.
Depuis la sortie de ChatGPT en novembre 2022 par OpenAI, basé sur la version GPT-3.5 de leur LLM, la disponibilité des Chatbot AI a fortement accéléré l’usage de ces technologies. En trois mois, un nombre d’utilisateurs supérieur à un million était atteint, et moins de 2 ans après, l’usage de l’IA générative s’est imposé comme une réalité quotidienne. Les dernières enquêtes montrent en France que plus de 70 % des 18-24 ans utilisent l’IA générative de façon fréquente. Et ce, en particulier pour leurs études : synthétiser des informations, générer des textes, faciliter l’apprentissage, générer du code, etc.
On a donc franchi très rapidement un palier d’adoption de cette nouvelle technologie et qui s’étend avec l’amélioration continue des LLM qui améliore les résultats et étend les usages. La sortie récente des modèles GPT-4o de OpenAI, Gemini 1.5-Pro de Google, Mistral Large de Mistral AI et Claude-3.5 de Anthropic, a démontré qu’un seuil était franchi dans la qualité des résultats obtenus avec l’IA générative, et qu’il nous appartenait de nous en saisir pour accélérer les activités de test logiciel.
Les capacités génératives des LLM actuels permettent d’assister les testeurs pour la réalisation de tâches variées, telles que :
- la génération automatique de cas de tests et de données de test, utilisant des informations telles que User Stories, critères d’acceptation, tests existants pour les compléter et même l’analyse de capture d’écran de l’application ;
- l’analyse, le refactoring et l’optimisation de suites de tests fonctionnels, en faciliter la maintenance et l’automatisation ;
- l’analyse et la synthèse de rapports d’anomalies ainsi que la corrélation avec des anomalies déjà répertoriées ;
- la génération et la correction du code de test au niveau système. Par exemple avec les frameworks d’automatisation des tests (tels que Selenium, Cypress et Playwright).
Cette liste est loin d’être exhaustive. L’analyse en détail des activités des testeurs, test managers et automaticiens de test ouvrent sur un large éventail de tâches pouvant être assistées par l’IA générative, comme le montre la figure suivante.
Tester avec l’IA générative
Tester avec l’IA générative avec succès nécessite une montée en compétence. Il faut assimiler les techniques de requêtage – appelée Prompt Engineering – qui améliore très fortement la qualité des résultats. Les techniques du prompt structuré incluant le découpage des tâches et l’ajout d’exemples vont favoriser l’obtention de bons résultats. L’IA générative est puissante, mais aussi sujette à erreurs, omissions et incohérences. On parle d’hallucinations liées au fait qu’un LLM génère du vraisemblable selon son algorithme, mais que le vraisemblable n’est pas toujours le vrai.
La formation “Accélérer vos processus de test grâce à l’IA générative” proposée par Smartesting avec ses partenaires, vise justement à acquérir les compétences nécessaires au bon usage de l’IA par la pratique. Elle permet d’apprendre à en maîtriser les risques et à connaître le potentiel des applications basées sur l’IA générative tels que le RAG – Retrieval-Augmented Generation et les agents IA.
Intégrer l’IA générative dans le processus de test
Deux modalités s’offrent à nous pour tester avec l’IA générative
- Par l’usage de chatbot IA avec requêtage direct par les testeurs pour les tâches souhaitées. Cela nécessite un chatbot IA disponible dans l’organisation. Cela permet d’expérimenter sur une grande variété de tâches, mais aussi de rebondir en mode conversationnel aux réponses de l’IA. Par exemple, pour une tâche de génération de cas de test, le testeur peut interroger le chatbot IA en intégrant des critères d’acceptation dans sa requête, et rebondir sur la réponse en demandant une amélioration du format de sortie des cas de test générés.
- Par intégration de services basés LLM dans le processus et l’outillage de test. Cette modalité est complémentaire de la précédente. Elle permet d’utiliser un service IA sans avoir à rebâtir une requête (puisque déjà fait dans le service). Avec une intégration en entrée et en sortie du service avec les autres outils. Par exemple, un service d’aide à la conception de tests permet d’extraire les classes d’équivalence des données pour les tests à partir de l’analyse des règles métier et des critères d’acceptation d’une User Story.
Le schéma ci-dessous montre les assistants IA pour la conception et l’exécution des tests qui sont actuellement développés par la R&D de Smartesting. Ils sont représentatifs de services IA à valeur ajoutée dans la chaîne outillée des tests logiciels.
Le schéma précédent montre 2 assistants IA et 1 agent IA.
Différence entre ces deux types d’applications de l’IA générative :
- un assistant va réaliser une tâche donnée, avec des données configurables par l’utilisateur. Par exemple sélectionner une user story. Et produit un résultat, par exemple des cas de test constituant une suggestion pour le testeur, qui peut en reprendre tout ou partie.
- Un agent est une application basée sur l’IA générative qui est dotée de capacités d’action et de raisonnement. Par exemple, l’agent testeur virtuel de Smartesting exécute des cas de test manuels à partir d’un raisonnement réalisé par le LLM. Ce dernier détermine comment réaliser l’étape de test en cours et comment vérifier le résultat attendu.
Sur ces trois composants IA, l’assistant d’optimisation des suites de test est déjà en phase betatesting. Si une expérimentation vous intéresse, contactez-nous ICI.
En conclusion, les équipes doivent considérer les deux modalités précédentes :
- pouvoir réaliser des tâches directement en mode chatbot IA
- intégrer des services IA dans le flot des activités outillées de test comme proposé par Yest.
Stratégie et feuille de route réaliste de l’IA générative pour les tests
L’IA générative a débarqué dans nos vies professionnelles de testeur sans que nous y soyons formés et avec une rapidité stupéfiante. Rappelez-vous, avant novembre 2022, le sujet était totalement en dessous des radars, même si l’IA en général était évoquée.
Aujourd’hui, la compréhension qu’une rupture technologique pour les activités de test est là et s’est imposeé. Il y a de nombreuses évidences montrant que cette rupture sera beaucoup plus forte et rapide que celle de l’automatisation scriptée des tests. (Pratique qui reste imparfaite, compliquée et très coûteuse.)
Le schéma ci-dessous montre les trois grandes phases de l’intégration de l’IA générative dans les processus de test. Soyons clair : la plupart des organisations en sont à la Phase 1. Les plus avancées ont abordé avec conviction la Phase 2.
Source : ©Smartesting – 2024
Phase de découverte
Phase de découverte : il s’agit d’expérimenter pour monter en compétence et se préparer à une exploitation réussie de l’IA générative. Les technologies de l’IA générative font évoluer nos manières de tester, et cela s’apprend. C’est d’ailleurs dans ce sens que nous avons structuré la formation “Accélérer vos processus de test grâce à l’IA générative”. Avec les ⅔ de pratique, sur une diversité de cas d’usage de test, de techniques de prompting. Avec un accès aux LLM commerciaux et open-source les plus utiles pour nos activités de test.
Sans cette compétence pratique de « Tester avec l’IA générative », il n’y aura pas les gains de productivité souhaités. La pierre angulaire de cette phase 1 est bien la formation et la pratique. Cela suppose aussi les moyens d’accès au LLM, une compréhension des risques, en particulier de fuite de vos données d’entreprise, et de réelle maîtrise des techniques de prompting. Faut-il des compétences externes ? Non, c’est l’équipe de test qui va monter en compétences, car l’objectif est bien l’appropriation collective des technologies et leur intégration dans le travail quotidien des testeurs. La montée en compétence des équipes va permettre une appropriation plus facile des services à base d’IA proposés par les éditeurs. Cette compétence sera au service de leur évaluation pour vérifier si le ROI est effectivement obtenu. Effectivement, l’engouement pour l’IA générative génère des discours marketing qu’il est bon de déconstruire.
Le risque de la phase de découverte est d’y rester ! Découvrir : c’est bien, monter en compétence : c’est nécessaire. Mais à un moment donné il faut exploiter ces technologies pour avoir un impact réel. Cela implique d’arrêter de “bidouiller” pour reprendre le titre d’un article de la revue Harvard Business Review – France qui consacre un numéro spécial mai-juin 2024 à l’IA générative dans l’entreprise.1
Phase d’initialisation et de cadrage
Cette phase implique de faire des choix, de prioriser des cas d’usage et de construire un plan d’actions. Bref d’avoir une stratégie IA générative pour les tests. Le schéma suivant donne les 5 grands piliers de cette stratégie qui devra être alignée avec vos objectifs de progrès en matière d’ingénierie de la qualité du logiciel.
Vous pouvez visionner notre webinaire ici pour obtenir plus de détails sur chacun de ces piliers. La bonne pratique dans un domaine qui progresse aussi rapidement que celui de l’IA générative est d’avoir une approche par priorisation / retour d’expérience / partage et extension en ayant le souci d’associer l’ensemble des membres de l’équipe pour obtenir un effet tangible sur la productivité.
Contactez-nous pour avoir une démonstration des services IA que nous construisons en lien avec nos deux produits Yest et Gravity.
Réponses à vos questions lors du webinaire du 27 juin 2024
Vos questions sont classées par thématique. Nous présentons chaque question puis la réponse réalisée.
Sujet : Comment mettre en pratique correctement l’IA générative pour les tests
Question : vous avez parlé de différents modules (par exemple le module vision). Avez-vous un exemple de service qui le propose ? Et peut-on faire travailler ensemble / plugger plusieurs outils entre eux ?
Réponse : le module vision des LLM correspond à l’évolution vers le multi-modal. C’est à dire la capacité des modèles d’IA générative à traiter le texte et l’image en entrée des requêtes de l’utilisateur. Les principaux modèles récents tels que GPT-4o de OpenAI, Claude-3.5 de Anthropic et Gemini-1.5 de Google le proposent. Mais les LLM avec licence open-source sont en passe d’intégrer aussi ce module vision. Ces modèles permettent des requêtes qui traite ensemble le texte (par exemple en fournissant des critères d’acceptation) et les images (par exemple en fournissant des captures d’écran).
Question : avez-vous essayé Playwright couplé à ChatGPT ?
Réponse : Oui. Au sein de notre Labo IA à Sartesting, nous réalisons une veille active de l’automatisation assistée par l’IA. Le couplage Playwright avec ChatGPT rentre dans ce cadre. Nous partageons des résultats des expériences menées lors des sessions de notre formation IA.
Question : existe-t-il des bases de données qui peuvent être utilisées pour entraîner des modèles de langage (LLM) à générer des cas de test par exemple ?
Réponse : non, pas à notre connaissance.
Question : Est-ce viable d’internaliser un LLM pour l’utiliser ?
Réponse : si “internaliser” veut dire “fine-tuner un LLM sous licence open-source tel que Mistral 7B pour une tâche dédiée, et l’opérer sur un cloud privé”, la réponse est oui. C’est ce que nous faisons avec succès chez Smartesting, au sein de notre Labo IA.
Question : Pensez-vous qu’il faille mieux utiliser l’IA générative via les Chatbots type ChatGPT ou bien intégrés aux outils de test ?
Réponse : Les deux modes d’usage sont utilisés par une équipe de test. Par exemple, pour découvrir les apports de l’IA générative dans le contexte précis d’une équipe de test, il est nécessaire de pratiquer directement en mode Chatbot IA. Pour réaliser des traitements basés sur l’IA générative dans le processus de test, il est pertinent d’intégrer ce service dans les outils de test.
Question : Est-ce qu’utiliser les LLM avec licence open-source est réaliste pour vous sur les activités de test ?
Réponse : cela dépend de la tâche à réaliser avec l’IA. Pour certaines tâches, la réponse est oui, et c’est ce que nous faisons à Smartesting. Pour d’autres tâches, la réponse est “actuellement non”, et c’est aussi ce que nous pratiquons à Smartesting. Donc à évaluer spécifiquement sur les tâches à réaliser avec l’IA.
Question : Quels devraient être les cas d’usage prioritaires ?
Réponse : ceux qui vous apporteront le meilleur retour sur investissement. Il n’y a pas de réponse universelle, et il appartient à chaque organisation de réaliser une montée en compétence suffisante pour évaluer cela.
Sujet : Questions sur la formation à l’IA générative pour les tests proposer par Smartesting
Question : Pour ces ateliers de votre formation, vous créez vos exercices ou c’est pour résoudre des problèmes qui seraient rencontrés par les participants ?
Réponse : La formation propose 8 ateliers, traitant différents cas d’usage et modalités de l’IA pour les tests, pour mettre les participants en situation. Chaque atelier est construit à partir d’une situation et des données concrètes d’un projet de test.
Question : La formation que vous proposez traite-t-elle des stratégies d’implémentation de l’IA générative dans nos organisations ?
Réponse : oui, nous abordons ce sujet dans la section 5 de la formation.
Sujet : Les risques de l’IA générative
Question : Comment gère-t-on la non-réplicabilité des résultats donnés par l’IA générative
Réponse : cette non-réplicabilité est constitutive des LLM actuels. On la gère en évaluant de façon manuelle ou automatique les résultats des requêtes sur un LLM. C’est un point que nous traitons en pratique dans la formation que nous proposons.
Sujet : Autres
Question : Comment pouvez-vous nous aider à avancer sur ce terrain de l’IA pour le test
Réponse : De deux façons principales :
- au travers de la formation “Accélérer vos processus de test grâce à l’IA générative” qui peut être particularisée à vos besoins spécifiques si vous le souhaitez
- au travers de pilote que Smartesting vous propose des outils de test Yest (conception des tests) et Gravity (Quality Intelligence) qui intègrent chacun des services à base d’IA
Question : des exemples ou des noms d’outils d’agent IA testeur ?
Réponse : Nous pouvons vous donner deux liens : celui du Lab IA de Apple sur les tests d’accessibilité : https://machinelearning.apple.com/research/axnav
et celui du Labo IA de Smartesting sur l’exécution des tests manuels : https://cftl.fr/wp-content/uploads/2024/06/10h40-MOEBIUS-JFTL-2024-Agents-IA-pour-les-tests-logiciels-seront-ils-avec-ou-contre-nous-2.pdf
Voila pour cet article « Tester avec l’IA générative » qui passe en revue vos questions posées durant le webinaire. N’hésitez pas à partager cet article à vos collègues!
À très bientôt