Exploratory software testing is a powerful and fun approach to testing. In some situations, it can be orders of magnitude more productive than scripted testing. I haven't found a tester yet who didn't, at least unconsciously, perform exploratory testing at one time or another. Yet few of us study this approach, and it does not get much respect in our field. It's high time we stop the denial, and publicly recognize the exploratory approach for what it is: scientific thinking in real-time. Friends, that's a good thing.
http://www.qualitestgroup.com
3. Scripted Testing Defined
• Dividing test design from the test execution.
• Commonly includes detailed documentation with
instructions of how to test.
• Suppresses thinking out of test execution.
• Step by step instructions with a pass/fail criteria based on
set of expected results.
• Commonly utilizes different resources for test design and
execution.
• Considered by some to be the only “correct” software
testing method.
• Can be both manual or automated
4. Issues with Scripted Testing
• Does not allow the testing team to take advantage of the learning
in the process
• Assumes the product is “locked down”.
• Encourages conformity, not thinking
• Requires lots of planning and documentation.
• Leads to bugs being found later in the process
• Less likely to find the most important and complex bugs.
• Inattentional Blindness - focusing attention on some aspects of the
system which lead to not focusing on other parts.
• Prevent good test coverage when done to an extreme
• Can be boring for the tester.
5. ET explained
• Learn, Design & execute - combine learning about the
software, the test design and the test execution into a
continues self feeding process.
• Spend more of your tester’s time on core testing activities
• Can provide detailed test execution documentation and
metrics.
• Manageable and auditable
• systematic and teachable
• Assumes testers are smart people, not robots – testing, not
just checking. Testers are in control not the test script.
• Partially being done at AMEX but probably not very well
6. Benefits of ET
• More bugs found.
• Bugs are found earlier.
• More time spent testing, testing can start earlier.
• Not prone to “Inattentional blindness”
• Utilizes tester capabilities and promotes motivation in
the testing team.
• Very flexible
7. Testing to Learn vs.
Testing to Search
Compare these Situations:
– Starting a new project.
– Seeing a new feature for the first time.
– Testing a product deeply to reveal important bugs.
– Investigating a particular bug.
– Re-testing a product after a change.
– Repeated execution of detailed procedural test
scripts.
L
L
L
L
S
S
S
S
L
S
S
8. Technique vs. Approach
• A technique is a specific method that is used
to accomplish a specific goal.
• An approach is the overall manner in which
you act.
• Exploratory Testing is an approach
• All test techniques (i.e. manual, functional)
can be done in either an exploratory or non-exploratory
way.
9. Continuum of Exploration
pure scripted
freestyle exploratory
fragmentary
test cases roles
vague scripts charters
When I say “exploratory testing” and don’t qualify it, I mean anything
on the exploratory side of this continuum.
10. History of ET
• Term was coined by Cem Kaner in 1983 in his book Testing
Computer Software “Trust your instincts”
• Updated description by James Bach: “Exploratory testing is
simultaneous learning, test design, and test execution,
with an emphasis on learning”
• Exploratory testing was further developed by James Bach
in the 90s to include many applications which allow for ET
to be managed and audited.
• Learning is the key difference between exploratory testing
and scripted testing.
11. Session Based Test Management
(SBTM)
• A management technique specifically for ET
• Developed by James Bach
• Insures high accountability from the testing team
• Session Report
– Gather basic information about the test session.
– Brief summaries of hypothesis and tests.
– Notes, Bugs and issues
• Keeps track of certain metrics from the test session.
– Percentage of time spent on charter vs. off-charter (a.k.a. test
opportunity).
– Division of time between setup, testing, bug hunting, and bug reporting.
12. Implementation of ET
• Test Mission and Test Charters
• Test Sessions
• Test Heuristics
13. Test Mission
• Fundamental motivation for the test.
• Why am I testing this?
• All team members must understand and
appreciate the test mission.
14. Test Charters
• The test mission is broken down into
actionable units called test charters.
• They are the theories you are trying to prove
by testing and the general guide for your test
exploration.
• Should be moderately specific.
• Can be feature driver, component driven, or
test driven.
15. Test Sessions
• Period of uninterrupted time where test exploration
occurs.
• Generally lasts 1-2 hours.
• Can be done individually or in pairs.
• Goal is to work on one test charter per session.
• Automated test session recording – screen recording,
screen shots, Virtuology…
• Recording and notating the test session is
recommended
• Notes, Bugs and issues
16. Test Heuristics
• A heuristics is a fallible method for solving a
problem.
• Provides structure to skill.
• ET is based on heavy use of heuristics for the
learning cycle in testing
17. For more information
Visit the QualiTest website:
www.QualiTestGroup.com
Contact QualiTest
1-877-882-9540
or look for QualiTest on:
18. Thank You!
w w w . Q u a l i Te s t G r o u p . c o m