0% found this document useful (0 votes)
7 views

Rediscover Exploratory Testing

Rediscover-exploratory-testing

Uploaded by

jiji
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Rediscover Exploratory Testing

Rediscover-exploratory-testing

Uploaded by

jiji
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 51

Exploratory Testing

Rediscover the art of exploratory testing

Ingo Philipp
www.tricentis.com
E2E Test Automation Load Testing Test Management Process Automation
@IngoPhilipp ‹› Glasses don't do the seeing, tools don't do the testing.

Just as glasses do not see, tools do not test.


Glasses help us to see, tools help us to test

James Bach
@IngoPhilipp ‹› Testing is not test cases just as recipes is not cooking.

Testing is no more about test cases


than astronomy is about telescopes

Ingo Philipp

∷ Inspired by Edsger Wybe Dijkstra & Michael Bolton


‹› Automation accelerates, intensifies, amplifies, often simplifies, and sometimes even enables testing.

If we’re testing badly, then automation can


help us to test badly at an accelerated rate

Michael Bolton

@vertaontest ‹› If you automate chaos, all you get is faster chaos.


‹› Confusing testing with automation is a dangerous thing.

Testing? There's only automation!


We automate everything Oops

Damn!
OK, there's testing, and testing
is probably more than just automation.
We're just not convinced that we really need it

∷ Inspired by Brendan Leonard


Test Case
Passing
Test Case
Passing
Test Case

@iamdevloper
© BBC
Testing is exactly like
washing a pig. Because
it’s messy. It has no rules. No
clear beginning, middle, or end.
It’s kind of a pain in the ass,
and when you’re done you’re
not sure if the pig is really clean
or even why you were washing
a pig in the first place.

∷ Inspired by Luke Sullivan © BBC


‹› We actually wash a performing pig.

Testing is exactly like


washing a pig. Because
it’s messy. It has no rules. No
clear beginning, middle, or end.
It’s kind of a pain in the ass,
and when you’re done you’re
not sure if the pig is really clean
or even why you were washing
a pig in the first place.

∷ Inspired by Luke Sullivan


‹› We actually wash a performing pig.
That’s what we can know

Testing is exactly like


washing a pig. Because
it’s messy. It has no rules. No
clear beginning, middle, or end.
It’s kind of a pain in the ass,
and when you’re done you’re
not sure if the pig is really clean
or even why you were washing
a pig in the first place.

∷ Inspired by Luke Sullivan


© Richard Bradshaw That’s what we can know

Problem

Testing is exactly like


washing a pig. Because That’s what we know

it’s messy. It has no rules. No


clear beginning, middle, or end. That’s
It’s kind of a pain in the ass, what we
check
and when you’re done you’re
not sure if the pig is really clean
or even why you were washing
a pig in the first place.
Knowledge Gap

∷ Inspired by Luke Sullivan


© Richard Bradshaw That’s what we can know

Problem
The purpose of testing is to
close the knowledge gap That’s what we know

That’s
The goal is information, what we
not gratuitous automation check

Testing is and always will be


a search for information
Knowledge Gap

∷ Cem Kaner
© www.wikipedia.org – How to use toilet paper?

Under Over

Confirmation Exploration
« Demonstrate your depth of knowledge » « Demonstrate your breadth of knowledge »
Change Detector Problem Detector

Low Information Value High Information Value


Here we check what we have already learned Here we learn something new about software

Monitor Known Risks Analyze Potential Risks


Here we confirm what we already know Here we focus on the things we don’t know

Mechanical Testing Creative Testing


Here we process predesigned data in predefined steps Here we create new test ideas

Confirmation Exploration
« Demonstrate your depth of knowledge » « Demonstrate your breadth of knowledge »

∷ Bolton ‹› Kaner ‹› Bach


Change Detector Problem Detector
Does this assertion pass or fail?

High Information Value


Here we learn something new about software

Analyze Potential Risks


Here we focus on the things we don’t know

Evaluate a product by applying algorithmic


Creative Testing
Here we create new test ideas
decision rules to specific observations of a product

Checking Exploration
« Requires Processing » « Demonstrate your breadth of knowledge »

∷ Bolton ‹› Kaner ‹› Bach


Change Detector Problem Detector
Does this assertion pass or fail? Is there a problem here?

Evaluate a product by applying algorithmic Evaluate a product by learning about it


decision rules to specific observations of a product through exploration and experimentation

Checking Exploring
« Requires Processing » « Requires Thinking »

∷ Bolton ‹› Kaner ‹› Bach


Change Detectors ‹› Monitor Known Risks
Problem Detector
Evaluate through Pay attention to Is there a problem here?
Instructions Deviations

Create Follow
Test Cases Procedure

Examine Factory
Requirements Process
Evaluate a product by learning about it
through exploration and experimentation

Checking Exploring
« Requires Processing » « Requires Thinking »

∷ Rich Rogers
Change Detectors ‹› Monitor Known Risks Problem Detectors ‹› Analyze Potential Risks

Evaluate through Pay attention to Investigate through Pay attention to


Instructions Deviations Experiments Oracles

Create Follow Create Follow


Test Cases Procedure Test Ideas Clues

Examine Factory Examine Adaptive


Requirements Process Risks Investigation

Checking Exploring
« Requires Processing » « Requires Thinking »

∷ Rich Rogers
Change Detectors ‹› Monitor Known Risks Problem Detectors ‹› Analyze Potential Risks

Creative Process
Evaluate through Pay attention to Investigate through Pay attention to
Instructions Deviations Experiments Oracles
Mechanical Process

Create Follow Create Follow


Test Cases Procedure Test Ideas Clues

Examine Factory Examine Adaptive


Requirements Process Risks Investigation

Checking Exploring
« Requires Processing » « Requires Thinking »

∷ Rich Rogers Robots Investigators


‹› If your test case is good-for-nothing, you are probably good-for-nothing.

Behind a test case, there's a test. Behind a test, there's a


test idea. Behind a test idea, there's a human tester

Ingo Philipp

∷ Just as you don't blame gravity for falling flat on your face, you shouldn't blame your tools for your poor test cases.
‹› Exploration isn’t something special in testing, it is central to testing, and so all true testing is exploratory.

Checking is a guest in the house of testing,


exploration is a permanent resident

Michael Bolton
‹› The coin of testing has two sides.

Checked
Machine & Human Checking

+
Agile Explored
Human Exploration
Testing Equation
=
Tested
Thorough Testing

∷ Elisabeth Hendrickson
Machine
Checking
Human
Checking
Checked
Machine & Human Checking

+
Exploratory
Testing Explored
Human Exploration

=
Manual
Testing Tested
Thorough Testing
‹› Think of AI-assisted testing, not AI-based testing.

∷ Picture by Shelly Palmer


‹› The beautiful thing about learning exploratory testing is that no one can take it away from you.

Exploratory testing is not a talent,


it’s a set of skills that can be learnt

Ingo Philipp

∷ Inspired by Edward de Bono


Technique Approach
Provides Systematic Procedure Provides Orientation
1
2
3

Technique 4
Provides Systematic Procedure 5
Session-Based Testing
Structure exploratory testing to allow large-scale implementations

2
3

Technique 4
Provides Systematic Procedure 5
∷ Jonathan Bach
Session-Based Testing
Structure exploratory testing to allow large-scale implementations

2
3
4
5
Straightjacketed Imagination
Session-Based Testing
Structure exploratory testing to allow large-scale implementations

Chartered
2
Uninterrupted
Reviewable 3
Session 4
5
∷ Jonathan Bach
Session-Based Testing
Structure exploratory testing to allow large-scale implementations

2
3
Timebox 4
5
∷ Jonathan Bach
Session-Based Testing
Structure exploratory testing to allow large-scale implementations

2
3
Charter 4
5
∷ Jonathan Bach
Session-Based Testing
Structure exploratory testing to allow large-scale implementations

Requirements-Based Testing
Limit the scope to make it manageable

3
Scope 4
5
Validation
Does our software meets the user's needs?
Session-Based Testing
Structure exploratory testing to allow large-scale implementations

Actual
Product Requirements-Based Testing
Limit the scope to make it manageable

3
You

Product
Description
Product
Idea 4

Verification
5
Does our software meet the specification?
‹› Use BDD to create a shared understanding.

Session-Based Testing
Structure exploratory testing to allow large-scale implementations

Requirements-Based Testing
Limit the scope to make it manageable
Nobody (e.g. product owner)
can make you (e.g. tester) think
BDD is the art of using 3
& feel as deeply as they do about
examples in conversations software. Be aware of this fact
to illustrate behavior to explore this gap.
4
Liz Keogh

5
∷ Inspired by Daniel Saint
‹› BDD is about understanding, not test case automation.

Session-Based Testing
Structure exploratory testing to allow large-scale implementations
Having
Conversations Requirements-Based Testing
Limit the scope to make it manageable
is more important than Nobody (e.g. product owner)
can make you (e.g. tester) think
Capturing 3
& feel as deeply as they do about
Conversations software. Be aware of this fact
to explore this gap.
is more important than
4
Automating
Conversations 5
∷ Liz Keogh ‹› CAST 2018 ∷ Inspired by Daniel Saint
‹› We don't just explore the unknown in our software.

Session-Based Testing
What Structure exploratory testing to allow large-scale implementations
product
owners
think Requirements-Based Testing
Limit the scope to make it manageable
What they
Nobody (e.g. product owner)
can put into can make you (e.g. tester) think
words
3
& feel as deeply as they do about
software. Be aware of this fact
What they
to explore this gap.
say to their
teams 4
What you usually
understand
5
∷ arcfly.blogspot.com ∷ Inspired by Daniel Saint
R » Recent Session-Based Testing
What parts of the product changed recently? Structure exploratory testing to allow large-scale implementations

C » Core
What critical parts of the product must continue to work? Requirements-Based Testing
Limit the scope to make it manageable

R » Risky
What parts of the product are inherently risky?

3
C » Configuration
What parts of the product depend on environment settings?

R » Repaired 4
What parts of the product changed to address defects?

C » Chronic
What parts of the product chronically break?
5
∷ Karen Johnson
S » Structure Session-Based Testing
Test what the product is made of. Structure exploratory testing to allow large-scale implementations

F » Function
Test what the product does. Requirements-Based Testing
Limit the scope to make it manageable

D » Data
Test what the product processes.

3
P » Platform
Test what the product depends upon.

O » Operations 4
Test how the product is used.

T » Time
Test how the product is affected by time.
5
∷ James Bach
Supermodel
Tour
Session-Based Testing
Structure exploratory testing to allow large-scale implementations
Saboteur Museum
Tour Tour
Requirements-Based Testing
Limit the scope to make it manageable

Tour-Based Testing
Set concrete goals to provide a clear focus

Goals
FedEx
4
Tour
Money
Tour 5
Couch Potato
Tour
∷ James Whittaker
Session-Based Testing
Structure exploratory testing to allow large-scale implementations

Requirements-Based Testing
Limit the scope to make it manageable

Tour-Based Testing
Set concrete goals to provide a clear focus

@speed

Quality 4

Quality is value to some person 5


∷ Jerry Weinberg
Session-Based Testing
Quality is inherently subjective Structure exploratory testing to allow large-scale implementations

Different stakeholders Requirements-Based Testing


Limit the scope to make it manageable
will perceive the same product as
having different levels of quality
Tour-Based Testing
Set concrete goals to provide a clear focus

We must look for different


things for different stakeholders 4
We must diversify testing 5
∷ Jerry Weinberg
Session-Based Testing
Structure exploratory testing to allow large-scale implementations

Requirements-Based Testing
Limit the scope to make it manageable

Tour-Based Testing
Set concrete goals to provide a clear focus

Polychrome Testing
Explore the product from different viewpoints to diversify testing

5
Creative
Session-Based Testing
Structure exploratory testing to allow large-scale implementations
Control Critical

Requirements-Based Testing
Limit the scope to make it manageable

Tour-Based Testing
Set concrete goals to provide a clear focus

Polychrome Testing
Diversity Explore the product from different viewpoints to diversify testing

Positive Factual
5
Emotional
© Edward De Bono
Session-Based Testing
Structure exploratory testing to allow large-scale implementations

Requirements-Based Testing
Limit the scope to make it manageable

Tour-Based Testing
Set concrete goals to provide a clear focus

Polychrome Testing
Ideas Explore the product from different viewpoints to diversify testing

Scenario-Based Testing
Capture each test idea to make it reviewable
‹› Testing is enactment of critical thinking about software to help people make better decisions.

Testing is not so much a thing you do,


it’s far more a way you think

Michael Bolton
?
Questions
The show is over. It’s your turn.

You might also like