What is Monkey test?

Monkey test is a technique in which testers enter random variables to test application behavior or performance.

So why should we apply the Monkey test?

As the name, the tester will act like a monkey who may not know anything about the computer or how the system is operated. The mindset of this tester is not as complicated as the programmer or program creator but they can accidentally make mistakes that no one would expect.

Have a good user but can not be sure there will be no bad users. To eliminate these factors may adversely affect the system, you need people with destructive thinking can do. It can cause major damage if the system has automated many operations and they do not automatically detect the error.

In some cases, Monkey testing is also used in Unit Testing or GUI Testing.

Advantages of Monkey Test:

  • Easy to do
  • No need to be a person who knows a lot about programming, maybe even starts with someone who doesn't know code.
  • An effective way to test the software's reliability
  • It is possible to detect major errors that are beyond the expectations of the programmer and the manual tester.
  • There is no need to know the test-case of the system before testing.
  • No need to buy an app.

Disadvantages of Monkey test

  • It may take several days to discover an error
  • Fewer errors than other types of tests.
  • Sometimes can not recreate the error (because it is done at random)

Types of Monkey tests:

1. Dumb Monkey: Tester has no knowledge of the system and its functions, nor is there a guarantee of test case validity.

  • No idea what the app is
  • Does not know if the input value is valid or invalid
  • Check the application randomly and not aware of the starting point of the application or the end of the stream.
  • Although they are not aware of the application, they can still define errors such as environmental or hardware errors
  • No comment much about UI and functionality

2. Smart Monkey: The tester is knowledgeable about the system, understands its purpose and functions, and the input of the test case is valid.

  • Have a brief idea about the application
  • Know where the app's pages will lead
  • Know the validity of the input value.
  • Work or concentrate to ruin the system
  • When finding errors, they are smart enough to catch errors
  • Know and understand menus and buttons
  • Ability to stress and load test piles

3. Brilliant Monkey: Tester performs tests according to user behavior, some special bugs may occur.

Monkey Testing the random test but can not ignore the test results recorded. Monkey Testing is more effective when combined with the use of tools. It can even be used to find additional bugs like other testing types. Don't forget to choose a tool to record test results, report to stakeholders, store and use in the future.