aatc2016: exploratory testing an api

19
Exploratory Testing An API Maaret Pyhäjärvi Email: <[email protected]> | Twitter: maaretp Maaret Pyhäjärvi Attribution (Finland) http ://creativecommons.org/licenses/by/1.0/f i/deed.en

Upload: maaret-pyhaejaervi

Post on 16-Apr-2017

558 views

Category:

Software


0 download

TRANSCRIPT

Page 1: AATC2016: Exploratory testing an API

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

Page 2: AATC2016: Exploratory testing an API

Testing as Performance (Exploring) vs. Testing as Artifact Creation

Page 3: AATC2016: Exploratory testing an API

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

Page 4: AATC2016: Exploratory testing an API

What Testing Gives Us

Uni

t Tes

ting

Expl

orat

ory

Testi

ng

SPECFEEDBACKREGRESSIONGRANULARITY

GUIDANCEUNDERSTANDING

MODELSSERENDIPITYTesting as

artifact creation

Testing as performance

Page 5: AATC2016: Exploratory testing an API

Product is my external imagination

I am my developer’s external imagination

Page 6: AATC2016: Exploratory testing an API

Our Test Target

Page 7: AATC2016: Exploratory testing an API

Mob Testing – Rules for the Exercise

• No thinking as the driver• Yes, and…

• Kindness, consideration and respect

Page 8: AATC2016: Exploratory testing an API

From Michael Sahota

STIC

KY N

OTE

S DO

NE

RIGH

T

Page 9: AATC2016: Exploratory testing an API

SUMMARY

Page 10: AATC2016: Exploratory testing an API

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?

Page 11: AATC2016: Exploratory testing an API

Notes from #AATC16 group

Page 12: AATC2016: Exploratory testing an API

StructureFunction

DataPlatform

OperationsTime

SFDPOT heuristics from James Bach / Michael Bolton, Rapid Software Testing

Page 13: AATC2016: Exploratory testing an API

I LEARNED ABOUT THE ENVIRONMENT

Page 14: AATC2016: Exploratory testing an API

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

Page 15: AATC2016: Exploratory testing an API

Reporters do

• Waiting• Scrubbing (removing common inconsistencies)• Execution• Launching• Serialization• Decompilation• Chain of responsibility• Creating Approved file• Environmental awareness

I LEARNED ABOUT FUNCTIONS

Page 16: AATC2016: Exploratory testing an API

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

Page 17: AATC2016: Exploratory testing an API

Testers don’t break your code, they break your

illusions about the code. -- adapted from James Bach

Page 18: AATC2016: Exploratory testing an API

#MobProgrammingGuidebook

Page 19: AATC2016: Exploratory testing an API

Maaret PyhäjärviEmail: [email protected]: @maaretpBlog: visible-quality.blogspot.fi

Get in Touch