Ad hoc software is software that is tested, created, or otherwise operated on without specific planning or premeditation. This general term is most often used to describe the testing of software products, where it contrasts to other more strictly planned testing methods. Ad hoc software is also a business name in some areas of the world. Some also know it as an acronym for a French type of observational software.
Different technical communities might have slightly different definitions of what ad hoc software is. Most identify ad hoc software as applications that arise rather naturally, or almost randomly, without a lot of blueprinting or prototyping and stage-specific planned parameters. As referenced, ad hoc testing is an approach that some developers take to quickly and effectively test software. Other advise against this more informal testing process.
Some professionals in IT explain ad hoc software testing as a “one time” test; such a test would only be run once, unless, during the course of the test, developers see a critical error. These errors in technology are often called “bugs” in professional lingo. Finding one or more of these in an ad hoc test would generally compel programmers to go back and review significant parts of coding for a program, or testing in more planned or rigorous ways.
Alternatives to ad hoc software testing include acceptance testing and regression testing. These types of testing involve re-executing a test for additional effectiveness. Some developers see reasons for always using these more formal testing methods. For example, when software provides an effective health or safety protection, redundant testing may be required. This is also true when software testing relates to the engineering of transportation projects or other projects on which people's lives depend.
For software that is not “life-critical,” developers differ on whether ad hoc testing methods are sufficient. The idea of “exploratory testing” or a more informal or randomized approach is gaining momentum in some circles of the IT community. Although general standards for redundant testing often prevail at top firms, there is a general controversy over specifically which testing methods are most desirable.
Some IT pros feel that the title, “ad hoc software," is sometimes misapplied. The phrase seems to characterize some software products and testing in an excessive way. Using more complex labels could help end-users and others to more fully understand how individual software products are developed.