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. The application is tested randomly without any application knowledge.
Monkey testing is a type of testing in which an 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 to follow. It is completely random.
- It can be automated by scripting random application flows with random test data. Although preferably, we should not automate this.
Types of Monkey Testing
It is broadly classified into 3 types-
- Dumb Monkey – The tester performing the monkey testing doesn’t have any knowledge of the application under test.
- Smart Monkey – With this type of testing, the tester has a fair idea of the application to be tested.
- Brilliant Monkey – These types of testers have a very good idea of the application. They can also test the application based on the user’s perspective.
Advantages of Monkey Testing
- It can uncover defects that 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.
- It is cost-effective also as it doesn’t require any special setup or skilled resources.
Disadvantages of Monkey Testing
- Since it is random in nature, so it is hard to find bugs also.
- Even when the bugs are found, it is very hard to reproduce the exact steps to reproduce the bugs.
- It can be very time-consuming with very fewer bugs to show.
- Since it is completely random, so good test coverage cannot be guaranteed or measured.
With this, we have come to the end of this tutorial. Do check out our software testing tutorial series for more resources on manual and automated software testing.
Kuldeep is the founder and lead author of ArtOfTesting. He is skilled in test automation, performance testing, big data, and CI-CD. He brings his decade of experience to his current role where he is dedicated to educating the QA professionals. You can connect with him on LinkedIn.