Testing carried out using no recognized test case design technique and it is a
test executed without prior planning; especially if the expected test outcome is
not predicted beforehand. An undocumented test.
One of the best uses of ad hoc testing is for discovery. Reading the
requirements or specifications (if they exist) rarely gives you a good sense of
how a program actually behaves. Even the user documentation may not capture the
�look and feel� of a program. Ad hoc testing can find holes in your test
strategy, and can expose relationships between subsystems that would otherwise
not be apparent. In this way, it serves as a tool for checking the completeness
of your testing. Missing cases can be found and added to your testing arsenal.
Finding new tests in this way can also be a sign that you should perform root
cause analysis. Ask yourself or your test team, �What other tests of this class
should we be running?� Defects found while doing ad hoc testing are often
examples of entire classes of forgotten test cases.