Pruebas monkey: qué son y cuándo resultan útiles

Su equipo puede probar todas las funciones previstas y aun así lanzar una app que se cierra cuando alguien toca tres botones demasiado rápido. Las pruebas monkey sirven para detectar ese tipo de fallo a tiempo: una herramienta usa su app al azar, lanza miles de toques, deslizamientos y pulsaciones de teclas, y registra cada cierre o bloqueo que provoca.

El nombre viene de la imagen de un mono (monkey, en inglés) aporreando un teclado. Suena a broma, pero la técnica tiene una larga trayectoria, y en Android viene incluida como herramienta estándar. Como es un programa quien hace los toques, las pruebas monkey son una forma de pruebas automatizadas.

Esta guía explica qué hace una prueba monkey, en qué se diferencian los monkeys inteligentes de los tontos y por qué las pruebas monkey se confunden con las pruebas exploratorias. También verá qué herramientas merece la pena probar y cuándo una prueba monkey es un buen uso de su tiempo.

¿Qué hace realmente una prueba monkey?

Una prueba monkey pone su app en manos de una herramienta que se comporta como un usuario descuidado que nunca se cansa. El programa toca cualquier punto de la pantalla, escribe texto sin sentido, desliza y pulsa el botón de retroceso sin ningún orden. No tiene ni idea de para qué sirve cada control y nunca intenta completar una tarea. A diferencia de un tester humano, puede mantener este ritmo durante miles de acciones sin pausa. Lo único que comprueba es si la app sobrevive.

Cuando algo falla, la herramienta registra lo ocurrido. Los problemas que detecta se dividen en tres grupos:

  • Cierres inesperados: la app se cierra sin previo aviso
  • Bloqueos: la app deja de responder a las entradas (en Android, esto aparece como un mensaje “Application Not Responding” al cabo de cinco segundos)
  • Errores de seguridad: la app intenta hacer algo para lo que no tiene permiso, como abrir archivos protegidos o usar la cámara

Las pruebas negativas, una técnica muy cercana, alimentan una app con entradas incorrectas a propósito, mientras que una prueba monkey elige sus entradas al azar.

La idea se remonta a 1983. Según un relato de primera mano del equipo original de Macintosh, Steve Capps creó una herramienta llamada The Monkey para probar MacWrite y MacPaint. Sus entradas aleatorias provocaban con facilidad fallos por falta de memoria que al equipo le costaba reproducir a mano. La tecnología de aquella época desapareció hace mucho, pero las herramientas monkey actuales siguen funcionando con el mismo principio.

Google Play es un claro ejemplo de por qué importa detectar los fallos antes del lanzamiento. Considera que una app tiene un mal comportamiento cuando al menos el 1,09 % de los usuarios diarios sufre un fallo en el conjunto de dispositivos, o el 8 % en un solo modelo de teléfono. El límite para los bloqueos es aún más bajo, del 0,47 %. Es probable que las apps que superan esos umbrales resulten más difíciles de encontrar, y algunas reciben una advertencia en su página de la tienda.

Monkey inteligente frente a monkey tonto: ¿cuál es la diferencia?

Un monkey tonto no sabe nada de su app. No distingue en qué pantalla está ni qué hace un botón, así que cada acción es puro azar. Un monkey inteligente lleva consigo un mapa aproximado de la app: qué pantallas existen, cómo se conectan y por dónde ha pasado ya. Con ese mapa puede dirigirse hacia partes de la app que aún no ha probado y evitar callejones sin salida.

Cada tipo tiene su propia ventaja y su propio coste:

  • Monkeys tontos: se configuran en minutos y tienen facilidad para dar con casos límite que ningún tester planificaría. Su punto débil es que pasan mucho tiempo repitiendo las mismas pocas pantallas.
  • Monkeys inteligentes: llegan a pantallas más profundas, como una página de pago situada tres pasos dentro de un flujo. Sin embargo, tardan más en configurarse y ejecutarse, porque la herramienta tiene que construir su mapa mientras explora.

Los datos más antiguos indican que la versión tonta es más potente de lo que parece. En un estudio de 2015 sobre 68 apps de Android, los investigadores compararon siete herramientas de prueba y declararon claro ganador al sencillo Monkey aleatorio de Google. De media, el Monkey alcanzó más código de cada app que las demás, notificó más fallos que ninguna y fue de las más fáciles de usar. Ese artículo tiene más de diez años y es anterior a la mayoría de las alternativas inteligentes disponibles hoy. Lo que sigue demostrando es que las pruebas aleatorias simples funcionan, pero no puede decirle qué herramienta es la mejor en la actualidad.

Los monkeys inteligentes modernos suelen conservar ese motor aleatorio y añadir una capa de orientación por encima. Los investigadores ya usan modelos de lenguaje de IA para sacar a la herramienta de las pantallas donde suele quedarse atascada. En un estudio de 2026 sobre 12 apps populares, esa ayuda adicional aumentó de media un 44,1 % la proporción del código de cada app que alcanzaba el Monkey de Google. La versión asistida por IA también encontró más fallos únicos que las herramientas estándar con las que se comparó.

¿Las pruebas monkey son lo mismo que las pruebas exploratorias?

Ambas consisten en probar sin un guion fijo, y por eso se confunden. La diferencia está en quién lleva el control. Una prueba monkey es un programa que actúa al azar, sin ninguna idea de para qué sirve la app. Las pruebas exploratorias las realiza un tester cualificado que recorre la app de forma deliberada, se forma una intuición sobre dónde podría fallar y la sigue.

Imagine un código de descuento que se aplica dos veces en el proceso de pago. Un tester exploratorio podría detectarlo y dedicar una hora a averiguar cuándo ocurre. Un monkey pasaría de largo, porque un precio incorrecto no provoca ningún cierre. Por otro lado, pocos testers pensarían en cambiar de app en mitad de un pago mientras pulsan una y otra vez el botón de retroceso.

En la práctica, las pruebas monkey y las exploratorias funcionan mejor en pareja. El monkey encuentra el fallo, y un tester averigua los pasos que lo provocan y comprueba qué más podría estar roto cerca.

Hay otras dos técnicas que se confunden con las pruebas monkey. Así se comparan las cuatro:

Pruebas monkey frente a pruebas exploratorias, de fuzzing y de caos
Técnica
Quién la ejecuta
Entrada
Qué busca
Ideal para
Técnica

Pruebas monkey

Quién la ejecuta

Herramienta

Entrada

Toques, deslizamientos y pulsaciones de teclas aleatorios en la pantalla

Qué busca

Cierres inesperados, bloqueos y errores de seguridad

Ideal para

Apps y juegos con muchas pantallas y controles, antes del lanzamiento

Técnica

Pruebas exploratorias

Quién la ejecuta

Tester cualificado

Entrada

Acciones deliberadas guiadas por el criterio

Qué busca

Cualquier error, incluidos resultados incorrectos y diseño confuso

Ideal para

Funciones nuevas y flujos de usuario de riesgo

Técnica

Pruebas de fuzzing

Quién la ejecuta

Herramienta

Entrada

Datos aleatorios o dañados enviados a archivos, formularios o solicitudes de red

Qué busca

Cierres inesperados y brechas de seguridad

Ideal para

Software que acepta archivos subidos, formularios o datos de otros sistemas

Técnica

Pruebas de caos

Quién la ejecuta

Herramienta

Entrada

Fallos deliberados en servidores y sistemas en la nube

Qué busca

Si el servicio sigue funcionando

Ideal para

Grandes servicios en línea

Las pruebas de caos son las que más confusión generan, porque su herramienta más conocida es Chaos Monkey, de Netflix. Ese programa apaga servidores al azar para demostrar que el servicio sigue en pie. Las pruebas de caos comprueban los sistemas que hay detrás de una app y nunca tocan la pantalla.

¿Dónde son más útiles las pruebas monkey?

Las pruebas monkey funcionan en cualquier software en el que las personas hagan clic, toquen o escriban, desde sitios web hasta programas de escritorio. Donde más rinden es en dos contextos:

  • Apps móviles: Los usuarios de teléfonos cambian de app, pulsan botones del sistema y sufren interrupciones a mitad de una tarea constantemente. En Android, la propia Google proporciona la herramienta. UI/Application Exerciser Monkey se ejecuta en un teléfono o en un emulador (un teléfono virtual en un ordenador). La herramienta combina toques y deslizamientos aleatorios con esos eventos del sistema. iOS no tiene un equivalente integrado. Cuando preparamos Logo Maker Shop para su lanzamiento en Google Play, las pruebas en 7 dispositivos y 6 versiones de Android sacaron a la luz numerosos fallos. En el caso de Unfold, una app para contar historias que Squarespace adquirió más tarde, nuestra tarea principal fue averiguar qué acciones de los usuarios provocaban su cierre en Android e iOS.
  • Pruebas de estrés y estabilidad: Un monkey puede funcionar durante horas, lo que lo convierte en una forma económica de comprobar si el software aguanta un uso prolongado e intenso. La propia documentación de Google describe su Monkey como una prueba de estrés. Los juegos son un caso habitual, porque los jugadores aporrean botones, pausan en mitad de una animación y cambian de app durante las pantallas de carga. Cuando probamos el juego de construcción de ciudades Highrise City antes de su lanzamiento, rastrear los fallos que notificaban los jugadores implicaba revisar la configuración de cada uno y lo que habían hecho justo antes de que el juego fallara. Las entradas aleatorias ayudan con esta segunda parte, porque prueban secuencias de acciones que nadie planificaría. Para la parte de QA basada en scripts, consulte nuestra guía de herramientas de automatización de pruebas de juegos.

Si los fallos están hundiendo su valoración en Google Play, las pruebas de aplicaciones Android en dispositivos reales muestran qué teléfonos y qué acciones los provocan. Una vez publicada la app, una estrategia de reporte de fallos la vigila mientras la gente la usa.

¿Qué herramientas de pruebas monkey merece la pena probar?

Las herramientas de pruebas monkey listas para usar existen sobre todo para Android, y tres de ellas merecen la pena:

  • UI/Application Exerciser Monkey de Android: el monkey tonto integrado de Google. Es gratuito, solo necesita un teléfono conectado o un emulador y suele ser el primer paso.
  • DroidBot: un monkey inteligente de código abierto que construye una representación de las pantallas de la app a medida que avanza y la usa para llegar a otras nuevas. Sigue en mantenimiento activo.
  • Fastbot: el monkey inteligente de código abierto de ByteDance, creado para probar las propias apps de la empresa. Aprende de ejecuciones anteriores qué acciones llevan a algún sitio nuevo.

Las apps de iOS, web y escritorio carecen de un monkey listo para usar que esté al día. Las herramientas para iOS que en su día fueron populares, SwiftMonkey y Fastbot for iOS, ya no tienen mantenimiento. En la web, gremlins.js, la opción más conocida, no publica una versión desde 2020. La vía práctica es un script breve en el framework de automatización que su equipo ya utiliza, como XCUITest de Apple para iOS o Playwright de Microsoft para navegadores, que lance toques, clics y pulsaciones de teclas aleatorios contra la app.

¿Cuándo compensa dedicar tiempo a las pruebas monkey?

Merece la pena ejecutar una prueba monkey cuando los fallos son el riesgo que más le preocupa. Encaja bien en estas situaciones:

  • Apps complejas: muchas pantallas y gestos que interactúan de formas que nadie ha mapeado del todo
  • Lanzamientos en Google Play: la tasa de fallos influye en la visibilidad de la app
  • Tras una tanda de correcciones de fallos: una comprobación rápida de que no se ha roto nada nuevo
  • Comprobaciones de estabilidad nocturnas: horas de entradas aleatorias sin ocupar a un tester

Además, empezar pronto con las pruebas monkey sale barato. Un monkey tonto puede ejecutarse sobre una versión beta en cuanto la app se abre, mucho antes de que nadie escriba pruebas con scripts.

La técnica ayuda mucho menos en estos casos:

  • Verificación de resultados: necesita saber si un precio, un saldo o un resultado de búsqueda es correcto. Un monkey solo se da cuenta cuando la app falla.
  • Inicios de sesión y muros de pago: un monkey rara vez los supera por sí solo, ya que escribir al azar no adivina una contraseña.
  • Informes de errores exactos: las sesiones aleatorias pueden ser difíciles de reproducir. Los resultados que cambian en cada intento se comportan de forma muy parecida a las pruebas inestables, que hacen perder tiempo a los desarrolladores.

Considere las pruebas monkey como una capa adicional sobre sus pruebas funcionales y pruebas de regresión habituales. Las entradas aleatorias detectan el fallo que nadie provocaría a propósito, del tipo que suele aparecer en producción. Mientras tanto, sus comprobaciones planificadas confirman que los resultados son realmente correctos.

Nuestros ingenieros de QA cubren ambos frentes: automatización para las ejecuciones repetitivas y testers exploratorios que averiguan qué significa cada fallo. Podemos incorporarnos en cualquier fase, tanto si tiene una versión temprana como un producto en producción con informes de fallos acumulándose. Deje de adivinar dónde falla su app y reserve una llamada con nuestro equipo de QA.

FAQ

¿Qué es una prueba monkey en las pruebas de software?

Una prueba monkey es una forma de encontrar fallos proporcionando al software entradas de usuario aleatorias. En lugar de seguir un guion, una herramienta realiza acciones no planificadas en una app, como tocar, escribir y deslizar en cualquier orden, y registra cada fallo que provoca. El nombre hace referencia a un mono (monkey, en inglés) aporreando un teclado. El método destaca a la hora de encontrar errores que ninguna prueba con script intentaría.

¿Las pruebas monkey son lo mismo que las pruebas aleatorias?

Las pruebas monkey son un tipo de pruebas aleatorias. Las pruebas aleatorias son la práctica más amplia de comprobar el software con entradas elegidas al azar. El enfoque puede aplicarse a una sola función, a una API o a un sistema completo. Las pruebas monkey llevan esa idea a la interfaz de usuario, de modo que sus entradas aleatorias son las acciones que un usuario podría realizar en pantalla, como toques, clics y pulsaciones de teclas.

¿Cuál es la diferencia entre las pruebas monkey y las pruebas de fuzzing?

Ambas se basan en entradas aleatorias, pero se dirigen a capas distintas del software. Las pruebas monkey se comportan como un usuario y envían acciones impredecibles a través de la interfaz. Las pruebas de fuzzing prescinden de la interfaz y alimentan un programa con datos dañados o inesperados, como un archivo de imagen corrupto o un mensaje ilegible procedente de un servidor. Los equipos de seguridad recurren mucho al fuzzing, porque los fallos que provoca pueden revelar vulnerabilidades explotables.

¿Se pueden hacer pruebas monkey de forma manual?

Solo de forma limitada. Las pruebas monkey suelen estar automatizadas, pero un tester puede hacer clic o tocar por una app al azar. Unos minutos de toques aleatorios antes de un lanzamiento pueden poner al descubierto un fallo evidente. Sin embargo, las personas caen en hábitos y se cansan. Las pruebas aleatorias manuales sirven como comprobación rápida, mientras que una herramienta automatizada es la mejor opción para sesiones largas de miles de acciones.

¿Las pruebas monkey son pruebas de caja negra?

Sí. Una prueba monkey funciona completamente desde el exterior: interactúa con una app como lo haría un usuario y la juzga solo por cómo se comporta. Nunca examina el código fuente. Los monkeys inteligentes mantienen un mapa de las pantallas que visitan, pero lo construyen explorando, así que siguen contando como herramientas de caja negra.

Descubra cómo ayudamos a Unfold a convertirse en el kit de herramientas de storytelling n.º 1 del mundo, con mil millones de usuarios activos

Por favor ingrese su correo electrónico comercial no es un correo electrónico comercial