Ad hoc testing is a commonly used term for planned software testing that is performed without initial test case documentation;[1] however, ad hoc testing can also be applied to other scientific research and quality control efforts.[2] Ad hoc tests are useful for adding additional confidence to a resulting product or process, as well as quickly spotting important defects or inefficiencies,[1][3] but they have some disadvantages, such as having inherent uncertainties in their performance[4][5] and not being as useful without proper documentation post-execution and -completion.[1][3] Occasionally, ad hoc testing is compared to exploratory testing as being less rigorous, though others argue that ad hoc testing still has value as "improvised testing that deals well with verifying a specific subject."[6]
Ad hoc testing of software
When testing software, that testing may be methodical or more improvisational. Methodical testing will include written test cases, which detail their own set of specified inputs, execution conditions, testing procedures, and expected results as a means of achieving a particular software testing objective.[7] Ad hoc testing may have a more "improvisational" feel to it as initial test cases are not documented and the tester's intuition, skillset, and experience are more relevant;[1][3] however, ad hoc testing of software is still largely a planned activity.[1] The tester still intends to apply—as part of the overall software development process—their own methodology to find bugs not anticipated for by planned test cases using any means that seem appropriate given the situation.[1][3] Ad hoc testing can, for example, be an extension of existing documented test cases but intend to apply invented variations of those test cases improvisationally without formally documenting the specifics beforehand.[3] However, as Desikan notes, to get the most from an ad hoc test and limit its downsides, the test should be properly documented post-execution and -completion, and the results report should address how any defects were identified in a step-by-step manner.[1]
Ad hoc testing in other scientific pursuits
Ad hoc testing is not limited to software development. Ad hoc testing has been applied in other scientific and quality management scenarios. For example, ad hoc testing has been applied in standardized on-site testing at healthcare facilities of "the electromagnetic immunity of medical devices and help identify interference issues that might exist with critical medical devices as a result of emissions from RF transmitters," using IEEE/ANSI C63.18-2014.[2][4][5][8] Other areas where ad hoc testing has been applied include: