L'IA, UN OUTIL D'AIDE À LA DÉCISION - INTERVIEW DE MARC HAGE CHAHINE
Depuis quelques années, les innovations en matière d'apprentissage automatique et d'intelligence artificielle contribuent à faire évoluer de nombreux secteurs d'activités. Le monde du test en fait partie. Mais comment l'IA peut-elle s'inscrire dans l'automatisation des tests ? Comment peut-elle aider les équipes métiers à mieux appréhender ce domaine ? Quels sont ses gains, ses risques et ses limites ? Découvrez la réponse à ces questions dans notre interview de Marc Hage Chahine.
Expert méthodes et outils chez Sogeti, Marc Hage Chahine a toujours travaillé dans le test et souhaité partager ses expériences. Il a la chance de pouvoir le faire dans son travail quotidien, mais aussi à travers l’écriture d’articles sur le blog de la Taverne du testeur ou des magazines comme Programmez!. Marc Hage Chahine a également le plaisir de participer à l’organisation de grands événements du test comme la STLS (à Sophia Antipolis) et la JFTL.
L’automatisation des tests est un marché en pleine évolution. D’après les dernières estimations de Research and Markets (2021)*, ses revenus pourraient atteindre les 49 milliards de dollars en 2026. À votre avis, quel avenir peut-on attendre pour l’automatisation des tests ?
L’automatisation des tests est censée être le futur proche depuis plus de vingt ans. On n’arrête pas d’en parler comme un remplacement du test manuel. Mais on voit bien que ça ne remplace pas le test manuel et que ça ne le remplacera pas, mais aussi que son implémentation est complexe. Si on regarde les dernières enquêtes du CFTL, l’automatisation des tests n’avance pas sur les deux dernières années, alors qu’on est dans des contextes agiles où l’automatisation est toujours plus nécessaire.
Pourquoi ça n’avance pas ?
Pendant longtemps, l’automatisation est restée très technique, avec du code, du développement. Mais depuis un certain nombre d’années, on commence à voir des outils sans code ou sans script, qui ont émergé avec le Keyword Driven Testing* dont le principal représentant est Robot Framework®. C’est la génération zéro du test pour les non-techniques. On a Gherkin® qui va faire de l’automatisation sur le même principe. On a d’autres outils qui commencent à être de plus en plus matures, plus accessibles et fonctionnels. Mais même s’ils sont accessibles, cela reste des outils assez techniques et pensés à partir du code, du script.
Depuis, de nouveaux outils sont en train de sortir : Keysight® avec Eggplant, Tosca® de Tricentis ou la dernière version d’UFT®, où ils essaient d’ajouter de l’IA, des blocs, des modules, pour que les gens puissent les utiliser plus facilement. Il y a aussi beaucoup de reconnaissance d’images, ce qui permet d’être agnostique au code et d’avoir un seul script pour faire tourner son test sur différents téléphones (iOS, Android), sur des tablettes, des PC voire même de l’embarqué. La prochaine évolution sera l’IA. On voit des émergences avec des outils comme Gravity®, de Smartesting, qui va analyser les logs pour proposer des parcours et les automatiser.
Attention, ce n’est pas parce qu’il y a tous ces outils qu’ils vont tous être utilisés. Il y a des barrières de prix, est-ce qu’il faut faire cet investissement ou pas. Il faut aussi que les équipes qui sont en charge du développement des produits aient la bonne politique, la bonne stratégie au niveau des tests et savoir gérer la qualité. Il ne faut pas l’oublier : pour avoir des bons tests automatisés, il faut avant tout avoir des bons tests. Cette nécessité de l’automatisation doit se faire ressentir par les équipes, l’automatisation qui ne doit pas reposer uniquement sur le testeur.
En parlant de l’IA, comment la voyez-vous s’inscrire dans l’automatisation des tests ?
Pour moi, l’IA est là pour faciliter la décision, les actions. Ce n’est rien de plus que de l’automatisation plus poussée que juste de l’automatisation de l'exécution. Cela doit aider à faire des choix, mais l’IA ne fera pas tout. Il faut des données, des informations et donc il faut des personnes derrière. Avec l’IA, on arrive à battre des champions de go ou d’échecs, mais l’IA des échecs ne va pas battre un champion de go. Elle est très spécifique et c’est donc sur un cas spécifique qu’elle sera plus performante que nous et nous permettra d’avancer. Il y a beaucoup de cas d’utilisation avec l’IA, notamment sur la priorisation des tests, qui va déboucher sur de la sélection. Par exemple, on a 500 tests de régression, lesquels faut-il faire en premier pour trouver le plus de bugs ? Mais au final on va pouvoir n’en faire que 400 ou 450, donc il faut déterminer lesquels on ne va pas faire.
Quels gains peut apporter l’IA à l’automatisation des tests ?
L’IA peut aider sur plusieurs points : elle peut aider sur l’analyse, notamment des tests en échec, elle peut aider sur les cas d’utilisation mis en avant par les éditeurs, qui sont en échec, pourquoi, et même les faire refonctionner et corriger les scripts directement. L'IA va aussi aider sur la maintenance et l’entretien en permettant de mieux gérer le répertoire de tests. Par exemple, si des tests sont en doublons, l’IA va nous dire qu’il faudrait penser à les supprimer car ils n’ont pas d’intérêt, ou bien elle va nous dire de retravailler les données de certains tests, etc. Et l’IA va aussi aider à la construction : on dit ce qu’on veut faire et le script se fait derrière, c’est d’ailleurs ce que font déjà les outils sans script.
La seule vraie limite de l’IA ça va être ce que nous, on imagine en faire. Les autres limites vont être les coûts d’implémentation et également l’intérêt de le faire, car ce n’est pas parce qu’on a imaginé faire quelque chose que c’est vraiment intéressant. Par exemple, les voitures volantes, ça fait 50 ans qu’on les imagine et qu’on pourrait très bien les faire mais au final ça ne sert à rien, ça n’apporte pas de plus-value et ça consomme trop d’énergie. Il faut qu’il y ait un besoin.
Selon vous, quels peuvent être les risques de l’IA au niveau de l’automatisation des tests et du métier de testeur ?
Il y a énormément de risques avec l’IA. Le premier est un biais lié à une confiance excessive : si l’IA le dit, l’IA a raison donc je fais ce que l’IA dit. C’est souvent lié au fait qu’on n’a pas le temps. L’IA devrait être un outil d’aide à la décision, mais l'IA ne devrait pas prendre la décision. Si on n’a pas le temps de réfléchir, de voir les indicateurs, de voir les données, on n’est plus sur de l’aide à la décision, on est sur de la prise de décision. Et c’est ça le vrai risque avec l’IA, sachant que l’IA n’est pas parfaite. Elle vit sur des données, des données qui, même si elles sont mises à jour, pertinentes et représentatives, peuvent changer du jour au lendemain. Prenons un exemple très actuel, les sondages des élections présidentielles : Macron était à 20/25 % dans les sondages, puis il y a une nouvelle donnée, la guerre en Ukraine, et il passe à 30/35, puis il y a une nouvelle donnée, les cabinets de conseils, et il repasse à 25 %. La vérité d’un jour n’est pas la vérité du lendemain et ça l’IA n’est pas capable de l’anticiper.
Personnellement, quel est votre degré de confiance en l’IA ?
Par défaut, je n’ai pas confiance. Je vois du potentiel, des possibilités, des contextes où ça va fonctionner. Par exemple, pour Gravity®, on a deux retours d’expériences sur les API qui vont être donnés à la JFTL (Journée Française du Test Logiciel). Dans ce contexte, dans ce cadre-là, ça fonctionne bien et donc, je vais avoir confiance, pour un contexte similaire, de réussir à implémenter une solution qui va faire gagner du temps. Sinon, il n’y a pas de confiance tant qu’il n’y a pas de retour d’expérience, par défaut, ça ne marche pas.
Mais alors, quel serait le contexte idéal pour que ça marche ?
Le contexte idéal ça va être tout ce qui est tâches répétitives, rébarbatives, des choses qui ne sont pas forcément difficiles mais faciles et peu intéressantes à faire. Elles vont requérir de faire beaucoup de choses faciles, mais l'enchaînement va être fatigant et devenir difficile. Tout ça va être sujet à automatisation et c’est le cas dans toute l’histoire de l’humanité d’ailleurs : les outils, on les a faits car c’était plus facile de casser une noix de coco en ayant une pierre aiguisée. Et à chaque fois, on s’est dégagé de plus en plus de temps.
Qu'avez-vous pensé de cette interview ? Profitez-en également pour découvrir nos autres interviews de Bruno Legeard et Xavier Blanc.