Upload
maaret-pyhaejaervi
View
558
Download
0
Embed Size (px)
Citation preview
Exploratory Testing An API
Maaret PyhäjärviEmail: <[email protected]> | Twitter: maaretp
Maaret PyhäjärviAttribution (Finland)http://creativecommons.org/licenses/by/1.0/fi/deed.en
Testing as Performance (Exploring) vs. Testing as Artifact Creation
Certainty“I know what I know”
Exploit
Caution“I know what I don’t
know”Explore
Amnesia“I don’t know what I
know”Expose
Ignorance“I don’t know what I don’t
know”Experiment
Looking at World from Different Angles
Uni
t Tes
ting
Expl
orat
ory
Testi
ng
There’s a process
of knowing– it’s called learning
What Testing Gives Us
Uni
t Tes
ting
Expl
orat
ory
Testi
ng
SPECFEEDBACKREGRESSIONGRANULARITY
GUIDANCEUNDERSTANDING
MODELSSERENDIPITYTesting as
artifact creation
Testing as performance
Product is my external imagination
I am my developer’s external imagination
Our Test Target
Mob Testing – Rules for the Exercise
• No thinking as the driver• Yes, and…
• Kindness, consideration and respect
From Michael Sahota
STIC
KY N
OTE
S DO
NE
RIGH
T
SUMMARY
How to Explore
• Do something with it• Find out what is the common thing to do with it• Find out what you could do with it
• Reflect after anything and everything – make notes– What do we know from other connections?– What do we know from empirical evidence?– How do we turn it all into empirical evidence?
Notes from #AATC16 group
StructureFunction
DataPlatform
OperationsTime
SFDPOT heuristics from James Bach / Michael Bolton, Rapid Software Testing
I LEARNED ABOUT THE ENVIRONMENT
Approvers do• Formatting• Sorting• File Extensions• Scrubbing (removing common inconsistencies)• Serialization(saving to a file)• Mocking• Proxying• Rendering• Execution (e.g. retrieve the URL)• Aggregating test cases• File naming• PRINCIPLE: ”Every time you handle this type of object, you do these things to
it.”
I LEARNED ABOUT FUNCTIONS
Reporters do
• Waiting• Scrubbing (removing common inconsistencies)• Execution• Launching• Serialization• Decompilation• Chain of responsibility• Creating Approved file• Environmental awareness
I LEARNED ABOUT FUNCTIONS
A Few Ideas of Exploratory Testing
• It’s not just about GUI and finalized features– You can explore an API– You can adapt to known limitations
• It’s not just for functional– You should do exploratory performance/security … testing
• It’s not without automation– Sometimes you need to do things humans can’t do! –
exploratory test automation• Repeating is seldom an issue
– Vary the data, the environment, the story around your testing – exploratory regression testing
Testers don’t break your code, they break your
illusions about the code. -- adapted from James Bach
#MobProgrammingGuidebook
Maaret PyhäjärviEmail: [email protected]: @maaretpBlog: visible-quality.blogspot.fi
Get in Touch