Question: what is the difference between exploratory and ad hoc?
Answer: Ad Hoc Testing implies learning of the software before its testing. During Exploratory Testing, you learn and test the software simultaneously. Before Ad Hoc Testing, we collect data on the particular software from different resources, and then we start the testing.