A Survey of Exploratory Testing
Created and summarized by Brian Marick.
Different people mean different things by "exploratory
testing". But it seems to have these elements:
- An interweaving of test design and test
execution. This is in contrast to a process in which the
tests are all designed first, then run later.
- A notion that the tester is learning
about the product by testing it.
- An emphasis on creativity and
spontaneity.
- (Sometimes) An expectation that exploratory testing will change
the allocation of effort. Testing thus precedes some
parts of test planning.
The following links cover different aspects of exploratory
testing.
Why explore?
How to explore?
- James Bach defines
exploratory testing as an interactive process of
concurrent product exploration, test design, and test
execution. The heart of exploratory testing can be stated
simply: "The outcome of this test influences the
design of the next test." Exploratory testing is
almost always based on heuristic (non-rigorous) test
design, just as scientific exploration is a heuristic
process.
James was commissioned by Microsoft to produce a formal
procedure for exploratory testing for use in the Windows
2000 Application Certification program. The General
Functionality and Stability Test Procedure is, as far
as we know, the first published formal procedure for
exploratory testing. It's a product of Bach's belief that
exploratory testing is a teachable skill, not merely a
mystical art. It is a PDF
file and is used by permission of James Bach.
- Chris Agruss and Bob Johnson describe an ad hoc test as one you
intend to run only once, unless it discovers a defect. In
their paper, they have a justification, examples, and
techniques. It is a PDF
file and is used by permission.
Related Testing Craft Pages
Be the first person to add a comment in the
Wiki Forum at page ExploratoryTesting.
(The Forum is explained in its FrontPage.)
In this spot, the author of this page
will occasionally summarize the discussion in the Forum.