Monkey testing is a technique used in software testing to test the application or product by providing random data and observing if the system or application crashes.
- In Monkey testing the tester or sometimes developer also is considered like a monkey assuming that if a monkey uses the computer then he will enter some random data without any knowledge or understanding.
- Here the tests done are very random and it may not be correct.
- Because of such random testing the testers may not be able to recreate the issues or bugs.
Advantages of Monkey testing:
- Monkey testing is a very good approach to find out some new bugs which may not be possible from the stated scenarios.
- Monkey testing can also be a good way to perform stress testing and load testing since the scenarios tested are generally random and ad-hoc.
- It is very easy to execute because it just requires some random data to run against some random tests.
- Execution of test cases and setting up of environments expenses are very less in monkey testing.
- By using tools the process of Monkey testing can be automated.
- Monkey testing can be performed for desktop applications, web applications as well as mobile applications.
Disadvantages of Monkey testing:
- The test carried out during monkey testing is so random that it is either not possible or very difficult to recreate any bug.
- It’s very difficult and time consuming to analyze the unexpected issues found during the monkey testing.
- Testers have difficulty in defining the exact test scenarios and they also cannot assure the accuracy of test cases.
- Monkey testing may consume lots of time before finding a bug because it does not have any predefined tests.
Types of Monkey testing
There are three types of Monkey testing:
Dumb monkey tests: In Dumb monkey tests the testers have no knowledge of the product or application. They do not have any idea about their inputs whether it’s valid or invalid. They are also known as ‘Ignorant monkeys’.
Smart monkey tests: In Smart monkey tests the testers have a good idea of the system or application. They know exactly the product’s functionality. They provide the valid inputs to perform testing.
Brilliant monkey tests: In Brilliant monkey tests the testers have fair idea as how the users are using the product and they carry out their testing with the user’s perspective.