aatc2016: exploratory testing an api

Post on 16-Apr-2017

566 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Exploratory Testing An API

Maaret PyhäjärviEmail: <maaret@iki.fi> | 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: maaret@iki.fiTwitter: @maaretpBlog: visible-quality.blogspot.fi

Get in Touch

top related