The small difference between Explorative testing and ad-hoc testing
Jul 2, 2019
In the world of testing, a number of different test methods are available. The most used solution is the structured test method. But this is not all. In my project, I had a discussion about the difference between explorative testing and ad-hoc testing. Is there a difference and when should I use either solution?
Explorative testing is not as
“easy” as expected
Explorative testing is
an experience based test method. And this is the most misunderstood topic.
Experience is very important. If you have no testing expert with the correct
know how, he isn’t able to test explorative. The other important topic is test
case creation. Many don’t know that test case creation is one of the end
results of testing in an explorative way.
It is an informal test
design procedure whilst testing – and the information we get while testing – to
create proper and maybe better test cases. For this it is necessary that the
expected behaviour is known or general behaviour (for example a login mask) is
clear.
The result of such a
test are not only bugs and a feeling for the quality, additionally we now have
test cases which corresponds to the real system. In the traditional way test
cases are sometimes outdated before they are executed for the first time.
Ad-hoc testing more than only a bad sound
If I recommend ad-hoc
testing, most people aren’t very happy about it. It sounds like trial and error
or a test that isn’t meaningful, but this isn’t in each case correct. This
method is an informal method. No test preparation and no recognized test design
technique are needed. There are no expected test results before testing and
while testing, it is more than less improvised. It is a little bit like an
arbitrarily test execution.
But why we should use
it? The answer is easy: you don’t need so much experience as for explorative
testing and execution is quicker, because you don’t need to document a test
case (not before testing and not while testing).
Here I explain it with
the example of a login mask. Everybody knows how it works and it is not
necessary to document the test cases here. You can executed the positive test
case for a successfully login. You can test later with a false login name,
password and so on. With the ad-hoc testing technique you are finished with all
tests earlier than with explorative testing, for which you need to record each
test case.
Good test experts needed
The biggest problem
for both techniques is, that you need the correct tester. On the one hand the
test expert should have plenty of experience (in the project or in testing as
such) and on the other hand the test expert should be able to see when each
technique is the correct technique. Explorative and ad-hoc testing should only be
executed by the correct persons, if a wrong person executes the tests it is
possible that errors will not be found and some tests aren’t executed.
This is no surprise
and is similar for traditional techniques. But you have there the option to
split the persons for test case creation and execution. Here it is the same
phase and one person.
Conclusion
Both techniques have
simple differences that most people don’t see and so say both techniques are explorative
testing. The distinction is not big but is relevant and underlines the expected
outcome of a test. After an explorative test you are able to execute the same
test cases later with a not so much experienced person. For ad-hoc testing this
isn’t possible, because you have no new test cases as a result. If needed a
small discussion in your team is helpful before you start with either one of
the test methods.