Retour aux actualités
Actualité AI Yest Yest®

Optimiser la conception des tests avec l’IA : bonne ou mauvaise idée ?

25.11.24
Conception des tests avec l’IA

L’IA est présente dans la plupart des activités de test, de la conception à l’exécution des tests. La phase de conception de test avec l’IA concerne principalement à la génération automatique de scénario de test en se basant sur des spécifications. Dans ce post, nous nous interrogeons sur la pertinence de l’IA dans la phase de conception des tests.

L’importance de la conception des tests

On oublie, voire sous-valorise la conception des tests. Pourtant, si nous prenons l’exemple des indicateurs clés performance (KPI) du test logiciel le nombre d’indicateurs concernant la conception de test n’est pas négligeable. Nombre d’exigences couvertes par les tests, nombre de tests (conçu et revu), le temps passé, etc. Sans compter les KPIs qui dépendent de la phase de conception, de test : temps d’exécution, défaut trouvé, accepté, refusé. En effet, ces indicateurs dépendent directement de la qualité des tests. Des tests peu uniformes augmentent le temps d’exécution. Quand ils sont peu détaillés, ils ne permettent pas de trouver les défauts.  Et des tests couvrant de manière erronée les exigences auront un taux de rejet (en cas de défauts) plus élevé.

Toutes ces raisons conduisent donc à s’interroger : si la conception test est si importante n’existe pas un risque à la confier exclusivement à une IA ?

Confier la conception des tests à une IA

Une tendance des outils de test logiciel et de proposer une génération automatique des scénarios de test à partir des spécifications. L’idée est alléchante quand on voit le temps qui peut être nécessaire pour la conception des tests. La conception des tests est chronophage, car elle nécessite d’analyser les spécifications pour en faire une traduction en termes de test. Cette analyse est longue pour un humain et très rapide pour une IA. En quelques secondes l’IA peut parcourir tout un corpus de spécifications pour ensuite proposer des scénarios de test. Il existe cependant quelques points de vigilance à prendre en compte avant d’envisager cette solution.

La qualité des tests générés par une IA dépend directement de la qualité des entrants fonctionnels. Qu’en est-il quand les spécifications sont de qualité variable ou obsolète ? Dans ces situations, un testeur fera un message à un représentant métier pour obtenir des éclaircissements. Une IA, elle, cherchera à produire une réponse “quoi qu’il en coûte ». Aujourd’hui, les IA “hallucinent”, c’est-à-dire qu’elles proposent une réponse alors qu’elles ne l’ont pas. Ceci est vrai à l’heure actuelle et est voué à évoluer, mais il est important d’en avoir conscience avant de confier pleinement la phase de conception des tests à une IA. Vous devez donc valider ce que l’IA a produit, et c’est là que réside toute la difficulté. Comment valider que les tests produits par l’IA sont pertinents ? 

Il ne faut alors pas sous-estimer le temps nécessaire pour vérifier les éléments produits par l’intelligence artificielle. S’il est nécessaire de valider étape par étape les tests générés par une IA, le gain que vous obtiendrez sur la phase de conception de test est fortement diminué. Alors, voyons plutôt comment travailler conjointement avec l’IA pour produire rapidement des tests de qualité.

La conception de test une responsabilité des testeurs

Nous ne sommes pas partisans de confier totalement la génération des scénarios de test à une IA. C’est pourquoi chez Smartesting, nous travaillons sur des services d’IA adaptés à la réalité des projets. Notre priorité est que les testeurs gardent toujours le contrôle sur ce que l’IA produit. Ce contrôle commence sur les tests existants. Car, avant de repartir de la feuille blanche pour générer de nouveaux tests, il convient de s’interroger sur l’existant. L’optimisation des tests legacy n’est pas à négliger, car ils représentent le cœur des tests du projet.

Chez Smartesting, nous proposons des solutions pour optimiser les tests existants à base d’IA. Nous avons développé une fonctionnalité d’uniformisation des tests dans notre produit Yest. Elle a pour objectif d’analyser les tests et leurs étapes pour proposer des groupes d’étapes pertinentes pour l’uniformisation. De bons candidats sont des étapes de test proche syntaxiquement et/ou sémantiquement. L’idée est de les fusionner afin d’obtenir des étapes de test plus uniformes. Dans le processus d’uniformisation, L’IA intervient sur la phase d’analyse des groupes. Comme nous savons que les groupes proposés par l’IA peuvent être erronés, nous permettons au testeur de gérer les éléments des groupes proposés par l’IA. Ainsi le testeur a le contrôle total sur l’uniformisation de ses tests.   

L’intérêt d’uniformiser les tests est de consolider le référentiel de test existant. En uniformisant les tests, vous réduisez vos coûts de maintenance et d’exécution. La maintenance est facilitée, car Yest permet la modification en masse des étapes de test. L’exécution est accélérée, car des tests uniformes sont plus rapides à exécuter que des tests hétéroclites. En uniformisant les tests existants, vous partez d’une base solide pour entamer une nouvelle phase de conception des tests. Et en bonus, vous ouvrez les portes vers la conception visuelle des tests.

Yest bénéfices

L’IA votre allié pour la conception visuelle des tests

Par conception visuelle, nous voulons dire Model-Based Testing (MBT). En quelques mots, utiliser des modèles pour générer des scénarios de test. Un des bénéfices de cette technique est la production de tests uniformes. Dans un contexte de reprise de tests existants, c’est aussi un prérequis. Car pour produire un modèle de qualité, à partir de tests existants, ceux-ci doivent être uniformes. Sans cela, le modèle ne sera pas lisible, car il comporte de nombreux blocs décrivant la même chose. Vous perdez donc un autre bénéfice du MBT qui est d’avoir une documentation visuelle des tests à travers le modèle.

Nous proposons de ce fait dans notre produit Yest (en complément de l’uniformisation des tests), de générer automatiquement des modèles. Les scénarios de test existants, après avoir été uniformisés, sont le point d’entrée pour la génération de ces modèles. Nous utilisons les mêmes mécanismes d’IA que pour l’uniformisation des tests, mais au service de la génération de modèles. L’objectif est que ces modèles deviennent la base pour la conception et la maintenance des tests. Avec Yest, nos clients observent un gain de 40 % sur la phase de conception des tests.

Chez Smartesting, nous disposons d’une véritable expertise IA grâce à notre laboratoire dédié. Nous sommes conscients de la valeur de nos produits et des gains qu’ils peuvent vous apporter. Avec ou sans IA. Pour ces raisons, nous ne travaillons pas sur l’intégration systématique d’IA dans nos produits. Notre laboratoire étudie et expérimente quotidiennement les nouvelles techniques dans ce domaine. Nous intégrons donc l’IA dans nos produits uniquement lorsqu’elle apporte une réelle plus-value et rend un service concret à nos utilisateurs.

Restez à l'affut des nouveautés

Yest 4.0

Yest 4.0 avec l’IA : une révolution pour vos tests

Actualité Yest Yest®

Nous sommes ravis d’annoncer la sortie de Yest 4.0 qui intègre de l’IA, une mise à jour majeure qui apporte…

L'IA et le test logiciel

L’IA et le test logiciel

AI Testing Smartesting

Je travaille depuis plusieurs années dans le domaine du test logiciel. J’ai vu les différentes pratiques et méthodes émerger et…

Tester avec l’IA générative

Tester avec l’IA générative : Le Guide Ultime (E-book)

AI Smartesting

Tester avec l’IA générative : Comment se lancer vraiment est la grande question du moment pour les organisations de test.Car,…