Prueba de mono


En las pruebas de software, las pruebas de mono son una técnica en la que el usuario prueba la aplicación o el sistema proporcionando entradas aleatorias y comprobando el comportamiento, o viendo si la aplicación o el sistema se bloqueará. Las pruebas de mono generalmente se implementan como pruebas unitarias aleatorias y automatizadas .

Si bien la fuente del nombre "mono" es incierta, algunos creen que el nombre tiene que ver con el teorema del mono infinito , [1] que establece que un mono golpea las teclas al azar en el teclado de una máquina de escribir durante una cantidad infinita de el tiempo casi seguramente escribirá un texto dado, como las obras completas de William Shakespeare . Algunos otros creen que el nombre proviene de la aplicación clásica de Mac OS "The Monkey" desarrollada por Steve Capps antes de 1983. Usaba ganchos de diario para alimentar eventos aleatorios en los programas de Mac y se usaba para probar errores en MacPaint . [2]

Monkey Testing también se incluye en Android Studio como parte de las herramientas de prueba estándar para las pruebas de esfuerzo . [3]

Algunos monos inteligentes también se conocen como monos brillantes , [ cita requerida ] que realizan pruebas según el comportamiento del usuario y pueden especificar algunas probabilidades de que ocurran errores.

Los monos tontos, también conocidos como "monos ignorantes", generalmente se identifican por las siguientes características: [ cita requerida ]

La prueba de mono es una forma efectiva de identificar algunos errores listos para usar. Dado que los escenarios probados suelen ser ad-hoc , las pruebas de mono también pueden ser una buena manera de realizar pruebas de carga y estrés. La aleatoriedad intrínseca de las pruebas con monos también las convierte en una buena manera de encontrar errores importantes que pueden romper todo el sistema. La configuración de las pruebas de mono es fácil, por lo tanto, es buena para cualquier aplicación. Los monos inteligentes, si se configuran correctamente con un modelo de estado preciso, pueden ser realmente buenos para encontrar varios tipos de errores.