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 . 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 se produzcan errores.

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

Monkey testing is an effective way to identify some out-of-the-box errors. Since the scenarios tested are usually ad-hoc, monkey testing can also be a good way to perform load and stress testing. The intrinsic randomness of monkey testing also makes it a good way to find major bugs that can break the entire system. The setup of monkey testing is easy, therefore good for any application. Smart monkeys, if properly set up with an accurate state model, can be really good at finding various kinds of bugs.