
Louis LAURENT

Un agent IA peut ouvrir une application mobile, lire son interface, appuyer sur des boutons, saisir du texte, prendre des captures et vérifier un résultat attendu. Avec Expo et agent-device, cette boucle fonctionne sur iOS, Android et le web. Elle accélère les tests répétitifs, mais ne remplace ni les critères d'acceptation ni une validation humaine sur les parcours critiques.
Ce guide montre comment transformer une demande vague comme « vérifie l'application » en tests observables et reproductibles.
Pourquoi tester l'application avec un agent
La création assistée par IA accélère les modifications. Elle accélère aussi les régressions. Un agent peut corriger l'écran de connexion et casser le clavier, le bouton retour ou l'affichage sur un petit écran.
Le test manuel reste utile, mais il devient pénible quand tu dois répéter le même parcours après chaque changement. Un agent de test peut rejouer une séquence, conserver des captures et signaler l'étape exacte qui ne correspond plus au résultat attendu.
Expo décrit agent-device comme un outil en ligne de commande conçu pour que les agents contrôlent et vérifient des applications en fonctionnement. Il peut inspecter l'interface, agir sur les éléments, capturer des écrans, collecter des journaux et enregistrer des traces. Le même langage de commande couvre iOS, Android, le web, macOS et Windows, avec des capacités qui varient selon la plateforme.
L'intérêt n'est pas d'obtenir « test réussi » dans une réponse. L'intérêt est de relier une action, une observation et une preuve.
Ce qu'un bon test doit contenir
Chaque test a besoin de quatre éléments :
un état de départ connu
une suite d'actions précises
un résultat attendu
une preuve lisible si le résultat diffère
Exemple pour une application de réservation :
Depuis l'écran d'accueil sans réservation existante, choisis mardi à 14 h, saisis le nom « Test Kryve », confirme, puis vérifie qu'une carte « mardi 14 h » apparaît. En cas d'échec, capture l'écran et les journaux de l'application sans modifier le code.
Cette consigne est testable. « Regarde si la réservation marche » ne l'est pas. L'agent risque de choisir lui-même le scénario, d'ignorer une erreur et de déclarer la mission terminée trop tôt.
Installer agent-device dans un projet Expo
Commence avec une application qui démarre déjà. Si le projet ne se lance pas manuellement, l'automatisation ajoutera du bruit au diagnostic.
La documentation Expo indique actuellement Node.js 22.12 ou une version supérieure parmi les prérequis d'agent-device. Cette exigence peut évoluer. Vérifie la page officielle avant l'installation et demande à l'agent de comparer la version installée avec la version requise.
Une consigne sûre ressemble à ceci :
Lis la documentation officielle Expo agent-device. Vérifie les prérequis de ce projet sans modifier la configuration. Si tout est compatible, installe uniquement l'outil recommandé, lance l'application sur la cible disponible et montre-moi la première capture. N'exécute aucun test destructif.
L'agent doit distinguer trois statuts : outil installé, application ouverte, interface réellement inspectée. Une installation réussie ne prouve pas que l'agent contrôle l'application.
Si tu pars encore de l'idée, commence par créer une application mobile avec l'IA sans coder.
Faire un premier test de fumée
Le test de fumée vérifie que les fonctions vitales ne sont pas immédiatement cassées. Il reste court : lancement, écran principal, navigation essentielle et absence d'erreur bloquante.
Demande à l'agent :
Ouvre l'application. Attends que l'écran principal soit stable. Prends une capture. Vérifie que le titre « Mes séances » et le bouton « Ajouter » sont visibles. Appuie sur Ajouter et vérifie que le formulaire contient les champs Exercice, Poids et Répétitions. Ne saisis aucune donnée. Retourne un tableau avec étape, observation et preuve.
Le mot « visible » doit correspondre à l'état de l'interface, pas à la présence d'un texte dans le code. Un bouton caché derrière le clavier ou placé hors écran n'est pas utilisable.
Conserve la capture et le résultat du test. Ils forment la référence de la version actuelle.
Utiliser les snapshots d'interface
Un snapshot décrit la structure accessible de l'écran. Il peut contenir les libellés, rôles, identifiants et états des éléments. L'agent s'en sert pour cibler un bouton ou un champ sans deviner sa position au pixel près.
Les sélecteurs basés sur un texte ou un identifiant stable résistent mieux aux changements de mise en page. Si le bouton « Enregistrer » se déplace, le test peut continuer à le trouver. Un clic à une coordonnée fixe devient fragile dès que la taille d'écran change.
Ajoute des libellés accessibles et des identifiants de test seulement sur les éléments qui en ont besoin. Un écran rempli d'identifiants générés sans convention devient aussi difficile à maintenir que le code qu'ils sont censés tester.
Demande à l'agent de te montrer le snapshot quand il n'arrive pas à cibler un élément. Tu verras si le problème vient du test ou d'une interface mal exposée aux technologies d'assistance.
Tester un formulaire mobile
Les formulaires concentrent les erreurs mobiles : clavier qui cache le bouton, validation trop tardive, mauvais type de clavier, double soumission et perte de saisie.
Construis trois scénarios.
Parcours valide
Saisis des valeurs réalistes, confirme et vérifie la donnée affichée. L'agent doit comparer le résultat avec les valeurs exactes, pas seulement constater qu'une nouvelle ligne existe.
Donnée invalide
Laisse un champ obligatoire vide ou saisis une valeur hors limite. Vérifie qu'un message compréhensible apparaît et qu'aucune donnée n'est enregistrée.
Double action
Appuie deux fois rapidement sur le bouton de confirmation. Vérifie qu'une seule donnée est créée et que le bouton indique l'état de chargement si une requête prend du temps.
Ajoute une capture pour chaque échec. Les journaux servent à la cause technique, la capture sert à l'effet utilisateur.
Vérifier la persistance des données
Un enregistrement affiché immédiatement peut disparaître au prochain lancement. Le test doit traverser une fermeture ou un rechargement.
Exemple :
créer une note intitulée « Contrat test »
vérifier qu'elle apparaît dans la liste
fermer l'application
rouvrir l'application
vérifier que « Contrat test » est toujours présent une seule fois
Si les données sont distantes, ajoute le contrôle du compte utilisé et attends la fin réelle de la synchronisation. Un test qui change de compte sans le signaler peut produire un faux échec.
Utilise des données de test reconnaissables et supprimables. N'automatise jamais un parcours sur une base de production avec de vrais clients sans environnement et autorisation adaptés.
Capturer les journaux et les traces
Une capture montre le symptôme. Les journaux montrent souvent l'erreur levée. Une trace relie les actions, les états et le temps.
agent-device permet selon la documentation Expo de récupérer les journaux d'application et d'enregistrer des traces. Demande ces preuves seulement autour du scénario défaillant. Un dump immense ralentit le diagnostic et peut contenir des informations sensibles.
La consigne peut être :
Rejoue le scénario de connexion une fois. Capture les journaux à partir du clic sur Se connecter jusqu'à l'erreur. Masque les jetons, cookies, e-mails réels et secrets avant de me montrer l'extrait. Ne change aucun fichier.
Sépare diagnostic et correction. Une fois la cause identifiée, autorise une modification bornée, puis rejoue exactement le même test. Le passage de rouge à vert constitue la preuve de correction.
Tester plusieurs tailles et plateformes
Une interface correcte sur un simulateur iPhone peut déborder sur Android ou sur un écran plus étroit. Les polices, barres système, gestes et comportements du clavier ne sont pas identiques.
Commence avec la plateforme principale et une seconde cible qui couvre le plus gros risque. Pour une application grand public, teste au minimum un petit écran iOS et un appareil Android courant. Le web compte comme cible distincte si tu le proposes réellement aux utilisateurs.
Évite de multiplier dix appareils dès le premier jour. Stabilise le parcours central, puis élargis la matrice aux versions et formats soutenus.
Demande à l'agent de conserver le même scénario et de produire une ligne par cible : version, taille, résultat, anomalie et lien vers la capture.
Transformer un bug en test de régression
Chaque bug important mérite un scénario qui aurait dû l'attraper.
Supposons que le clavier masque le bouton « Confirmer » sur un petit écran. Après correction, conserve un test qui ouvre le formulaire, active le dernier champ et vérifie que le bouton reste atteignable. Ce test protège les versions suivantes.
La boucle est la suivante :
reproduire le bug sans modifier le code
conserver la preuve de l'échec
formuler le résultat attendu
appliquer une correction limitée
rejouer le même scénario
vérifier les parcours proches
Cette discipline compte aussi pour les agents eux-mêmes. Le guide évaluer un agent IA explique comment mesurer le résultat, la trajectoire, les outils, le coût et la sécurité au lieu de noter seulement la réponse finale.
Ce que l'agent ne doit pas décider seul
Un agent de test ne doit pas supprimer des données réelles, acheter un produit, accepter un contrat, publier une version ou contourner une sécurité pour faire passer le scénario.
Définis une règle d'arrêt :
stop si un secret apparaît dans les journaux
stop si le test atteint un paiement réel
stop si l'environnement n'est pas clairement identifié
stop si une action destructive n'a pas de mécanisme de restauration
stop si le résultat attendu contredit le comportement produit validé
Les permissions doivent suivre le scénario. Un test d'interface n'a pas besoin d'un accès administrateur à la base de production.
Tester l'accessibilité avec l'agent
Les snapshots d'interface rendent visibles certains défauts d'accessibilité. Un bouton sans nom, un champ sans libellé ou un élément impossible à cibler peut aussi gêner un lecteur d'écran.
Demande à l'agent de lister les éléments interactifs sans nom accessible et de vérifier l'ordre de navigation. Ce contrôle ne remplace pas un test avec les technologies d'assistance ni des utilisateurs concernés, mais il attrape des erreurs basiques tôt dans le cycle.
Vérifie aussi le contraste, la taille des zones tactiles, l'agrandissement du texte et l'orientation si l'application la prend en charge.
Construire une petite suite de tests
Commence avec cinq parcours qui protègent la valeur du produit :
l'application démarre
l'utilisateur accomplit l'action principale
la donnée reste après réouverture
une donnée invalide est refusée proprement
une erreur réseau produit un message exploitable
Pour chaque parcours, conserve un nom, les préconditions, les étapes, les attentes et la dernière preuve. Exécute la suite avant une bêta ou après un changement transversal.
Quand un test échoue, l'agent doit arrêter la suite si la suite risque de produire des résultats trompeurs. Un écran de connexion cassé invalide tous les tests qui en dépendent.
Les erreurs fréquentes
Demander une exploration libre
L'agent clique partout et revient avec des impressions. Donne des parcours et des attentes.
Autoriser la correction pendant le diagnostic
Tu perds l'état initial et la preuve. Reproduis d'abord, corrige ensuite.
Utiliser uniquement des coordonnées
Le test casse quand l'écran change. Préfère des libellés et identifiants stables.
Déclarer la réussite sans artefact
Une phrase de l'agent n'est pas une preuve. Garde captures, journaux bornés et résultat étape par étape.
Tester seulement le chemin idéal
Les erreurs réelles viennent des champs vides, doubles clics, retours arrière, coupures réseau et anciennes données.
FAQ
agent-device remplace-t-il Maestro ou Appium ?
Non. Il offre une interface adaptée aux agents et une boucle de contrôle rapide. Une équipe peut conserver des outils de test établis pour ses suites stables, son intégration continue ou ses besoins avancés.
Peut-il tester un vrai iPhone ?
La documentation Expo présente une couverture multi-plateforme, avec des capacités variables. Vérifie les cibles et limitations actuelles avant de choisir ta matrice de test.
L'agent peut-il juger si le design est bon ?
Il peut comparer l'écran à des règles ou une référence. Le goût, la compréhension et la confiance perçue demandent encore une revue humaine et, idéalement, des retours utilisateurs.
Faut-il conserver toutes les vidéos et tous les journaux ?
Non. Conserve les preuves utiles aux échecs, aux corrections importantes et aux versions livrées. Supprime ou protège les artefacts qui contiennent des données sensibles.
Peut-on lancer ces tests automatiquement ?
Oui pour les scénarios stables et non destructifs, selon l'environnement utilisé. Commence manuellement, stabilise les préconditions, puis automatise. Une automatisation fragile produit surtout du bruit.
Sources officielles
Tu veux apprendre à donner un cadre, des permissions et des preuves à tes agents au lieu de leur faire confiance à l'aveugle ? Découvre les formations Kryve.
Commence maintenant
Dans 7 mois, l’IA aura doublé.
Et toi ?
Tu peux continuer à lui poser des questions. Ou apprendre, dès aujourd’hui, à lui confier du travail. Les 30 places fondatrices n’attendront pas 7 mois.



