Hello friends! today we are going to learn about an interesting testing type - Monkey testing. It is also one of the basic testing interview questions. Before diving deep into formal definition and technicalities, let's just think what would happen if a monkey is given a machine with an application to test. The monkey will just pass random input to the application. This precisely happens in monkey testing- application is tested randomly without any application knowledge.
Monkey testing definition
Monkey testing is a type of testing in which application is tested with random input without following any predefined flow or set of test cases. The intent is to crash or break the system under test.
Features of monkey testing
- The tester performing monkey testing isn't necessarily required to have the application's understanding.
- There are no pre-defined set of test cases in monkey testing.
- It can be automated by scripting random application flows with random test data.
Advantages of monkey testing
- It can uncover defects which are otherwise difficult to find.
- Because of the intent to crash the application, it is widely used in stress testing.
- It doesn't require skilled resources to carry out the testing.
Disadvantages of monkey testing
- Since it is random in nature, so bugs if found are very hard to reproduce.
- It can be very time consuming with very less bugs to show.
- Since it is completely random, so no sense of test coverage can be guaranteed.