Ad hoc programska oprema je programska oprema, ki je preizkušena, ustvarjena ali drugače upravljana brez posebnega načrtovanja ali vnaprejšnjega načrtovanja. Ta splošni izraz se najpogosteje uporablja za opis testiranja programskih izdelkov, kjer je v nasprotju z drugimi, bolj strogo načrtovanimi metodami testiranja. Ad hoc programska oprema je tudi poslovno ime na nekaterih območjih sveta. Nekateri ga poznajo tudi kot akronim za francosko vrsto programske opreme za opazovanje.
Različne tehnične skupnosti imajo lahko nekoliko drugačne definicije, kaj je ad hoc programska oprema. Večina identificira ad hoc programsko opremo kot aplikacije, ki nastanejo precej naravno ali skoraj naključno, brez veliko načrtovanja ali izdelave prototipov in načrtovanih parametrov, specifičnih za fazo. Kot je navedeno, je ad hoc testiranje pristop, ki ga uporabljajo nekateri razvijalci za hitro in učinkovito testiranje programske opreme. Drugi odsvetujejo ta bolj neformalni postopek testiranja.
Nekateri strokovnjaki na področju IT razlagajo ad hoc testiranje programske opreme kot “enkratni” test; takšen test bi se izvedel samo enkrat, razen če med potekom testa razvijalci opazijo kritično napako. Te napake v tehnologiji se v profesionalnem žargonu pogosto imenujejo “hroščki”. Če bi našli enega ali več od teh v ad hoc testu, bi programerje na splošno prisililo, da se vrnejo in pregledajo pomembne dele kodiranja za program ali testirajo na bolj načrtovane ali strožje načine.
Alternative ad hoc testiranju programske opreme vključujejo testiranje sprejemljivosti in regresijsko testiranje. Te vrste testiranja vključujejo ponovno izvedbo testa za dodatno učinkovitost. Nekateri razvijalci vidijo razloge za vedno uporabo teh bolj formalnih metod testiranja. Na primer, ko programska oprema zagotavlja učinkovito zaščito zdravja ali varnosti, bo morda potrebno odvečno testiranje. To velja tudi, če je testiranje programske opreme povezano z inženiringom transportnih projektov ali drugih projektov, od katerih so odvisna življenja ljudi.
Za programsko opremo, ki ni »življenjsko kritična«, se razvijalci razlikujejo glede tega, ali zadoščajo ad hoc metode testiranja. Ideja o “raziskovalnem testiranju” ali bolj neformalnem ali randomiziranem pristopu pridobiva zagon v nekaterih krogih IT skupnosti. Čeprav v vrhunskih podjetjih pogosto prevladujejo splošni standardi za odvečno testiranje, obstaja splošna polemika o tem, katere metode testiranja so najbolj zaželene.
Nekateri strokovnjaki za IT menijo, da je naslov “ad hoc programska oprema” včasih napačno uporabljen. Zdi se, da besedna zveza pretirano označuje nekatere programske izdelke in testiranje. Uporaba bolj zapletenih oznak bi lahko pomagala končnim uporabnikom in drugim, da bi bolje razumeli, kako se razvijajo posamezni programski izdelki.