AD HOC TESTING, also known as Random Testing or Monkey Testing, is a method of software testing without any planning and documentation. The tests are conducted informally and randomly without any formal procedure or expected results.
The tester improvises the steps and arbitrarily executes them (like a monkey typing while dancing). Though defects found using this method are more difficult to reproduce (since there are no written test cases), sometimes very interesting defects are found which would never have been found if written test cases existed and were strictly followed. This method is normally used during Acceptance Testing.
The success of ad hoc testing depends on the creativity and tenacity of the tester (and, of course, luck).