Monkey testing is a type of unit test that executes no specific test cases. Just like the random behavior of a monkey, the tester here imitates a monkey by providing random inputs. This is done to check the stability and workability of the application.
Monkey testing explores the application and catches new bugs which might be missed during regression testing, and allows the QA engineers to find out how the application will behave when some incorrect inputs are provided to the application. This is helpful when the user does not actually have knowledge of the application's workflow.
For example, the user can enter random string/input values into text boxes or provide negative values to check the appropriate validation messages and behavior of the system. This also includes random typing or clicking the links to ensure that the application does not crash.