Welcome to Exploratory Testing!

This Site
The goal with this site is to build out good, public materials on exploratory testing.
About
Over 30 years ago, Cem Kaner coined the phrase “exploratory testing.” He was the first public advocate of it.
As ET has become fashionable, a host of consultants and academics have started writing and speaking about it. Some of them have helped move the concepts of exploration and testing forward in interesting ways.
What is exploratory testing and how do we do it?
James Bach pointed out the essential characteristic of exploratory testing — the explorer is cognitively present. She actively, purposefully, curiously investigates the software under test, always with the responsibility of deciding, minute by minute, what is the most promising path to whatever she has chosen to investigate. There are no artificial limits on exploration. The tester is free to use whatever sources of information are available, including specifications, technical support records, competitors’ implementations of comparable software, and (of course) experiments (tests) that reveal information empirically. There are no limits on test techniques that explorers can use—for example, any degree of automation is fine. However, the explorer doesn’t simply rerun old tests and trust that they’ll reveal whatever is interesting. She tests to learn. She will probably scrutinize the behavior of the program as it is tested, looking for new ideas about how it might fail, how it might be further tested or measured, and how useful these tests are at this point in development. Test execution might be automated—thinking is not.
The antithesis of exploration is scripted testing, in which the tester (or a machine) follows a set of procedures laid out long ago, comparing the observed behavior with whatever results the test designer considered relevant or interesting back then. The cognition happened back then, not now.
What is the definition?
Ultimately Exploratory Testing is a style (approach) of software testing that emphasizes the personal freedom and responsibility of the individual tester to continually optimize the value of her work by treating test-related learning, test design, test execution and test result interpretation as mutually supportive activities that run in parallel throughout the project. (Kaner)