SlideShare a Scribd company logo
1 of 19
Exploratory Testing An API
Maaret Pyhäjärvi
Email: <maaret@iki.fi> | Twitter: maaretp
Maaret Pyhäjärvi
Attribution (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
UnitTesting
ExploratoryTesting
There’s a
process
of
knowing–
it’s called
learning
What Testing Gives Us
UnitTesting
ExploratoryTesting
SPEC
FEEDBACK
REGRESSION
GRANULARITY
GUIDANCE
UNDERSTANDING
MODELS
SERENDIPITYTesting 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
STICKYNOTESDONERIGHT
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
Structure
Function
Data
Platform
Operations
Time
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ärvi
Email: maaret@iki.fi
Twitter: @maaretp
Blog: visible-quality.blogspot.fi
Get in Touch

More Related Content

What's hot

Reliable tests with selenium web driver
Reliable tests with selenium web driverReliable tests with selenium web driver
Reliable tests with selenium web driver
PawelPabich
 
Mock Objects Presentation
Mock Objects PresentationMock Objects Presentation
Mock Objects Presentation
Andriy Buday
 
Waterfalls for Agile in a bag
Waterfalls for Agile in a bagWaterfalls for Agile in a bag
Waterfalls for Agile in a bag
Steve Wells
 

What's hot (20)

Break to build - the mindset of the modern day tester
Break to build - the mindset of the modern day testerBreak to build - the mindset of the modern day tester
Break to build - the mindset of the modern day tester
 
James thomas
James thomasJames thomas
James thomas
 
Create Your Tester Portfolio
Create Your Tester PortfolioCreate Your Tester Portfolio
Create Your Tester Portfolio
 
A Sampling of Tools
A Sampling of ToolsA Sampling of Tools
A Sampling of Tools
 
Agile Testing Days 2014 Keynote - Helping Testers Add Value on Agile Projects
Agile Testing Days 2014 Keynote - Helping Testers Add Value on Agile ProjectsAgile Testing Days 2014 Keynote - Helping Testers Add Value on Agile Projects
Agile Testing Days 2014 Keynote - Helping Testers Add Value on Agile Projects
 
Test Motherfucker...Test
Test Motherfucker...TestTest Motherfucker...Test
Test Motherfucker...Test
 
Reliable tests with selenium web driver
Reliable tests with selenium web driverReliable tests with selenium web driver
Reliable tests with selenium web driver
 
Mocking in python
Mocking in pythonMocking in python
Mocking in python
 
Exploratory testing part 3
Exploratory testing part 3Exploratory testing part 3
Exploratory testing part 3
 
A Mockery of a persentation
A Mockery of a persentationA Mockery of a persentation
A Mockery of a persentation
 
Mock Objects Presentation
Mock Objects PresentationMock Objects Presentation
Mock Objects Presentation
 
Exploratory testing
Exploratory testingExploratory testing
Exploratory testing
 
Making Software Management tools work for you - 2011 PHPBenelux Conference
Making Software Management tools work for you - 2011 PHPBenelux ConferenceMaking Software Management tools work for you - 2011 PHPBenelux Conference
Making Software Management tools work for you - 2011 PHPBenelux Conference
 
Mistakes I have made
Mistakes I have madeMistakes I have made
Mistakes I have made
 
CBDW2014 - MockBox, get ready to mock your socks off!
CBDW2014 - MockBox, get ready to mock your socks off!CBDW2014 - MockBox, get ready to mock your socks off!
CBDW2014 - MockBox, get ready to mock your socks off!
 
Overview of Testing Talks at Pycon
Overview of Testing Talks at PyconOverview of Testing Talks at Pycon
Overview of Testing Talks at Pycon
 
Testing Lessons Learned from Monty Python
Testing Lessons Learned from Monty PythonTesting Lessons Learned from Monty Python
Testing Lessons Learned from Monty Python
 
Waterfalls for agile cambridge
Waterfalls for agile cambridgeWaterfalls for agile cambridge
Waterfalls for agile cambridge
 
Waterfalls for Agile in a bag
Waterfalls for Agile in a bagWaterfalls for Agile in a bag
Waterfalls for Agile in a bag
 
Insoft training day_1
Insoft training day_1Insoft training day_1
Insoft training day_1
 

Similar to AATC2016: Exploratory testing an API

Exploratory testing
Exploratory testingExploratory testing
Exploratory testing
Huib Schoots
 

Similar to AATC2016: Exploratory testing an API (20)

Learn Learning + Prototype Testing
Learn Learning + Prototype TestingLearn Learning + Prototype Testing
Learn Learning + Prototype Testing
 
TestWorksConf: Exploratory Testing an API in Mob
TestWorksConf: Exploratory Testing an API in Mob TestWorksConf: Exploratory Testing an API in Mob
TestWorksConf: Exploratory Testing an API in Mob
 
Agile San Diego: Testing as Exploration (Continuous Delivery w/o Automation)
Agile San Diego: Testing as Exploration (Continuous Delivery w/o Automation)Agile San Diego: Testing as Exploration (Continuous Delivery w/o Automation)
Agile San Diego: Testing as Exploration (Continuous Delivery w/o Automation)
 
Exploratory testing
Exploratory testingExploratory testing
Exploratory testing
 
Clean tests
Clean testsClean tests
Clean tests
 
UK star ultimate testing survival
UK star ultimate testing survivalUK star ultimate testing survival
UK star ultimate testing survival
 
Unit Testing Your Application
Unit Testing Your ApplicationUnit Testing Your Application
Unit Testing Your Application
 
Exploratory Testing Explained
Exploratory Testing ExplainedExploratory Testing Explained
Exploratory Testing Explained
 
Automated Testing but like for PowerShell (April 2012)
Automated Testing but like for PowerShell (April 2012)Automated Testing but like for PowerShell (April 2012)
Automated Testing but like for PowerShell (April 2012)
 
Evil testers guide to technical testing
Evil testers guide to technical testingEvil testers guide to technical testing
Evil testers guide to technical testing
 
Requirementless testing
Requirementless testingRequirementless testing
Requirementless testing
 
Things Could Get Worse: Ideas About Regression Testing
Things Could Get Worse: Ideas About Regression TestingThings Could Get Worse: Ideas About Regression Testing
Things Could Get Worse: Ideas About Regression Testing
 
Incident response before:after breach
Incident response before:after breachIncident response before:after breach
Incident response before:after breach
 
Mixing testing types to improve your testing results
Mixing testing types to improve your testing resultsMixing testing types to improve your testing results
Mixing testing types to improve your testing results
 
BTDConf: Breaking Illusions: Testing is Your Most Valuable Asset
BTDConf: Breaking Illusions: Testing is Your Most Valuable AssetBTDConf: Breaking Illusions: Testing is Your Most Valuable Asset
BTDConf: Breaking Illusions: Testing is Your Most Valuable Asset
 
Leadership
LeadershipLeadership
Leadership
 
Exploratory and Unit Testing
Exploratory and Unit TestingExploratory and Unit Testing
Exploratory and Unit Testing
 
Getting Started With User Research, Presented at Agile2010
Getting Started With User Research, Presented at Agile2010Getting Started With User Research, Presented at Agile2010
Getting Started With User Research, Presented at Agile2010
 
Santa Barbara Agile: Exploratory Testing Explained and Experienced
Santa Barbara Agile: Exploratory Testing Explained and ExperiencedSanta Barbara Agile: Exploratory Testing Explained and Experienced
Santa Barbara Agile: Exploratory Testing Explained and Experienced
 
Working with Legacy Code
Working with Legacy CodeWorking with Legacy Code
Working with Legacy Code
 

More from Maaret Pyhäjärvi

AxiomSummit 2022: A Practitioner's Guide to Contemporary Exploratory Testing
AxiomSummit 2022: A Practitioner's Guide to Contemporary Exploratory TestingAxiomSummit 2022: A Practitioner's Guide to Contemporary Exploratory Testing
AxiomSummit 2022: A Practitioner's Guide to Contemporary Exploratory Testing
Maaret Pyhäjärvi
 

More from Maaret Pyhäjärvi (20)

ATAGTR '20 Keynote: Building status
ATAGTR '20 Keynote: Building statusATAGTR '20 Keynote: Building status
ATAGTR '20 Keynote: Building status
 
MoT Cork: Exploring Realities of Testing - From Theory to Practice
MoT Cork: Exploring Realities of Testing - From Theory to PracticeMoT Cork: Exploring Realities of Testing - From Theory to Practice
MoT Cork: Exploring Realities of Testing - From Theory to Practice
 
Testing Voices '21 keynote: Testing Becoming Harder To BeValuable
Testing Voices '21 keynote: Testing Becoming Harder To BeValuableTesting Voices '21 keynote: Testing Becoming Harder To BeValuable
Testing Voices '21 keynote: Testing Becoming Harder To BeValuable
 
TestJSConf: Go Find What We May Have Missed
TestJSConf: Go Find What We May Have MissedTestJSConf: Go Find What We May Have Missed
TestJSConf: Go Find What We May Have Missed
 
SauceCon: It's More Complicated than THAT
SauceCon: It's More Complicated than THATSauceCon: It's More Complicated than THAT
SauceCon: It's More Complicated than THAT
 
TSQA: Something In The Way We Test
TSQA: Something In The Way We TestTSQA: Something In The Way We Test
TSQA: Something In The Way We Test
 
ATAGTR: Targeting Errors Of Omission
ATAGTR: Targeting Errors Of OmissionATAGTR: Targeting Errors Of Omission
ATAGTR: Targeting Errors Of Omission
 
Pivotal Moments, Pivotal Experiences
Pivotal Moments, Pivotal ExperiencesPivotal Moments, Pivotal Experiences
Pivotal Moments, Pivotal Experiences
 
Keynote at Sanae Beer.EX: The Automationist's Gambit
Keynote at Sanae Beer.EX: The Automationist's GambitKeynote at Sanae Beer.EX: The Automationist's Gambit
Keynote at Sanae Beer.EX: The Automationist's Gambit
 
Testing Assembly: From Observations to Insights on Test Specialist Careers
Testing Assembly: From Observations to Insights on Test Specialist CareersTesting Assembly: From Observations to Insights on Test Specialist Careers
Testing Assembly: From Observations to Insights on Test Specialist Careers
 
Let's Do a Thing and Call it Foo
Let's Do a Thing and Call it FooLet's Do a Thing and Call it Foo
Let's Do a Thing and Call it Foo
 
Selenium Conf: Patterns to Whole Team Test Automation Transformation
Selenium Conf: Patterns to Whole Team Test Automation TransformationSelenium Conf: Patterns to Whole Team Test Automation Transformation
Selenium Conf: Patterns to Whole Team Test Automation Transformation
 
AxiomSummit 2022: A Practitioner's Guide to Contemporary Exploratory Testing
AxiomSummit 2022: A Practitioner's Guide to Contemporary Exploratory TestingAxiomSummit 2022: A Practitioner's Guide to Contemporary Exploratory Testing
AxiomSummit 2022: A Practitioner's Guide to Contemporary Exploratory Testing
 
MoT Sfax: Good Exploratory Testing Tactics for Taking Over Testing
MoT Sfax: Good Exploratory Testing Tactics for Taking Over TestingMoT Sfax: Good Exploratory Testing Tactics for Taking Over Testing
MoT Sfax: Good Exploratory Testing Tactics for Taking Over Testing
 
Geekle QA: Automationist's Gambit
Geekle QA: Automationist's GambitGeekle QA: Automationist's Gambit
Geekle QA: Automationist's Gambit
 
Programming Assignments in Tester Interviews
Programming Assignments in Tester InterviewsProgramming Assignments in Tester Interviews
Programming Assignments in Tester Interviews
 
ATAGTR Keynote: I have a rock in my shoe - Navigating Improvement
ATAGTR Keynote: I have a rock in my shoe - Navigating ImprovementATAGTR Keynote: I have a rock in my shoe - Navigating Improvement
ATAGTR Keynote: I have a rock in my shoe - Navigating Improvement
 
MoT Sarajevo: How to get better at Exploratory testing
MoT Sarajevo: How to get better at Exploratory testingMoT Sarajevo: How to get better at Exploratory testing
MoT Sarajevo: How to get better at Exploratory testing
 
HUSTEF '21 Keynote: Hands Off Exploratory Testing - Managing at Scale
HUSTEF '21 Keynote: Hands Off Exploratory Testing - Managing at ScaleHUSTEF '21 Keynote: Hands Off Exploratory Testing - Managing at Scale
HUSTEF '21 Keynote: Hands Off Exploratory Testing - Managing at Scale
 
EuroSTAR '21 Keynote: Automationist's Gambit
EuroSTAR '21 Keynote: Automationist's GambitEuroSTAR '21 Keynote: Automationist's Gambit
EuroSTAR '21 Keynote: Automationist's Gambit
 

Recently uploaded

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 

AATC2016: Exploratory testing an API

  • 1. Exploratory Testing An API Maaret Pyhäjärvi Email: <maaret@iki.fi> | Twitter: maaretp Maaret Pyhäjärvi Attribution (Finland) http://creativecommons.org/licenses/by/1.0/fi/deed.en
  • 2. Testing as Performance (Exploring) vs. Testing as Artifact Creation
  • 3. 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 UnitTesting ExploratoryTesting There’s a process of knowing– it’s called learning
  • 4. What Testing Gives Us UnitTesting ExploratoryTesting SPEC FEEDBACK REGRESSION GRANULARITY GUIDANCE UNDERSTANDING MODELS SERENDIPITYTesting as artifact creation Testing as performance
  • 5. Product is my external imagination I am my developer’s external imagination
  • 7. Mob Testing – Rules for the Exercise • No thinking as the driver • Yes, and… • Kindness, consideration and respect
  • 10. 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?
  • 12. Structure Function Data Platform Operations Time SFDPOT heuristics from James Bach / Michael Bolton, Rapid Software Testing
  • 13. I LEARNED ABOUT THE ENVIRONMENT
  • 14. 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
  • 15. Reporters do • Waiting • Scrubbing (removing common inconsistencies) • Execution • Launching • Serialization • Decompilation • Chain of responsibility • Creating Approved file • Environmental awareness I LEARNED ABOUT FUNCTIONS
  • 16. 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
  • 17. Testers don’t break your code, they break your illusions about the code. -- adapted from James Bach
  • 19. Maaret Pyhäjärvi Email: maaret@iki.fi Twitter: @maaretp Blog: visible-quality.blogspot.fi Get in Touch

Editor's Notes

  1. Four years ago, my 1st day at work. 8 things to log a day since.
  2. Unit testing focuses on what we know should exist.
  3. There’s a group of people who think of testing as creating artifacts: test cases, test automation. Tests are something that is used later for testing to happen again. The modern way of thinking leads this group of people to mostly consider test automation, recognizing that making people run mundane repeatable scripts isn’t the goal. With the automation artifacts, we get four types of benefits. The tests work as specification, giving us a detailed example of something. The tests give us feedback when we’ve implemented something, to see if what we have is what we intended. The tests stay around to guard us against regression, us forgetting details when paying attention elsewhere. And the tests give us granularity, helping us see where the problem is when the tests fail.   Another group of people thinks of testing as performance. It’s learning in layers, to prepare for the ultimate show with all the rehearsals where continuous learning enables us to put our best performance forward towards the end. Artifacts might be useful, but they are often more of an output to document all the layers of learning rather than driving the thinking. With testing as performance, we also get four types of benefits. While this style of testing does not give us a spec, it gives us guidance. It’s often not a binary Yes/No, but more of a consideration if there could be a problem here. The guidance enabling us to learn about the unknown unknowns turn into specs as we make our decisions on how to react to feedback. This testing gives us understanding, in the wider context of use and value. This testing gives us models of what the world around the application looks like, enabling us to go back to lessons we’ve learned and fast-track future learning. Finally, this testing gives us serendipity, lucky accidents to find many of the things that we should know of, but turn blind to assuming we know what we’re looking for.   While exploratory testing starts with the testing as performance in mind, it also generates artifacts whenever deemed useful. Testing of an API is a great way to get to the core of this difference in how we think about testing. All testing may be exploratory, but some of it is focused on creating artifacts. Saying “scripting is just an approach” is belittling when scripting can be the main approach to use the powers when testing.  “there’s a process of knowing” – learning Does not give as regression; serendipity (safety against things happening randomly) / unwanted serendipity events. This is what it is and what it could be. There’s a direction to it, not just statement of what it is. Coaching is not just feedback, it’s pointing them to the right way. Safety. EXPERIENCE (the verb) rather than facts ; emotions over facts. REACTIONS. HISTORY, Lessons learned, checklists. Modeling. UNDERSTANDING – where you start (knowing the thing (code & environment), knowing the user, knowing the problems, knowing the developers (how to help them and what they do so that you can efficiently test), knowing the hackers (weird use cases outside common ‘have you tried reading it upside down’) , knowing all stakeholders, knowing the business priorities) Uncovering things I cannot know, giving the application a change to reveal information for me. This allows you to know things.
  4. If you can’t imagine a problem, you can T write a test for it. You need to learn enough to imagine it first. I hold space and serve as my developers external imagination
  5. Notice how easier the left side is to read and look at than the right side
  6. Test till bored – 1st test is the hard one in unit testing