Cela n’a échappé à personne : l’IA et particulièrement l’IA générative est arrivée dans notre domaine des tests logiciels : dans la communication mais aussi dans les plans stratégiques de nos entreprises.
Comment utiliser l’IA générative pour accélérer nos activités de test ?
Pourquoi cet engouement ? Est-ce une nouvelle illusion technologique ? Est-ce un feu de paille ?
Il est bien sûr difficile de répondre à ces questions de façon définitive aujourd’hui. Mais force est de constater que les grands modèles d’IA générative, qu’ils soient commerciaux ou utilisables en licence open-source, obtiennent d’ores et déjà des résultats impressionnants sur des tâches de test.
Vous allez peut-être me dire que les résultats avec une IA générative, par exemple en conception de tests ou écriture du code d’automatisation, sont loin d’être parfaits. Mais n’est-ce pas aussi le cas pour nous, humains ? L’IA générative peut être approximative, incomplète ou peu précise. Mais elle peut parfois être excellente et proposer une réalisation complète de la tâche, comme nous donc !
La synergie Humain et IA générative pour les tâches de test
La figure suivante est extraite d’un article de Janvier 2024. « ChatGPT and Human Synergy in Black-Box Testing : A Comparative Analysis ». Par les chercheurs de NTT au Japon.
Cet article, explore les capacités de GPT-4 à générer des cas de test en boîte noire par rapport aux testeurs humains. L’expérience réalisée met en parallèle la conception des cas de test en mode boîte noire pour trois applications, d’une part par ChatGPT, d’autre part par quatre testeurs humains.
Le graphique montre clairement que :
- L’IA surpasse parfois les humains (en moyenne de la couverture obtenue)
- L’IA est parfois sujette à erreur et confusion
- Mais, encore plus important, la couverture combinée Humain & IA permet d’atteindre un excellent score sur chacune des trois applications testées (> 90% de couverture).
Cette expérience est bien sûr limitée, ces trois applications sont un faible échantillon et cela demanderait à être reproduit. Mais n’est-ce pas une indication claire du chemin à prendre ? « intégrer les IA comme nos assistants de test en conservant notre responsabilité ?« . L’IA nous assiste au quotidien, mais nous sommes les sachants et décideurs. Nous assurons la bonne réalisation de la tâche de test qui nous est confiée.
Maîtriser l’usage de l’IA générative pour les tests : il est urgent de se former
L’arrivée à maturité de l’IA générative et sa disponibilité pour accélérer les tâches de test, ouvrent de nouvelles perspectives. Cependant des défis et problématiques sont à considérer.
Le premier est d’en maîtriser l’usage, de définir les bonnes pratiques et de l’intégrer de façon optimisée. Pour cela, une seule réponse : il faut se former. (Chacun de nous et que les organisations forment les équipes de test collectivement.)
Comment imaginer pouvoir maîtriser cette technique sans acquérir les connaissances et nouvelles compétences que vont impliquer son usage. Cela signifie en particulier :
- De connaître, par la pratique, les techniques d’utilisation de l’IA générative (requêtage, raisonnement, évaluation des résultats) pour les tests et d’acquérir cette nouvelle compétence ;
- De connaître, en pratique, les risques et l’IA générative appliquée aux tests. Par exemple, les erreurs typiques de l’IA, les données de consommation d’énergie et les biais possibles dans les résultats, et de savoir se prémunir autant que possible de ces risques ;
- De maîtriser l’intégration des applications de l’IA générative dans les processus de test pour en obtenir les résultats attendus.
Se former à l’IA générative pour les tests : mettre la pratique en avant
Smartesting propose une formation de 2 jours (14 heures) intitulée “Accélérer les processus de test grâce à l’IA générative”.
Cette formation met en avant l’apprentissage par la pratique, avec 1/3 de cours et 2/3 de pratiques. Cette pratique inclut 8 ateliers sur des cas d’usage liés aux tests logiciels.
La formation est disponible en distanciel et en présentiel, et est proposée en français, anglais, et allemand.
Les participants apprennent les bases de l’IA générative appliquée aux tests logiciels. L’accent est mis sur les techniques de « Prompt Engineering ». L’objectif est d’accélérer les activités d’analyse, de conception, d’optimisation, d’automatisation et de maintenance des tests logiciels.
La formation aborde également la gestion des risques associés à l’utilisation de l’IA, y compris les hallucinations, les erreurs, les biais, les risques de cybersécurité, et l’impact environnemental. Des ateliers pratiques sont intégrés pour renforcer l’apprentissage. La prise en main de portails LLM, la conception et l’amélioration de cas de test, et l’analyse des rapports d’anomalie en font partie.
Enfin, la formation est soutenue par le Lab IA de Smartesting.La mise à jour continue sur les dernières technologies et pratiques est donc garantie. Les plateformes IA utilisées incluent GPT-4, Mistral, LLama 3, et Claude-3, assurant une diversité et une pertinence technologique.
En conclusion. Bonne nouvelle ou mauvaise nouvelle ?
Cela dépend en partie de nous. Comme toute innovation, nous avons des marges de manœuvre pour ne pas la subir, mais au contraire pour en bénéficier. L’un des leviers est celui de la compétence technique, méthodologique ou organisationnelle sur l’IA générative pour les tests logiciels.
En développant nos compétences pour une intégration efficiente de l’IA générative et consciente des risques associés, nous favoriserons une maîtrise graduelle au service des équipes et des individus. Cette approche proactive de l’IA générative est certainement préférable à une position de crainte, de refus irréaliste et finalement d’un manque de maîtrise de la transformation qui arrive dans notre métier des tests logiciels.