Blog - Mr Suricate

L'IA ET LE COMPORTEMENT DES UTILISATEURS - INTERVIEW DE XAVIER BLANC

Rédigé par Mr Suricate | 20 juin 2022 14:51:00

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 Xavier Blanc.

Xavier Blanc est un spécialiste en qualité logicielle. Directeur du Laboratoire Bordelais de Recherche en Informatique (LaBRI), il a co-fondé ProMyze, une start-up qui permet de définir et échanger les bonnes pratiques de développement logiciel et d'améliorer ainsi la qualité des équipes. Il est également Professeur à l'Université de Bordeaux, avec une spécialisation en génie logiciel.

L’IA est un sujet au cœur des tendances actuelles et il commence notamment à s’inviter dans le monde du test. Personnellement, comment voyez-vous l'IA s'inscrire dans l’automatisation des tests ? 

 L’IA peut notamment aider l’automatisation en ne laissant pas l’automaticien tout seul : comment assister l’automaticien dans son travail  pour l’aider à fournir des tests de meilleure qualité ? Parce que finalement, quand on écrit un test automatisé, on répète des opérations et c’est là où l’IA a montré qu’elle était très forte. Quand on commence à répéter, quand il y a des données qui existent et qu’on fait des choses qu’on a déjà faites, ou ont été faites par d’autres personnes, c’est là que l’IA peut nous aider à ajouter de la qualité. On va prendre une application et on va demander à l’IA de l’analyser et nous aider à trouver les tests les plus pertinents. 

Il y a un deuxième point sur le diagnostic. On a notre base de tests, on sait l’automatiser, ça s’exécute très bien, et puis parfois il y a encore un diagnostic qui est difficile à faire. Le test nous dit que ça ne passe pas, c‘est rouge donc il y a un bug, mais ce n’est pas un bug, c’est quelque chose qui est contextuel : c’est peut-être le réseau qui ne marche pas bien, une latence. Et on perd du temps sur le diagnostic. On a de l’expérience mais c’est tellement compliqué que l’intuition ne suffit pas et c’est là où l’IA peut rapidement nous apporter de gros bénéfices.

Quels sont les challenges que peut poser l’IA au niveau de l’automatisation des tests ? 

L’IA va avoir du mal à être très contextuelle. Les applications qu’on teste se ressemblent, mais elles ont toutes des spécificités et ces spécificités font que les choix qui s’appliquent à certaines applications ne s’appliquent pas à d’autres applications. Faire une IA qui va répondre à tous les problèmes de la Terre, ce n’est même pas une ambition. Ce qu’on va plutôt chercher à faire, c’est une IA capable de s’adapter au contexte. Il va donc falloir qu’elle apprenne très rapidement, qu’elle devine les spécificités de ce contexte et qu’elle soit très pertinente. Et c’est là où on va avoir d’énormes difficultés, dans les mois ou les années à venir, c’est de trouver ce contexte et savoir prendre des décisions qui seront peut-être radicalement différentes, plutôt que d’avoir une moyenne dominante, là où l’IA est forte actuellement : elle a plein de points et elle sait trouver où la courbe passe entre tous ces points, mais là, il va falloir qu’elle sache enlever les points qui n’ont pas de sens dans le contexte d’utilisation pour telle ou telle application. 

Quel serait le contexte idéal pour que l’IA s’inscrive dans l’automatisation des tests, dans ce cas ? 

J’aimerais que l’IA soit embarquée dans les applications. On a souvent des masses de données et on passe du temps à les analyser. On fait tourner les algorithmes et on arrive à avoir une IA à la fin, mais ça manque un peu de réactivité et le fait d’avoir l’IA directement dans l’application permettra qu’elle soit très réactive en fonction du comportement des utilisateurs. Les comportements des utilisateurs changent du jour au lendemain, c’est quasiment impossible de les prédire et on a toujours un petit train de retard. On a les données, on nettoie les données et puis ensuite, on fait tourner les algorithmes. 

Moi je pense qu’on va avoir des IA qui seront embarquées dans les applications et qui vont minimiser le temps de cette boucle de rétroaction. L’IA va pouvoir donner des préconisations : les utilisateurs font ça aujourd’hui, vous devriez regarder ce genre de tests, etc. On le voit déjà dans la sécurité. Ils sont tout le temps en train de monitorer et cela leur permet de déceler de nouvelles attaques. Ils ont aussi de l’IA collaborative : ils ont plusieurs sites et ils essaient de mettre en commun les connaissances. On pourrait imaginer ce genre de choses entre différentes applications, et on se rend compte que l’utilisateur change, a tel ou tel comportement, ou au contraire, qu’il y a des anomalies. Et s’il y a une IA embarquée avec l’application, on devrait avoir un retour très rapidement vers les développeurs, pour anticiper les corrections de bugs et être beaucoup plus réactif.

Selon vous, en quoi l’IA pourrait aider les équipes métier, qui n’ont pas de profil technique, dans l’automatisation des tests ? 

Si on a une IA dans l’application, il faudrait qu’elle soit capable de parler deux langues : la langue des gens du métier et la langue de toutes les personnes qui travaillent au développement de l’application. Si on a suffisamment d’intelligence dans l’IA, on pourrait imaginer qu’elle comprend mieux les utilisateurs et pourrait aller vers les gens du métier, en leur disant ce que font exactement les utilisateurs. Pour un site e-commerce, cela permettrait de savoir ce qu’ils achètent. Les gens du métier devraient donc pouvoir commencer à réagir aussi en proposant ceci ou cela suite aux données de l’IA. Et de même l’IA devrait indiquer aux développeurs là où il y a un problème, par exemple sur l’écran, etc. 

Cela permettrait aussi aux gens du métier de faire des tests business, de l’A/B testing. Actuellement, on pose des métriques et on les regarde, mais on pourrait aussi savoir si ça vaut le coup ou pas. Et si je fais ça, quelle serait la prédiction de l’IA ? Est-ce que ça va être intéressant ou pas ? On pourrait aussi imaginer la même chose côté technique : et si je fais ça, est-ce que je vais introduire des nouveaux bugs ou pas ? 

Quels risques peut poser l’IA au niveau du monde du test ? 

Pour reprendre la métaphore des points, l’IA est très forte pour trouver la courbe qui passe par tous ces points, mais si on lui demande quel est le prochain point, elle va nous donner le prochain point sur la courbe qu’elle a tracée. Le problème, c’est que, si on ne prend pas les bons points, si on en fait trop, l’IA va nous emmener sur des terrains qui sont à l’ouest. 

Et un deuxième problème qui peut arriver, c’est qu’il y a peut-être des points qui ne sont pas sur la courbe et qui sont intéressants. Il va falloir aussi qu’on se dise qu’il y a des moments où il faut peut-être débrancher l’IA et prendre des risques. Et les gagnants seront ceux qui auront réussi à prendre des risques à contre-courant des prédictions de l’IA. 

Donc, il y a ces deux écueils : avoir une IA qui n’est pas très maline et qui nous envoie dans la mauvaise direction, et l’IA qui est maline mais sans être non plus percutante et qui ne va pas nous proposer de prendre un point qui n’est pas dans la bonne direction et qui pourtant, va être un succès dingue. L’IA, elle fait des moyennes, donc c’est ça le risque, qu’on s’enferme un peu trop dans la routine. 

Justement, quel est votre degré de confiance envers l’IA ? 

J’ai absolument confiance en l’IA, si on considère que l’IA c’est l’algorithme qui trouve la courbe qui passe par tous les points. Ce n’est pas une réponse très honnête mais je n’ai pas envie de taxer l’IA parce qu’on lui a donné des mauvais points. L’IA apprend donc si je lui donne des choses pas intelligentes, elle va apprendre des bêtises. La difficulté, c’est de lui donner des choses intelligentes sur lesquelles elle peut apprendre. On a aussi des algorithmes qui commencent à comprendre dans quel sens il faut donner les informations pour qu’elle apprenne vite, mais de là à demander à l’IA de faire le tri elle-même sur les informations qu’elle doit utiliser et qu’elle doit rejeter, je pense que ce n’est pas à l’algorithme de l’IA de faire ce tri, c’est en amont, c’est là où il va falloir qu’on soit un peu plus exigeant sur notre façon de remonter des données. Donc oui, je suis confiant, et je pense qu’on arrivera à des taux de confiance encore plus importants si on est capable de donner les bons points. Est-ce que j’ai confiance aux points qu’on donne, beaucoup moins, mais pour moi, ce n’est plus de la responsabilité de l’IA. 

Pouvez-vous nous parler des travaux que vous faites actuellement sur le test et l’IA ?

On travaille beaucoup sur ce que font les utilisateurs à partir de l’application web et on commence à avoir pas mal de sondes qui permettent de mesurer ce qu’ils font. Et à partir de ça, une IA devrait pouvoir nous expliquer qui sont nos utilisateurs. Il y a plein de technologies qui sont connues pour faire des sortes de classifications : il y a l’utilisateur mainstream, l’utilisateur qui est très rare, etc. Et l’idée c’est qu’on devrait être capable de fournir des jeux de tests automatisés et de manière automatique, en disant : voilà, si tu veux tester ce que fait l’utilisateur lambda, il suffit que tu exécutes ça, si tu veux tester les utilisateurs un peu tendance, voilà plutôt ce qu’il faudrait que tu fasses. Le travail, ici, qui est un peu difficile, c’est de prendre tous les points que font les êtres humains sur les applications et essayer de voir si on ne peut pas classifier ça, si on ne peut pas catégoriser ces points et demander à l’IA de fournir différentes courbes. Une fois qu’on a ces modèles de comportements, on va pouvoir se poser la question : est-ce que ces modèles ne vont pas nous aider à mieux tester l’application ? Cela rejoint tout ce que j’ai dit, c’est qu’actuellement, ces modèles de comportement sont faits à posteriori et on aimerait bien les avoir en temps réel, pour savoir s’ils ne changent pas tous les jours, en intégrant l’IA dans l’application directement. 

 

 

Qu'avez-vous pensé de cette interview ? Profitez-en également pour découvrir nos autres interviews de Marc Hage Chahine et de Bruno Legeard !