Monkey Fuzz stress tests an applications User Interface. It pretends to be a "monkey" on the keyboard, sending random button press and mouse events to a program.
It is developed in C#
Easy testing of application
32 and 64 bit windows (XP, Vista, Win7)
P/invoke to Win32 API, SendInput
primarily sends random keyboard and mouse events to a program, but it can record the actions along the way. This allows them to be replayed useful for regression
In the future it should be possible to record a users actions and play them back as well. This can be useful as a
, silently recording of actions in the background, replaying them later if a crash should occur.
What should you look for when running?
Let the application run for a while with Monkey on the keyboard. Then stop the monkey and check that your application. It should not have crashed, or gotten locked into a screen. Check task manager: It should not be consuming huge amounts of memory, have a
large number of threads or handles.
If you find problems with your program, you should
It is possible that if you use this program incorrectly -- or the program you are testing has dangerous operations -- you can do some real damage to your system. It might be something you can fix by turning your computer off and on. Or it may be delete files.
I have taken care to make sure that this won't be destructive
testing, but hey, no guarantees.
What do the Monkeys think about this?
This was partly inspired by this
- event a keyboard button press, a mouse button click (or double click), mouse move, etc.
- fuzz testing sends random, unexpected events to a program.
- log is a recording of what the MonkeyFuzz program did (or sent). This log is a simple format that can be replayed (to see if the bug is still there), or imported into a spreadsheet like Excel.
- monkey at the keyboard is where someone uses a program in an attempt to see if the program holds together with use.
Other areas of interest