Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for...
Transcript of Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for...
![Page 1: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/1.jpg)
@maaretp http://maaretp.com
Exploratory Testing an API
by Maaret Pyhäjärvi
![Page 2: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/2.jpg)
@maaretp http://maaretp.com
Testers don’t break your code, they break your
illusions about the code. -- adapted from James Bach
![Page 3: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/3.jpg)
@maaretp http://maaretp.com
Exploratory testing is a systematic approach for discovering risks using
rigorous analysis techniques coupled with testing heuristics.
![Page 4: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/4.jpg)
@maaretp http://maaretp.com
Teaching Exploratory Testing in a Mob
![Page 5: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/5.jpg)
@maaretp http://maaretp.com
An application programming interface (API) is a set of
routines, protocols, and tools for building software and
applications.
![Page 6: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/6.jpg)
@maaretp http://maaretp.com
Product is my external imagination
I am my developer’s external imagination
![Page 7: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/7.jpg)
@maaretp http://maaretp.com
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 8: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/8.jpg)
@maaretp http://maaretp.com
Example A Unit Testing Library
![Page 9: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/9.jpg)
@maaretp http://maaretp.com
The Test Target
![Page 10: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/10.jpg)
@maaretp http://maaretp.com
![Page 11: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/11.jpg)
@maaretp http://maaretp.com
![Page 12: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/12.jpg)
@maaretp http://maaretp.com
![Page 13: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/13.jpg)
@maaretp http://maaretp.com
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 14: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/14.jpg)
@maaretp http://maaretp.com
Reporters do
• Waiting • Scrubbing (removing common inconsistencies) • Execution • Launching • Serialization • Decompilation • Chain of responsibility • Creating Approved file • Environmental awareness
I LEARNED ABOUT FUNCTIONS
![Page 15: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/15.jpg)
@maaretp http://maaretp.com I LEARNED ABOUT THE ENVIRONMENT
![Page 16: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/16.jpg)
@maaretp http://maaretp.com
Patterns of Exploration for APIs
Lessons Distilled
![Page 17: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/17.jpg)
@maaretp http://maaretp.com
Working with limited understanding: Focus!
![Page 18: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/18.jpg)
@maaretp http://maaretp.com
Calls and Operations. Inputs and Outputs.
Exceptions.
![Page 19: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/19.jpg)
@maaretp http://maaretp.com
Target of your testing vs. the environment
it depends on
![Page 20: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/20.jpg)
@maaretp http://maaretp.com
Specific user with a specific purpose
![Page 21: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/21.jpg)
@maaretp http://maaretp.com
Why would anyone use this?
![Page 22: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/22.jpg)
@maaretp http://maaretp.com
Think lifecycle Versioning and Deprecation
![Page 23: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/23.jpg)
@maaretp http://maaretp.com
Google for Concepts like “Conservative Overloading Strategy”
![Page 24: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/24.jpg)
@maaretp http://maaretp.com
Fast-track your understanding:
collaborate
![Page 25: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/25.jpg)
@maaretp http://maaretp.com
Documentation Matters a Lot for APIs
![Page 26: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/26.jpg)
@maaretp http://maaretp.com
Explore to create documentation
![Page 27: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/27.jpg)
@maaretp http://maaretp.com
Some patterns become visible with repetition
![Page 28: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/28.jpg)
@maaretp http://maaretp.com
Disposable test automation
![Page 29: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/29.jpg)
@maaretp http://maaretp.com
What Testing gives Us U
nit T
estin
g
Expl
orat
ory T
estin
g
SPEC FEEDBACK REGRESSION GRANULARITY
GUIDANCE UNDERSTANDING
MODELS SERENDIPITY Testing as
artifact creation
Testing as performance
![Page 30: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/30.jpg)
@maaretp http://maaretp.com
Before implementing
While implementing
Before production
While in production
Testing as artifact creation
Testing as performance (exploration)
Ways to think of testing peak at different moments with regards to adding a capability
TOTALS
Testing is Everywhere!
![Page 31: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/31.jpg)
@maaretp http://maaretp.com
The value of another’s experience is to give us
hope, not to tell us how or whether to proceed
- Peter Block
Experience Reports over Definitions or Methods
![Page 32: Exploratory Testing - TUNI€¦ · @maaretp Exploratory testing is a systematic approach for discovering risks using rigorous analysis techniques coupled with testing heuristics.](https://reader034.fdocuments.net/reader034/viewer/2022042405/5f1e51314ee18b57941bf8d8/html5/thumbnails/32.jpg)
@maaretp http://maaretp.com
Maaret Pyhäjärvi Email: [email protected] Twitter: @maaretp Web: maaretp.com Blog: visible-quality.blogspot.fi (please connect with me through Twitter or LinkedIn)