Votre équipe peut tester chaque fonctionnalité prévue et publier malgré tout une application qui plante dès qu’un utilisateur appuie trop vite sur trois boutons. Le monkey testing permet de repérer ce type de plantage tôt : un outil utilise votre application au hasard, enchaîne des milliers d’appuis, de balayages et de frappes au clavier, puis signale chaque plantage ou blocage qu’il provoque.
Le nom vient de l’image d’un singe (monkey, en anglais) qui tape frénétiquement sur un clavier. Cela ressemble à une plaisanterie, mais la technique a une longue histoire derrière elle, et Android la propose sous la forme d’un outil standard. Comme c’est un programme qui effectue les appuis, le monkey testing est une forme de test automatisé.
Ce guide explique ce que fait un monkey test, en quoi les smart monkeys et les dumb monkeys diffèrent, et pourquoi on confond souvent le monkey testing avec le test exploratoire. Vous verrez aussi quels outils valent la peine d’être essayés et dans quels cas un monkey test est un bon usage de votre temps.
Que fait concrètement un monkey test ?
Un monkey test confie votre application à un outil qui se comporte comme un utilisateur négligent et infatigable. Le programme appuie n’importe où sur l’écran, tape du charabia, fait des balayages et presse le bouton retour sans ordre particulier. Il ignore à quoi sert chaque commande et n’essaie jamais d’aller au bout d’une tâche. Contrairement à un testeur humain, il peut continuer ainsi pendant des milliers d’actions sans pause. La seule chose qu’il vérifie, c’est que l’application tient le coup.
Quand quelque chose casse, l’outil enregistre ce qui s’est passé. Les problèmes qu’il détecte se répartissent en trois catégories :
- Plantages : l’application se ferme sans prévenir
- Blocages : l’application ne répond plus aux actions de l’utilisateur (sur Android, cela se traduit par un message « Application Not Responding » au bout de cinq secondes)
- Erreurs de sécurité : l’application tente une opération pour laquelle elle n’a pas d’autorisation, comme ouvrir des fichiers protégés ou utiliser l’appareil photo
Le test négatif, une technique proche, fournit volontairement de mauvaises données à une application, alors qu’un monkey test choisit ses entrées au hasard.
L’idée remonte à 1983. D’après le témoignage direct d’un membre de l’équipe du premier Macintosh, Steve Capps a créé un outil baptisé The Monkey pour tester MacWrite et MacPaint. Ses entrées aléatoires déclenchaient facilement des plantages liés au manque de mémoire, que l’équipe avait du mal à reproduire à la main. La technologie de l’époque a disparu depuis longtemps, mais les outils de monkey testing modernes reposent toujours sur le même principe.
Google Play montre bien pourquoi il est important de détecter les plantages avant la sortie. La plateforme considère qu’une application se comporte mal lorsque au moins 1,09 % des utilisateurs quotidiens subissent un plantage sur l’ensemble des appareils, ou 8 % sur un seul modèle de téléphone. Le seuil pour les blocages est encore plus bas, à 0,47 %. Les applications qui dépassent ces seuils risquent de devenir plus difficiles à trouver, et certaines reçoivent un avertissement sur leur fiche dans la boutique.
Monkey testing intelligent ou aveugle : quelle différence ?
Un dumb monkey (monkey « aveugle ») ne sait rien de votre application. Il ne sait pas sur quel écran il se trouve ni à quoi sert un bouton, si bien que chaque action relève du pur hasard. Un smart monkey (monkey « intelligent ») dispose d’une carte approximative de l’application : les écrans qui existent, les liens entre eux et ceux qu’il a déjà visités. Grâce à cette carte, il peut se diriger vers les parties de l’application qu’il n’a pas encore explorées et éviter les impasses.
Chaque type a ses points forts et son coût :
- Dumb monkeys : ils se configurent en quelques minutes et tombent volontiers sur des cas limites qu’aucun testeur n’aurait prévus. Leur faiblesse : ils passent beaucoup de temps à repasser par les mêmes quelques écrans.
- Smart monkeys : ils atteignent des écrans plus profonds, comme une page de paiement située trois étapes plus loin dans un parcours. En revanche, ils demandent plus de temps de configuration et d’exécution, car l’outil doit construire sa carte au fil de son exploration.
Des travaux plus anciens suggèrent que la version aveugle est plus efficace qu’on ne le croirait. Dans une étude de 2015 portant sur 68 applications Android, des chercheurs ont comparé sept outils de test et ont désigné le Monkey de Google, purement aléatoire, comme le vainqueur net. En moyenne, le Monkey couvrait une plus grande partie du code de chaque application que les autres, signalait le plus de défaillances et figurait parmi les outils les plus simples à utiliser. Cet article a plus de dix ans et précède la plupart des alternatives intelligentes disponibles aujourd’hui. Il montre néanmoins que le test aléatoire simple fonctionne, sans pour autant indiquer quel outil est le meilleur aujourd’hui.
Les smart monkeys modernes conservent souvent ce moteur aléatoire et y ajoutent un guidage. Des chercheurs utilisent désormais des modèles de langage d’IA pour sortir l’outil des écrans où il a tendance à rester bloqué. Dans une étude de 2026 portant sur 12 applications populaires, cette aide supplémentaire a augmenté en moyenne de 44,1 % la part du code de chaque application atteinte par le Monkey de Google. La version assistée par l’IA a également trouvé davantage de plantages uniques que les outils standard auxquels elle était comparée.
Le monkey testing est-il la même chose que le test exploratoire ?
Les deux consistent à tester sans script prédéfini, d’où la confusion. La différence tient à qui mène le jeu. Un monkey test est un programme qui agit au hasard, sans aucune idée de la finalité de l’application. Le test exploratoire est mené par un testeur expérimenté qui parcourt l’application de façon délibérée, se forge une intuition sur l’endroit où elle pourrait casser et la suit.
Imaginez un code promo qui s’applique deux fois au moment du paiement. Un testeur exploratoire pourrait le repérer et passer une heure à comprendre dans quelles conditions cela se produit. Un monkey passerait juste à côté, car un prix erroné ne fait rien planter. À l’inverse, peu de testeurs penseraient à changer d’application en plein paiement tout en appuyant sans arrêt sur le bouton retour.
En pratique, le monkey testing et le test exploratoire donnent les meilleurs résultats ensemble. Le monkey trouve le plantage, puis un testeur reconstitue les étapes qui y mènent et vérifie ce qui pourrait être cassé à proximité.
Deux autres techniques sont souvent confondues avec le monkey testing. Voici comment les quatre se comparent :
Monkey testing
Outil
Appuis, balayages et frappes aléatoires à l’écran
Plantages, blocages et erreurs de sécurité
Applications et jeux comptant de nombreux écrans et commandes, avant la sortie
Test exploratoire
Testeur expérimenté
Actions délibérées guidées par le jugement
Tout bug, y compris les résultats erronés et une conception déroutante
Nouvelles fonctionnalités et parcours utilisateur à risque
Fuzz testing
Outil
Données aléatoires ou corrompues envoyées dans des fichiers, des formulaires ou des requêtes réseau
Plantages et failles de sécurité
Logiciels qui acceptent des fichiers importés, des formulaires ou des données d’autres systèmes
Chaos testing
Outil
Pannes provoquées volontairement sur des serveurs et des systèmes cloud
Le maintien du service en fonctionnement
Grands services en ligne
Le chaos testing est la principale source de confusion, car son outil le plus connu est le Chaos Monkey de Netflix. Ce programme arrête des serveurs au hasard pour prouver que le service reste disponible. Le chaos testing vérifie les systèmes qui se trouvent derrière une application et ne touche jamais à l’écran.
Dans quels cas le monkey testing est-il le plus utile ?
Le monkey testing s’applique à tout logiciel sur lequel on clique, on appuie ou on tape, des sites web aux programmes de bureau. Il est surtout rentable dans deux contextes :
- Applications mobiles : les utilisateurs de smartphones changent d’application, appuient sur les boutons système et sont interrompus en pleine tâche en permanence. Sur Android, Google fournit lui-même l’outil. L’UI/Application Exerciser Monkey s’exécute sur un téléphone ou un émulateur (un téléphone virtuel sur un ordinateur). L’outil combine des appuis et des balayages aléatoires avec ces événements système. iOS ne propose pas d’équivalent intégré. Lorsque nous avons préparé Logo Maker Shop pour son lancement sur Google Play, les tests sur 7 appareils et 6 versions d’Android ont révélé de nombreux plantages. Pour Unfold, une application de storytelling rachetée par la suite par Squarespace, notre mission principale consistait à identifier les actions des utilisateurs qui la faisaient planter sur Android et iOS.
- Tests de stress et de stabilité : un monkey peut tourner pendant des heures, ce qui en fait un moyen peu coûteux de vérifier si un logiciel résiste à une utilisation longue et intensive. La documentation de Google présente d’ailleurs son Monkey comme un test de stress. Les jeux en sont un cas typique, car les joueurs martèlent les boutons, mettent en pause en pleine animation et changent d’application pendant les écrans de chargement. Lorsque nous avons testé le jeu de construction de ville Highrise City avant son lancement, remonter à l’origine des plantages signalés par les joueurs impliquait d’examiner la configuration de chacun et ce qu’il avait fait juste avant que le jeu ne plante. Les entrées aléatoires aident sur ce second point, car elles testent des enchaînements d’actions que personne ne prévoirait. Pour la partie scriptée de la QA, consultez notre panorama des outils d’automatisation des tests de jeux.
Si les plantages font baisser la note de votre application sur Google Play, le test d’applications Android sur appareils réels montre quels téléphones et quelles actions les provoquent. Une fois l’application en ligne, une stratégie de signalement des plantages assure la surveillance pendant que les utilisateurs s’en servent.
Quels outils de monkey testing valent la peine d'être essayés ?
Les outils de monkey testing prêts à l’emploi existent surtout pour Android, et trois d’entre eux valent la peine d’être essayés :
- UI/Application Exerciser Monkey d’Android : le dumb monkey intégré de Google. Il est gratuit, ne nécessite rien d’autre qu’un téléphone connecté ou un émulateur et constitue généralement la première étape.
- DroidBot : un smart monkey open source qui se construit une représentation des écrans de l’application au fur et à mesure et s’en sert pour en atteindre de nouveaux. Il est toujours activement maintenu.
- Fastbot : le smart monkey open source de ByteDance, conçu pour tester les propres applications de l’entreprise. Il apprend de ses exécutions précédentes quelles actions mènent vers des écrans encore inexplorés.
Pour les applications iOS, web et de bureau, il n’existe pas aujourd’hui de monkey prêt à l’emploi. Les outils iOS autrefois populaires, SwiftMonkey et Fastbot for iOS, ne sont plus maintenus. Côté web, gremlins.js, l’option la plus connue, n’a pas connu de nouvelle version depuis 2020. La solution pratique consiste à écrire un court script dans le framework d’automatisation que votre équipe utilise déjà, comme XCUITest d’Apple pour iOS ou Playwright de Microsoft pour les navigateurs, afin d’envoyer des appuis, des clics et des frappes aléatoires à l’application.
Quand le monkey testing mérite-t-il votre temps ?
Un monkey test vaut la peine d’être lancé lorsque les plantages sont le risque qui vous inquiète le plus. Il est bien adapté aux situations suivantes :
- Applications complexes : de nombreux écrans et gestes qui interagissent d’une manière que personne n’a entièrement cartographiée
- Lancements sur Google Play : le taux de plantage influe sur la visibilité de l’application
- Après une série de correctifs de plantages : une vérification rapide que rien de nouveau n’a cassé
- Contrôles de stabilité pendant la nuit : des heures d’entrées aléatoires sans mobiliser un testeur
Le monkey testing est aussi peu coûteux à mettre en place tôt. Un dumb monkey peut tourner sur une version bêta dès que l’application s’ouvre, bien avant que quiconque écrive des tests scriptés.
La technique est beaucoup moins utile dans les cas suivants :
- Vérification des résultats : vous devez savoir si un prix, un solde ou un résultat de recherche est correct. Un monkey ne remarque que les moments où l’application casse.
- Connexions et paywalls : un monkey parvient rarement à les franchir seul, car une saisie aléatoire ne devinera pas un mot de passe.
- Rapports de bug précis : les sessions aléatoires peuvent être difficiles à rejouer. Des résultats qui changent à chaque tentative ressemblent beaucoup à des tests instables, qui font perdre du temps aux développeurs.
Considérez le monkey testing comme une couche supplémentaire qui s’ajoute à vos tests fonctionnels et à vos tests de régression habituels. Les entrées aléatoires détectent le plantage que personne ne provoquerait volontairement, celui qui a tendance à apparaître en production. De leur côté, vos vérifications planifiées confirment que les résultats sont réellement corrects.
Nos ingénieurs QA couvrent les deux aspects : l’automatisation pour les exécutions répétitives et des testeurs exploratoires qui déterminent ce que signifie chaque défaillance. Nous pouvons intervenir à n’importe quelle étape, que vous ayez une première version ou un produit en ligne dont les rapports de plantage s’accumulent. Arrêtez de deviner où votre application casse et prenez rendez-vous avec notre équipe QA.
FAQ
Qu'est-ce qu'un monkey test en test logiciel ?
Un monkey test est une méthode qui permet de trouver des plantages en soumettant un logiciel à des actions utilisateur aléatoires. Au lieu de suivre un script, un outil effectue des actions imprévues sur une application, comme appuyer, taper et balayer dans n’importe quel ordre, et consigne chaque défaillance qu’il provoque. Le nom fait référence à un singe qui tape frénétiquement sur un clavier. La méthode excelle à trouver des bugs qu’aucun test scripté n’irait chercher.
Le monkey testing est-il la même chose que le test aléatoire ?
Le monkey testing est un type de test aléatoire. Le test aléatoire est la pratique plus large qui consiste à vérifier un logiciel avec des entrées choisies au hasard. L’approche peut cibler une seule fonction, une API ou un système entier. Le monkey testing applique cette idée à l’interface utilisateur : ses entrées aléatoires sont donc les actions qu’un utilisateur pourrait effectuer à l’écran, comme des appuis, des clics et des frappes au clavier.
Quelle est la différence entre le monkey testing et le fuzz testing ?
Les deux reposent sur des entrées aléatoires, mais ils visent des couches différentes du logiciel. Le monkey testing se comporte comme un utilisateur et envoie des actions imprévisibles via l’interface. Le fuzz testing contourne l’interface et fournit à un programme des données endommagées ou inattendues, comme un fichier image corrompu ou un message illisible provenant d’un serveur. Les équipes de sécurité utilisent beaucoup le fuzzing, car les plantages qu’il déclenche peuvent révéler des failles exploitables.
Le monkey testing peut-il être réalisé manuellement ?
Seulement de façon limitée. Le monkey testing est normalement automatisé, mais un testeur peut cliquer ou appuyer au hasard dans une application. Quelques minutes d’appuis aléatoires avant une sortie peuvent révéler un plantage évident. Cependant, les humains prennent des habitudes et se fatiguent. Le test aléatoire manuel fait office de vérification rapide, tandis qu’un outil automatisé est le meilleur choix pour de longues sessions de plusieurs milliers d’actions.
Le monkey testing est-il un test en boîte noire ?
Oui. Un monkey test fonctionne entièrement depuis l’extérieur : il interagit avec une application comme le ferait un utilisateur et la juge uniquement sur son comportement. Il n’examine jamais le code source. Les smart monkeys conservent une carte des écrans qu’ils visitent, mais ils la construisent en explorant, si bien qu’ils restent des outils de type boîte noire.
Découvrez comment nous avons aidé Unfold à devenir la boîte à outils de storytelling n°1 dans le monde, avec un milliard d’utilisateurs actifs