Ad hoc testing is an informal and unstructured type of software testing that aims to find defects and errors as early as possible in the testing process. This type of testing is typically done randomly and is unplanned, meaning that it does not follow any documentation or test design techniques. The goal of ad hoc testing is to identify potential issues in the software that may not have been found through more structured testing methods.