Logo Parasoft

WEBINAIRE

Surveillez les lacunes dans les tests basés sur l'IA et ce qui est encore manuel

Les tests assistés par l'IA se développent, mais les tests manuels suivent une trajectoire différente. De la rédaction et de la répétition des tests à la vérification des résultats de l'IA et au rôle d'orchestrateur, le rôle du testeur évolue. Comment savoir ce qui doit rester manuel et où utiliser l'IA de manière fiable pour vous aider aujourd'hui ?

Rejoignez Nathan Jakubiak de Parasoft et l'orateur invité, Diego Lo Giudice de Forrester Research, pour une discussion au coin du feu sur les tendances du marché, notamment pourquoi le « codage d'ambiance » nécessite des « tests d'ambiance » et le rôle évolutif de l'assurance qualité dans un cycle de vie de développement logiciel piloté par l'IA (SDLC).

 

À retenir

  • L’IA transforme la création, l’exécution et la maintenance des tests, mais il est essentiel de comprendre ses limites.
  • Les rôles des testeurs manuels évoluent vers des fonctions plus stratégiques et de surveillance.
  • Les organisations sont confrontées à des défis dans l’adoption de l’IA, notamment en matière de perfectionnement des équipes et de compréhension des nouvelles technologies.
  • L’intégration efficace de l’IA nécessite l’apprentissage de nouvelles compétences telles que l’ingénierie rapide et la compréhension des capacités de l’IA.
  • La pile technologique idéale pour le développement augmenté par l’IA comprend des outils qui prennent en charge l’IA à tous les niveaux de test.

Le rôle durable des tests manuels

Malgré les progrès de l'IA, les données montrent que les tests manuels sont loin d'être obsolètes. En réalité, une part importante des tests est encore réalisée manuellement. Une enquête récente indique qu'entre 20 % et 23.6 % de l'automatisation est réalisée en moyenne, et qu'un pourcentage important de développeurs effectuent encore des tests manuels, parfois ou systématiquement. Cela met en évidence un écart entre l'idéal d'une automatisation complète et la réalité actuelle.

Le rôle des testeurs évolue. À court terme, ils passeront probablement de l'écriture de scripts d'automatisation à la révision et à l'affinage des tests générés par l'IA. Ce processus est similaire à celui des développeurs utilisant des générateurs de code : l'IA crée le code, mais un humain le révise et l'ajuste. Les testeurs devront également comprendre les capacités et les limites des outils d'IA, et apprendre à fournir le contexte approprié pour que l'IA génère de meilleurs cas de test. Cela implique de comprendre des concepts tels que les plongements vectoriels et la génération augmentée de récupération (RAG).

À mesure que l'IA mûrit, les testeurs pourraient évoluer vers un rôle plus orchestral, gérant différents agents IA chargés de diverses tâches de test. L'élément humain essentiel, que l'IA ne peut remplacer, est la capacité à déterminer si le niveau de qualité actuel est suffisant pour répondre aux besoins métier. Cela implique de comprendre l'apparence de l'application, l'expérience utilisateur et son intuitivité globale – des aspects qui vont au-delà de la simple validation fonctionnelle.

Défis liés à l'adoption de l'IA pour les tests

Intégration de l'IA dans les flux de travail de test L'adoption n'est pas sans obstacles. L'un des principaux défis réside dans la capacité à surmonter la peur du licenciement et à encourager les équipes à adopter les outils d'IA. Cela nécessite une importante mise à niveau. Les testeurs doivent se familiariser avec les concepts de l'IA, les grands modèles de langage (LLM) et apprendre à les utiliser efficacement.

Le rythme rapide de l'innovation en IA représente également un défi. De nouveaux modèles, capacités multimodales et agents apparaissent constamment, ce qui complique la tâche des organisations. Comprendre l'impact de chaque nouveau développement sur les tests et comment l'appliquer efficacement est un travail permanent.

Les organisations doivent évaluer les capacités d'IA offertes par leurs outils et fournisseurs actuels. Une question clé est : que peut-elle apporter ? Outil alimenté par l'IA Qu'est-ce qu'un outil standard ne pouvait pas faire il y a un an ? Cela permet de comprendre les avantages réels et le retour sur investissement de l'adoption de l'IA. Sans formation et compréhension adéquates des outils, l'adoption peut être lente et inefficace.

Construire la pile technologique idéale augmentée par l'IA

Pour définir la pile technologique idéale pour un cycle de développement logiciel augmenté par l'IA, il est utile de considérer la pyramide des tests. Ce modèle comprend généralement les tests unitaires à la base, suivis des tests d'intégration (API), puis des tests fonctionnels et d'interface utilisateur au sommet. L'analyse statique est souvent incluse à la base.

L’IA peut être appliquée à tous ces niveaux :

  • Analyse statique: L'IA peut aider à trier et même à résoudre automatiquement les problèmes détectés lors de l'analyse statique, réduisant ainsi l’effort manuel requis pour la correction.
  • Test unitaire L'IA peut aider les développeurs en générant des tests unitaires, y compris l'identification des cas limites et des cas particuliers, rendant les tests plus approfondis et permettant de gagner du temps de développement.
  • Tests API, fonctionnels et d'interface utilisateur : L'IA permet de décrire les cas de test en langage naturel, s'éloignant ainsi des spécifications hautement techniques. Les outils peuvent interpréter ces descriptions et exécuter les tests. Le concept de tests auto-réparateurs pourrait également évoluer, l'IA gérant de manière préventive les problèmes potentiels.
  • Test manuel : L’IA peut optimiser la sélection des tests grâce à des techniques telles que analyse d'impact de test, aidant les testeurs à se concentrer sur les tests les plus pertinents en cas de modifications. Cela s'applique également à l'optimisation des tests à exécuter après des modifications de code.

Au-delà de ces applications spécifiques, on observe une tendance croissante aux « tests d'ambiance », où les testeurs travaillent en étroite collaboration avec les agents d'IA de manière plus conversationnelle et itérative. Cela nécessite une solide compréhension des modèles d'IA sous-jacents et la capacité à fournir du contexte, par exemple via des jardins de modèles permettant de choisir des LLM spécifiques ou d'intégrer des bases de connaissances et des bases de données vectorielles existantes.

De nouvelles compétences pour les testeurs à l'ère de l'IA

Pour rester pertinents, les testeurs et les professionnels de l'assurance qualité doivent développer de nouvelles compétences. L'ingénierie des réponses rapides est primordiale : apprendre à communiquer efficacement avec l'IA pour obtenir les résultats souhaités. Cela implique de comprendre comment poser des questions, itérer sur les réponses rapides et traiter les interactions avec l'IA comme une conversation avec un expert.

Cependant, les compétences traditionnelles en matière de tests restent importantes. Savoir ce qui constitue une bonne qualité, savoir rédiger des cas de test efficaces et comprendre la couverture métier et technique restent essentiels. Ces compétences fondamentales éclairent les invites créées par les testeurs et les aident à évaluer les résultats de l'IA.

Certains testeurs devront approfondir leurs connaissances techniques de l'IA, notamment le fonctionnement des LLM. D'autres se concentreront davantage sur l'aspect « codage d'ambiance », en se concentrant sur la compréhension métier et la création de leads. L'essentiel est de comprendre le fonctionnement des outils d'IA, leurs limites et de déterminer comment les utiliser pour améliorer l'efficacité, qu'il s'agisse de générer des cas de test, de trier les échecs ou de créer des données de test.

En fin de compte, les testeurs devraient aspirer à devenir les moteurs de ces outils d'IA, plutôt que d'être remplacés par eux. En comprenant le potentiel de l'IA et comment l'exploiter au mieux, les testeurs peuvent dynamiser leur carrière et garder une longueur d'avance technologique.

Conseils pour l'adoption de l'IA

Pour les organisations souhaitant intégrer l'IA à leurs processus de test, commencer petit est souvent la meilleure approche. Élaborez un plan clair pour exploiter l'IA et commencez avec une petite équipe. Cela permet d'expérimenter et d'apprendre sans surcharger l'ensemble de l'organisation.

Lorsque vous évaluez le retour sur investissement, ne vous perdez pas dans de longues analyses de rentabilité. Parfois, le bénéfice est évident. Par exemple, si un outil d'IA permet de gagner ne serait-ce qu'une minute par jour et par développeur, les économies réalisées justifient rapidement l'investissement. L'essentiel est de mettre les outils à la disposition des utilisateurs et de leur permettre de les expérimenter.

Il est crucial de prendre en compte la protection de la propriété intellectuelle et la confidentialité des données, notamment lors de l'utilisation de services d'IA basés sur le cloud. Assurez-vous que la propriété intellectuelle de votre entreprise est sécurisée et que les politiques des fournisseurs interdisent le réentraînement des modèles avec vos données sensibles.

Encouragez l'expérimentation et l'apprentissage continu. Partagez vos connaissances et vos expériences entre vos équipes pour éviter de répéter les erreurs et accélérer l'adoption. Créer des communautés internes autour de l'IA peut favoriser la collaboration et promouvoir ses avantages. Priorisez l'adoption de l'IA, restez informé(e) des tendances du secteur et encouragez vos équipes à explorer comment l'IA peut moderniser leurs pratiques de test.