SlideShare a Scribd company logo
Walking the Talk: Random
Exploration of a Chatbot API
@hiccupps
James Thomas
Ministry of Testing, Norwich 2023-06-28
www.associationforsoftwaretesting.org
@hiccupps
@hiccupps
www.ada.com
supported by
@hiccupps
@hiccupps
Project: Extract a Basic Chatbot API
@hiccupps
The Task
Presentation-agnostic API.
Integration with text-based clients.
Turn-based medical assessment.
Short deadline.
@hiccupps
Risks, Questions, Test Ideas
@hiccupps
Internal IDEs
Medical case
runners
E2E tests
MQEs
Case permuting
MKEs
Unit and
integration tests
Exact match to
report
Expected
questions asked
Assessment
without error
Expected
suggestions
present
Thresholds for
various medical
metrics
Literature
Existing behaviour
Expertise
Requirements
Internal KB
Vignettes
Personas
The “assessment space” is vast
Data
Tools Comparisons
A Walker
@hiccupps
Covering the Assessment Space
Unintended consequences.
Discover edges and corners.
Exercise the API extensively.
@hiccupps
The idea
Run unattended medical assessments.
Can be iterated and customised quickly.
Identify places for deeper inspection.
@hiccupps
Start
“OK”
Random
Choose
randomly
Card
type?
More
turns?
Stop
yes
no
text
input
choice
The Simplest Thing That Could Possibly Work
“Welcome to
Ada.”
“What is your
name?”
“Which option,
A, B, or C?”
@hiccupps
✅❌ ✅❌
✅❌
✅❌
✅❌
❓
❓
❓
❓
❓ ❓ ❓
Navigate Explore
Survey
@hiccupps
Demonstration
@hiccupps
Implementation
@hiccupps
Configuration
Error checks
~1/200 turns
Another
symptom
~1/5 turns
@hiccupps
Detailed, Parsable Logs
Archive
config
Archive
state
@hiccupps
Parallel
@hiccupps
Long Assessments
500 Server Error ❌
❌
Back end
Back end
Back end
❌
@hiccupps
Great, but …
@hiccupps
LOGIC-MODEL
TANGLE
LOGIC MODEL
Model-Based Testing
@hiccupps
What is a Model?
A way of describing a system …
… typically to aid understanding …
… often to permit predictions about how the system will behave.
The "system" need not be all of whatever you're looking at.
@hiccupps
http://www.harryrobinson.net/MBT-on-a-shoestring.pdf @hiccupps
@hiccupps
@hiccupps
What is Altwalker?
@hiccupps
@hiccupps
Reflection
@hiccupps
@hiccupps
@hiccupps
@hiccupps
What Worked Well
Verbose logs.
Asserting generally and on fixes.
Randomisation for unknowns.
Configuration for directed exploration.
Toolkit (replay, parallel, analysis, …).
Question-driven development.
Code changes and dependencies.
Card identifiers.
Medical testing.
No explicit model.
What Worked Well … and What was Challenging
@hiccupps
GREAT SHOT KID,
THAT WAS ONE
IN A MILLION
@hiccupps
YEAH!
I TOOK A MILLION
SHOTS
@hiccupps
Questions?
@hiccupps
References
Ada screenshots: https://www.uisources.com/explainer/ada-diagnosing-via-chat-bot
Rope images: https://unsplash.com/photos/pqx4G7EPomY, https://unsplash.com/photos/y5XnFwUgr-k
Wipotec: https://www.wipotec-ocs.com/en/product-inspection/
Microscope: https://londonlaboquip.com/product/microscope-binocular-biological-sc302
Messy lab: https://imgur.com/gallery/bQiK6
Dice: https://www.richardhughesjones.com/luck-randomness/dice-gif/
Altwalker: https://altom.gitlab.io/altwalker/altwalker/
Star Wars: https://www.starwars.com/video/one-in-a-million-shot
@qahiccupps

More Related Content

Similar to Walking the Talk

Elsevier
ElsevierElsevier
Elsevier
Christina Azzam
 
AI x Design_Haverinen 2023.pdf
AI x Design_Haverinen 2023.pdfAI x Design_Haverinen 2023.pdf
AI x Design_Haverinen 2023.pdf
Anna E. Haverinen
 
BI on Big Data Presentation
BI on Big Data PresentationBI on Big Data Presentation
BI on Big Data Presentation
Arcadia Data
 
Data Science-Why?What?How? By Hari Prasad
Data Science-Why?What?How? By Hari PrasadData Science-Why?What?How? By Hari Prasad
Data Science-Why?What?How? By Hari Prasad
Hari Prasad
 
Interpreting and Steering AI Explanations Via Interactive Visualizations
Interpreting and Steering AI Explanations Via Interactive VisualizationsInterpreting and Steering AI Explanations Via Interactive Visualizations
Interpreting and Steering AI Explanations Via Interactive Visualizations
Qianwen Wang
 
Scott Edmunds: Using FAIR principles for more Open & Democratic Science
Scott Edmunds: Using FAIR principles for more Open & Democratic ScienceScott Edmunds: Using FAIR principles for more Open & Democratic Science
Scott Edmunds: Using FAIR principles for more Open & Democratic Science
GigaScience, BGI Hong Kong
 
Data Scientist Toolbox
Data Scientist ToolboxData Scientist Toolbox
Data Scientist Toolbox
Andrei Savu
 
Lean Security
Lean SecurityLean Security
Lean Security
Ben Johnson
 
Pathways to Technology Transfer and Adoption: Achievements and Challenges
Pathways to Technology Transfer and Adoption: Achievements and ChallengesPathways to Technology Transfer and Adoption: Achievements and Challenges
Pathways to Technology Transfer and Adoption: Achievements and Challenges
Tao Xie
 
Proffer Blockchain Hackathon $17K+ prizes | Launch Presentation
Proffer Blockchain Hackathon $17K+ prizes | Launch PresentationProffer Blockchain Hackathon $17K+ prizes | Launch Presentation
Proffer Blockchain Hackathon $17K+ prizes | Launch Presentation
Anshul Bhagi
 
Machine Learning in Modern Medicine with Erin LeDell at Stanford Med
Machine Learning in Modern Medicine with Erin LeDell at Stanford MedMachine Learning in Modern Medicine with Erin LeDell at Stanford Med
Machine Learning in Modern Medicine with Erin LeDell at Stanford Med
Sri Ambati
 
DevOps Support for an Ethical Software Development Life Cycle (SDLC)
DevOps Support for an Ethical Software Development Life Cycle (SDLC)DevOps Support for an Ethical Software Development Life Cycle (SDLC)
DevOps Support for an Ethical Software Development Life Cycle (SDLC)
Mark Underwood
 
Evaluation and User Study in HCI
Evaluation and User Study in HCIEvaluation and User Study in HCI
Evaluation and User Study in HCI
Byungkyu (Jay) Kang
 
Text, Tags and Thumbnails: Latest Trends in Bioscience Literature Search
Text, Tags and Thumbnails:Latest Trends in Bioscience Literature SearchText, Tags and Thumbnails:Latest Trends in Bioscience Literature Search
Text, Tags and Thumbnails: Latest Trends in Bioscience Literature Search
marti_hearst
 
Designing at the Intersection of HCI & AI: Misinformation & Crowdsourced Anno...
Designing at the Intersection of HCI & AI: Misinformation & Crowdsourced Anno...Designing at the Intersection of HCI & AI: Misinformation & Crowdsourced Anno...
Designing at the Intersection of HCI & AI: Misinformation & Crowdsourced Anno...
Matthew Lease
 
Weapons of Math Instruction: Evolving from Data0-Driven to Science-Driven
Weapons of Math Instruction: Evolving from Data0-Driven to Science-DrivenWeapons of Math Instruction: Evolving from Data0-Driven to Science-Driven
Weapons of Math Instruction: Evolving from Data0-Driven to Science-Driven
indeedeng
 
Hci Overview
Hci OverviewHci Overview
Tune up your data science process
Tune up your data science processTune up your data science process
Tune up your data science process
Benjamin Skrainka
 
The Myths + Realities of Machine-Learning Cybersecurity
The Myths + Realities of Machine-Learning CybersecurityThe Myths + Realities of Machine-Learning Cybersecurity
The Myths + Realities of Machine-Learning Cybersecurity
Interset
 
Construction and Querying of Dynamic Knowledge Graphs
Construction and Querying of Dynamic Knowledge GraphsConstruction and Querying of Dynamic Knowledge Graphs
Construction and Querying of Dynamic Knowledge Graphs
Sutanay Choudhury
 

Similar to Walking the Talk (20)

Elsevier
ElsevierElsevier
Elsevier
 
AI x Design_Haverinen 2023.pdf
AI x Design_Haverinen 2023.pdfAI x Design_Haverinen 2023.pdf
AI x Design_Haverinen 2023.pdf
 
BI on Big Data Presentation
BI on Big Data PresentationBI on Big Data Presentation
BI on Big Data Presentation
 
Data Science-Why?What?How? By Hari Prasad
Data Science-Why?What?How? By Hari PrasadData Science-Why?What?How? By Hari Prasad
Data Science-Why?What?How? By Hari Prasad
 
Interpreting and Steering AI Explanations Via Interactive Visualizations
Interpreting and Steering AI Explanations Via Interactive VisualizationsInterpreting and Steering AI Explanations Via Interactive Visualizations
Interpreting and Steering AI Explanations Via Interactive Visualizations
 
Scott Edmunds: Using FAIR principles for more Open & Democratic Science
Scott Edmunds: Using FAIR principles for more Open & Democratic ScienceScott Edmunds: Using FAIR principles for more Open & Democratic Science
Scott Edmunds: Using FAIR principles for more Open & Democratic Science
 
Data Scientist Toolbox
Data Scientist ToolboxData Scientist Toolbox
Data Scientist Toolbox
 
Lean Security
Lean SecurityLean Security
Lean Security
 
Pathways to Technology Transfer and Adoption: Achievements and Challenges
Pathways to Technology Transfer and Adoption: Achievements and ChallengesPathways to Technology Transfer and Adoption: Achievements and Challenges
Pathways to Technology Transfer and Adoption: Achievements and Challenges
 
Proffer Blockchain Hackathon $17K+ prizes | Launch Presentation
Proffer Blockchain Hackathon $17K+ prizes | Launch PresentationProffer Blockchain Hackathon $17K+ prizes | Launch Presentation
Proffer Blockchain Hackathon $17K+ prizes | Launch Presentation
 
Machine Learning in Modern Medicine with Erin LeDell at Stanford Med
Machine Learning in Modern Medicine with Erin LeDell at Stanford MedMachine Learning in Modern Medicine with Erin LeDell at Stanford Med
Machine Learning in Modern Medicine with Erin LeDell at Stanford Med
 
DevOps Support for an Ethical Software Development Life Cycle (SDLC)
DevOps Support for an Ethical Software Development Life Cycle (SDLC)DevOps Support for an Ethical Software Development Life Cycle (SDLC)
DevOps Support for an Ethical Software Development Life Cycle (SDLC)
 
Evaluation and User Study in HCI
Evaluation and User Study in HCIEvaluation and User Study in HCI
Evaluation and User Study in HCI
 
Text, Tags and Thumbnails: Latest Trends in Bioscience Literature Search
Text, Tags and Thumbnails:Latest Trends in Bioscience Literature SearchText, Tags and Thumbnails:Latest Trends in Bioscience Literature Search
Text, Tags and Thumbnails: Latest Trends in Bioscience Literature Search
 
Designing at the Intersection of HCI & AI: Misinformation & Crowdsourced Anno...
Designing at the Intersection of HCI & AI: Misinformation & Crowdsourced Anno...Designing at the Intersection of HCI & AI: Misinformation & Crowdsourced Anno...
Designing at the Intersection of HCI & AI: Misinformation & Crowdsourced Anno...
 
Weapons of Math Instruction: Evolving from Data0-Driven to Science-Driven
Weapons of Math Instruction: Evolving from Data0-Driven to Science-DrivenWeapons of Math Instruction: Evolving from Data0-Driven to Science-Driven
Weapons of Math Instruction: Evolving from Data0-Driven to Science-Driven
 
Hci Overview
Hci OverviewHci Overview
Hci Overview
 
Tune up your data science process
Tune up your data science processTune up your data science process
Tune up your data science process
 
The Myths + Realities of Machine-Learning Cybersecurity
The Myths + Realities of Machine-Learning CybersecurityThe Myths + Realities of Machine-Learning Cybersecurity
The Myths + Realities of Machine-Learning Cybersecurity
 
Construction and Querying of Dynamic Knowledge Graphs
Construction and Querying of Dynamic Knowledge GraphsConstruction and Querying of Dynamic Knowledge Graphs
Construction and Querying of Dynamic Knowledge Graphs
 

More from James Thomas

Exploring with Automation
Exploring with AutomationExploring with Automation
Exploring with Automation
James Thomas
 
How to Test Anything
How to Test AnythingHow to Test Anything
How to Test Anything
James Thomas
 
We Don't Know?
We Don't Know?We Don't Know?
We Don't Know?
James Thomas
 
People problems
People problemsPeople problems
People problems
James Thomas
 
When Support Calls
When Support CallsWhen Support Calls
When Support Calls
James Thomas
 
Testing vs Chicken
Testing vs ChickenTesting vs Chicken
Testing vs Chicken
James Thomas
 
James thomas
James thomasJames thomas
James thomas
James Thomas
 
Theoreticus Prime vs Praktikertron
Theoreticus Prime vs PraktikertronTheoreticus Prime vs Praktikertron
Theoreticus Prime vs Praktikertron
James Thomas
 
Testing All the Way Down, and Other Directions
Testing All the Way Down, and Other DirectionsTesting All the Way Down, and Other Directions
Testing All the Way Down, and Other Directions
James Thomas
 
What is What is Professional Testing?
What is What is Professional Testing?What is What is Professional Testing?
What is What is Professional Testing?
James Thomas
 
Bug-Free Software? Go For It!
Bug-Free Software? Go For It!Bug-Free Software? Go For It!
Bug-Free Software? Go For It!
James Thomas
 
Your Testing is a Joke
Your Testing is a JokeYour Testing is a Joke
Your Testing is a Joke
James Thomas
 
You're Having a Laugh
You're Having  a LaughYou're Having  a Laugh
You're Having a Laugh
James Thomas
 
It's Like That
It's Like ThatIt's Like That
It's Like That
James Thomas
 

More from James Thomas (14)

Exploring with Automation
Exploring with AutomationExploring with Automation
Exploring with Automation
 
How to Test Anything
How to Test AnythingHow to Test Anything
How to Test Anything
 
We Don't Know?
We Don't Know?We Don't Know?
We Don't Know?
 
People problems
People problemsPeople problems
People problems
 
When Support Calls
When Support CallsWhen Support Calls
When Support Calls
 
Testing vs Chicken
Testing vs ChickenTesting vs Chicken
Testing vs Chicken
 
James thomas
James thomasJames thomas
James thomas
 
Theoreticus Prime vs Praktikertron
Theoreticus Prime vs PraktikertronTheoreticus Prime vs Praktikertron
Theoreticus Prime vs Praktikertron
 
Testing All the Way Down, and Other Directions
Testing All the Way Down, and Other DirectionsTesting All the Way Down, and Other Directions
Testing All the Way Down, and Other Directions
 
What is What is Professional Testing?
What is What is Professional Testing?What is What is Professional Testing?
What is What is Professional Testing?
 
Bug-Free Software? Go For It!
Bug-Free Software? Go For It!Bug-Free Software? Go For It!
Bug-Free Software? Go For It!
 
Your Testing is a Joke
Your Testing is a JokeYour Testing is a Joke
Your Testing is a Joke
 
You're Having a Laugh
You're Having  a LaughYou're Having  a Laugh
You're Having a Laugh
 
It's Like That
It's Like ThatIt's Like That
It's Like That
 

Recently uploaded

“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Zilliz
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 

Recently uploaded (20)

“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 

Walking the Talk

Editor's Notes

  1. **Navigating** Error handling Consistency of API E.g. Male only assessments - compromise test code to get a walking skeleton; POST vs GET, two similar but slightly different schemas in the API itself. These activities make me ask questions… what if I …? How about when? Could it possibly be that …? Problems with the walker and with the product. While automating I’m testing. Don’t be too quick to restrict to what you think the system wants. Can I get from start to finish? What assumptions are required? What workarounds are required? How might developers struggle here? … ** Checking** E.g. certain kinds of dialog turns have different properties to assert on - keys in DTO must be present, or in some kind of relationship. What can I assert specifically and generally? Where are the edge cases? (e.g. by general global assertions failing) What are the error cases? How valuable is it to check these things here? ** Exploring** When you explore you don’t know if you’ll find anything, and if you find something you won’t know whether it’s relevant, and if it’s relevant you won’t know whether it’s important. Code is a tool and a toolkit. Extend it to the next question you have. (Can I get to “call ambulance” outcomes? What would need to happen to do that? How could I avoid it?) Log paths and outcomes. Analyse outside the code for patterns (seen and missing) Don’t error check too heavily. Catch and investigate failures. (Expose assumptions) Check some positive cases by hand. Check failures by hand. Look for patterns. (Don’t have to catch all failures; TODO outcomes are fine because then you can filter them in later analysis.) Explore the data you produce. Replay for repeatability. Configuration to guide the direction of exploration. (Initially, I’d just hack the code) How can I take the extreme choice each time? How can I make the longest assessment? Can I run an assessment for ever? A toolkit to gather data … … for human analysis. Failures are targets. Patterns are indicators. …
  2. Parallel nothing clever - just run two or more copies!