Ad hoc testing
From Wikipedia, the free encyclopedia
There are two divergent views of ad hoc testing.
To one camp it is software testing performed without planning and documentation. The tests are intended to be run only once, unless a defect is discovered. Ad hoc testing is a part of exploratory testing, being the least formal of test methods. In this view, ad hoc testing has been criticized because it isn't structured, but this can also be a strength: important things can be found quickly. It is performed with improvisation, the tester seeks to find bugs with any means that seem appropriate. It contrasts to regression testing that looks for a specific issue with detailed reproduction steps, and a clear expected result. Ad hoc testing is most often used as a complement to other types of testing.
To the Context-Driven School of testing, ad hoc testing is synonymous with exploratory testing, which is simultaneous learning, test design and test execution. The main advantages of this approach is that more time is spent testing and less time is expended in preparation. Important bugs are found fast, and it is a more intellectually stimulating activity than "scripted" testing. In this view, when executing ad hoc tests, the tester discovers what needs to be tested, understands the system using heuristic methods and other skills, creates notes to determine what needs to be tested, and tests what is currently testable while pushing forward additional testing activities as required or revealed by the system under test. Documentation is created after the tests have been run describing what was tested and what still needs to be tested. Testing is driven by the needs of the system under test, not some document that will be changing repeatedly in the future.