AATC2016: Exploratory testing an API
-
Upload
maaret-pyhaejaervi -
Category
Software
-
view
566 -
download
0
Transcript of AATC2016: Exploratory testing an API
![Page 1: AATC2016: Exploratory testing an API](https://reader034.fdocuments.net/reader034/viewer/2022042619/58714e111a28ab55588b7377/html5/thumbnails/1.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042619/58714e111a28ab55588b7377/html5/thumbnails/2.jpg)
Testing as Performance (Exploring) vs. Testing as Artifact Creation
![Page 3: AATC2016: Exploratory testing an API](https://reader034.fdocuments.net/reader034/viewer/2022042619/58714e111a28ab55588b7377/html5/thumbnails/3.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042619/58714e111a28ab55588b7377/html5/thumbnails/4.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042619/58714e111a28ab55588b7377/html5/thumbnails/5.jpg)
Product is my external imagination
I am my developer’s external imagination
![Page 6: AATC2016: Exploratory testing an API](https://reader034.fdocuments.net/reader034/viewer/2022042619/58714e111a28ab55588b7377/html5/thumbnails/6.jpg)
Our Test Target
![Page 7: AATC2016: Exploratory testing an API](https://reader034.fdocuments.net/reader034/viewer/2022042619/58714e111a28ab55588b7377/html5/thumbnails/7.jpg)
Mob Testing – Rules for the Exercise
• No thinking as the driver• Yes, and…
• Kindness, consideration and respect
![Page 8: AATC2016: Exploratory testing an API](https://reader034.fdocuments.net/reader034/viewer/2022042619/58714e111a28ab55588b7377/html5/thumbnails/8.jpg)
From Michael Sahota
STIC
KY N
OTE
S DO
NE
RIGH
T
![Page 9: AATC2016: Exploratory testing an API](https://reader034.fdocuments.net/reader034/viewer/2022042619/58714e111a28ab55588b7377/html5/thumbnails/9.jpg)
SUMMARY
![Page 10: AATC2016: Exploratory testing an API](https://reader034.fdocuments.net/reader034/viewer/2022042619/58714e111a28ab55588b7377/html5/thumbnails/10.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042619/58714e111a28ab55588b7377/html5/thumbnails/11.jpg)
Notes from #AATC16 group
![Page 12: AATC2016: Exploratory testing an API](https://reader034.fdocuments.net/reader034/viewer/2022042619/58714e111a28ab55588b7377/html5/thumbnails/12.jpg)
StructureFunction
DataPlatform
OperationsTime
SFDPOT heuristics from James Bach / Michael Bolton, Rapid Software Testing
![Page 13: AATC2016: Exploratory testing an API](https://reader034.fdocuments.net/reader034/viewer/2022042619/58714e111a28ab55588b7377/html5/thumbnails/13.jpg)
I LEARNED ABOUT THE ENVIRONMENT
![Page 14: AATC2016: Exploratory testing an API](https://reader034.fdocuments.net/reader034/viewer/2022042619/58714e111a28ab55588b7377/html5/thumbnails/14.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042619/58714e111a28ab55588b7377/html5/thumbnails/15.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042619/58714e111a28ab55588b7377/html5/thumbnails/16.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042619/58714e111a28ab55588b7377/html5/thumbnails/17.jpg)
Testers don’t break your code, they break your
illusions about the code. -- adapted from James Bach
![Page 18: AATC2016: Exploratory testing an API](https://reader034.fdocuments.net/reader034/viewer/2022042619/58714e111a28ab55588b7377/html5/thumbnails/18.jpg)
#MobProgrammingGuidebook