Je travaille depuis plusieurs années dans le domaine du test logiciel. J’ai vu les différentes pratiques et méthodes émerger et se déployer au fil des années. En résumé, les grandes tendances ont d’abord été de tester en Agile puis tester dans des contextes à l’échelle. Ensuite, automatiser les tests (manuellement, en écrivant les scripts) puis avec des solutions Low code. Et la tendance actuelle est d’utiliser l’IA pour le test manuel et le test automatisé. Que cela soit pour le test dans l’Agilité, l’automatisation et l’IA, de nouvelles approches et techniques voient le jour. Et cela est encore plus vrai pour le test logiciel et l’IA. Nous en sommes qu’aux prémisses, et de belles avancées nous attendent encore dans ce domaine.
Le test logiciel : toujours au second plan ?
Comme abordé brièvement en introduction, le domaine du test logiciel est toujours en constante évolution. Mais ces évolutions suscitent-elles un engouement auprès des responsables de projets ? Malheureusement, la réponse est souvent non et le test logiciel reste toujours en retrait face aux autres priorités projets. Cela se traduit par la réduction des budgets en test et la difficulté pour les équipes d’analyse qualité (QA) à faire valoir leur métier et son importance.
Les testeurs et responsables d’équipes QA doivent constamment redoubler d’effort pour que leur métier soit reconnu au quotidien. Ils doivent lutter contre l’image du test comme activité chronophage et peu valorisée. Trop souvent, les activités de test sont réduites à la conception et l’exécution des tests. L’IA pour l’instant ne joue pas vraiment dans le camp des équipes QA et du test logiciel. Généralement, les discours concernant l’IA mettent en avant la notion de remplacement, substitution de travail des équipes QA. Mais est-ce réellement la bonne direction à adopter quand on connaît l’importance du test logiciel ?
Les équipes QA piliers des projets
Le travail des équipes QA dans le domaine du test logiciel est remarquable. En premier lieu, ils sont les véritables référents des équipes par leur compétence fonctionnelle ! La compétence fonctionnelle s’acquiert par la lecture de document de spécification. Mais elle s’acquiert aussi au travers de discussions qui ne font pas toujours l’objet d’une documentation exhaustive. Il existe donc une culture orale des projets qui n’est pas documentée. Deuxièmement, les QA sont des experts du test logiciel. Ils possèdent le recul nécessaire pour évaluer les risques et proposer les stratégies de tests les plus pertinentes. Et pour finir, ce sont des communicateurs et des facilitateurs. Ils exploitent leurs connaissances fonctionnelles et techniques pour les mettre au profit des projets et faciliter la collaboration au sein des équipes projet. Le testeur est un véritable pilier des équipes projets, ce qui le rend difficilement remplaçable par l’IA pour le test logiciel.
Le testeur ne peut pas être remplacé là où l’IA ne peut pas acquérir de connaissance.
C’est le cas pour la culture orale du projet, mais aussi pour tout ce qui relève de la connaissance approfondie du test logiciel. Les équipes QA ont le recul nécessaire pour proposer des stratégies de test adaptées aux projets, là où l’IA aura plus de difficulté à proposer une stratégie adaptée. Une autre faiblesse de L’IA, aujourd’hui, est sa tendance à halluciner. C’est-à-dire proposer une réponse alors qu’elle ne l’a pas. Ceci est vrai à l’heure actuelle et est voué à évoluer, mais il est important d’en avoir conscience avant de confier toutes ses tâches à l’IA. C’est pour ces différentes raisons qu’il est intéressant de voir l’IA sous un autre angle. La bonne voie est de connaître les faiblesses de l’IA, et d’en tirer le meilleur parti pour permettre au testeur d’exceller dans son domaine : le test logiciel.
L’IA, un atout pour le test logiciel
Ne voyons pas l’IA comme une remplaçante, mais plutôt comme une réelle assistante. Là où l’humain à ses lacunes, l’IA doit être un renfort ! Dans le domaine du test logiciel, cela se traduit par la capacité de l’IA à rechercher et à analyser de manière extrêmement efficace comparée à un humain. Par exemple, la recherche d’une information spécifique dans une spécification peut prendre plus d’une dizaine de minutes pour un humain contre quelques secondes pour une IA. Un autre exemple, n’utilisons pas l’IA pour construire automatiquement une stratégie de test. Mais, interrogeons-la sur les techniques et approches de test à utiliser en lui donnant le contexte du projet. Il en est de même pour la conception de test, qui peut être assistée par l’IA en proposant le contenu des tests, mais où la validation doit être assurée par le testeur.
Ainsi, plutôt que de rêver de remplacer les testeurs, il est plus pertinent de mettre les atouts de l’IA au service du test logiciel. Ainsi, elle aide les équipes QA dans l’accomplissement de leurs activités les plus chronophages telles que l’écriture, la maintenance et l’exécution des tests. Telle est notre conviction s’agissant de l’IA pour le test logiciel. Et c’est dans ce sens que nous développons nos fonctionnalités d’IA pour nos produits chez Smartesting. Nous intégrons l’IA dans nos produits pour aider à l’analyse des tests et la construction de modèles. L’IA fournit une analyse et c’est aux testeurs de valider et d’intégrer ces propositions. De cette manière, le testeur garde le contrôle et évite les biais actuels de l’IA. L’IA est ainsi au service du testeur pour lui faire gagner du temps au quotidien, et lui permettre de développer son rôle en tant que référent expert de test.
En savoir plus
Ce blog post ne décrit pas dans le détail l’ensemble des tenants et des aboutissants autour de l’IA, pour en savoir plus, vous pouvez télécharger notre E-book « Tester avec l’IA générative » ou pour aller plus loin vous inscrire à une session de notre formation sur le sujet.