SlideShare una empresa de Scribd logo
1 de 66
S M O K E T E S T S & M I R R O R S
Benjamin Bischoff
softwaretester.blog
T H I N G S T O TA L K
A B O U T
• Introduction
• A short glimpse into magic
• Nine magic principles in software
• Final thoughts
softwaretester.blog
O B L I G AT O RY
„ A B O U T M E “ S L I D E
• Benjamin Bischoff
• Test automation engineer @ trivago
• 22 years in tech
• 7 years of SDET experience
softwaretester.blog
S H A M E L E S S P L U G
• „Writing API Tests with Karate“
• Packt Publishing
softwaretester.blog
Y E T A N O T H E R
„ A B O U T M E “ S L I D E
• Started magic at the age of eight
• Favourite genre: close-up card magic
softwaretester.blog
M A K I N G C O N N E C T I O N S
S P O I L E R A L E R T
softwaretester.blog
A S H O R T G L I M P S E I N T O M A G I C
softwaretester.blog
– L A W R E N C E H A S S , P H I L O S O P H E R A N D M A G I C I A N
„The artful performance of impossible things that generates energy,
delight, and wonder.“
softwaretester.blog
TA X O N O M Y
• Stage illusions
• Parlor
• Close-up
• Escapology
• Pickpocket
• Mentalism
• Séances
• Children’s magic
• Classical
• Mechanical
• Online magic
• Mathemagic
• Corporate
• Bizarre
• Street
• Comedy
• Quick change
• Camera
softwaretester.blog
I L L U S I O N T Y P E S
• Production
• Vanish
• Transformation
• Restauration
• Transposition
• Teleportation
• Escape
• Levitation
• Penetration
• Prediction
softwaretester.blog
I M P O R TA N T D O C U M E N T S
1700 - 2000 B.C. 1584 1674
softwaretester.blog
I M P O R TA N T I N F L U E N C E R S
Dai Vernon
1894 – 1992
Tony Slydini
1901 – 1991
Juan Tamariz
* 1942
softwaretester.blog
– A R T H U R C . C L A R K E , W R I T E R
„Any sufficiently advanced technology is indistinguishable from
magic.“
softwaretester.blog
M A G I C P R I N C I P L E S I N S O F T WA R E
softwaretester.blog
I . ( M I S ) D I R E C T I O N
softwaretester.blog
( M I S ) D I R E C T I O N
I N M A G I C
• Mislead but not confuse spectators
• The large action covers the small
• The small action covers the large
softwaretester.blog
( M I S ) D I R E C T I O N
I N S O F T WA R E
• Misdirection in bug analysis: not
seeing the wood for the trees
• Unintentional misdirection through
bad software design decisions
softwaretester.blog
( M I S ) D I R E C T I O N
I N B U G T R A C K I N G
• Exposing too much information
• Staying in the perimeter of the error
instead of stepping out
• Not giving enough information
(e.g. swallowing exceptions)
softwaretester.blog
– H A R RY H O U D I N I , M A G I C I A N
„ What the eyes see and the ears hear, the mind believes.“
softwaretester.blog
I I . F O R C E
softwaretester.blog
F O R C E
I N M A G I C
• Giving the illusion of free choice
• Forcing a thought, thing or action
• Forcing yourself 🫤
softwaretester.blog
F O R C E
I N S O F T WA R E
• Forcing yourself or your solutions
and tools onto others
• Looking down from your
ivory tower 🫤
softwaretester.blog
– D A I V E R N O N , M A G I C I A N
„In magic, today as always, the effect is what counts. The method or
methods used are always purely secondary.“
softwaretester.blog
I I I . R E P E T I T I O N
softwaretester.blog
R E P E T I T I O N
I N M A G I C
• Repetition as a means of perfection
• Never repeat a trick rule
• Easy to figure out?
• Same effect, different methods?
• Is it worth repeating?
softwaretester.blog
R E P E T I T I O N
I N S O F T WA R E
• Repetition is the key to regression
testing
• Spot behaviour changes easily
• Ensure a known state of the system
• Repetition as training (katas)
softwaretester.blog
R E P E T I T I O N
I N M O N I T O R I N G
• Repeating user scenarios as
synthetic monitoring
• Otherwise, it is only a
one-time snapshot
softwaretester.blog
– B R U C E L E E , M A R T I A L A R T I S T
„I fear not the man who has practiced 10,000 kicks once, but I fear
the man who has practiced one kick 10,000 times.“
softwaretester.blog
I V. C L A R I T Y
softwaretester.blog
C L A R I T Y
I N M A G I C
• Keep your effect clear
• Easy to follow and understand
• Establish the initial state so that the
changed state can be recognised
softwaretester.blog
C L A R I T Y
I N S O F T WA R E
• Keeping test scenarios compact
• Linking cause and effect
• Avoiding boredom
• Keeping focus
softwaretester.blog
C L A R I T Y
I N R E P O R T I N G
• Directly see test results
• Relevant information without clutter
• Same structure across all projects
softwaretester.blog
– D A I V E R N O N , M A G I C I A N
„Confusion is not magic.“
softwaretester.blog
V. F R A M I N G
softwaretester.blog
F R A M I N G
I N M A G I C
• Finding the context for an effect
• Contented context elevates magic
beyond puzzles and makes it
meaningful
• Situational context must fit setting,
occasion and location
softwaretester.blog
F R A M I N G
I N S O F T WA R E
• Having the best idea and intention is
not enough
• If you phrase it poorly, it can fail
miserably
softwaretester.blog
F R A M I N G
I N T E A M I N T E N T
• Too focussed on providing solutions
• Detached from people and needs
• Forgetting the why
softwaretester.blog
– E U G E N E B U R G E R , M A G I C I A N
„The house of magic has many rooms.“
softwaretester.blog
V I . T I M E L A P S E
softwaretester.blog
T I M E L A P S E
I N M A G I C
• Time lapse is a form of misdirection
• The longer the time between two
events is, the less clear it is
softwaretester.blog
T I M E L A P S E
I N S O F T WA R E
• Reporting and monitoring has to be
on time
• Otherwise, it means nothing
• Timing is important
softwaretester.blog
T I M E L A P S E
I N T E S T F E E D B A C K
• Shifting left
• Fail fast / learn fast
• Fast communication channels
softwaretester.blog
– A L B E R T E I N S T E I N , T H E O R E T I C A L P H Y S I C I S T
„The only reason for time is so that everything doesn’t happen at
once.“
softwaretester.blog
V I I . C O N V I C T I O N
softwaretester.blog
C O N V I C T I O N
I N M A G I C
• Spectators have to be convinced of
an initial state to fully appreciate
changes
• It is better to convince implicitly
softwaretester.blog
C O N V I C T I O N
I N S O F T WA R E
• Conviction is stronger than
assumptions
• The intention of a system has to be
clear to detect deviation
• This is where BDD comes in
softwaretester.blog
C O N V I C T I O N I N
C O M M U N I C AT I O N
• Trust that all give their best and work
towards the same cause
• Get everyone on the same page
• Speak a ubiquitous language
softwaretester.blog
– T E L L E R , M A G I C I A N
„We estimate the intelligence of the audience as being greater than
ours.“
softwaretester.blog
V I I I . FA I L U R E
softwaretester.blog
FA I L U R E
I N M A G I C
• Stylistic device
• Improving magic by analysing failed
performances
softwaretester.blog
FA I L U R E
I N S O F T WA R E
• Don’t trust tests that never failed
before
• Failure is the essence of TDD
• If something fails, it should be
covered with a test
softwaretester.blog
P R E S E N T I N G
P R O C E S S FA I L U R E S
• SDLC Post-mortems
• Present failures and lessons
learned
• It is one of the best tools to
improve
softwaretester.blog
– T H O M A S A . E D I S O N , I N V E N T O R
„I have not failed. I've just found 10,000 ways that won't work.“
softwaretester.blog
I X . H I D D E N C O M P L E X I T Y
softwaretester.blog
H I D D E N C O M P L E X I T Y
I N M A G I C
• Magicians want to hide their skills
• Ideally, the magic should happen on
its own
softwaretester.blog
H I D D E N C O M P L E X I T Y
I N S O F T WA R E
• Only show choices when they are
needed
• Don’t propagate stack traces to the
front end
• Make error messages meaningful
and actionable
softwaretester.blog
S I M P L I F I C AT I O N
I N T H E U I / U X
• Limiting options for a better user
experience
• Disabling elements depending on
the context
• Straight forward happy path
softwaretester.blog
– G R A D Y B O O C H , S O F T WA R E E N G I N E E R
„The function of good software is to make the complex appear to be
simple.“
softwaretester.blog
H I D D E N C O M P L E X I T Y
I N T H E C L I
• Putting a simple proxy in front of a
complex system
softwaretester.blog
– S T U A R T C R O C K E R , Q A E N G I N E E R
„Quality is the absence of unnecessary friction.“
softwaretester.blog
F I N A L T H O U G H T S
W H E R E T O G O F R O M H E R E
softwaretester.blog
S PA R K I N G
C R E AT I V I T Y
• Transfer of learning is really satisfying
• Thought exercises to break out of
„programmer’s block“
• Try it with your own hobbies and
interests!
softwaretester.blog
K N O W L E D G E
E X C H A N G E
• Regular QA knowledge sharing
meetings at trivago
• Half of the topics are non-technical
• A quarter of the topics are
completely unrelated
softwaretester.blog
“ B E S T P R A C T I C E S ”
• There are no best practices for every
situation
• They can be adjusted…
• …or even turned upside down
softwaretester.blog
M A K I N G C O N N E C T I O N S
T H E P O I N T O F T H I S TA L K
softwaretester.blog
T H A N K Y O U !
Benjamin Bischoff
softwaretester.blog

Más contenido relacionado

Similar a Smoke tests and mirrors

Switching horses midstream - From Waterfall to Agile
Switching horses midstream - From Waterfall to AgileSwitching horses midstream - From Waterfall to Agile
Switching horses midstream - From Waterfall to AgileDoc Norton
 
ACM Winter 2016 General Meeting
ACM Winter 2016 General Meeting ACM Winter 2016 General Meeting
ACM Winter 2016 General Meeting M. Fay Wu
 
Four Architectural Patterns
Four Architectural Patterns Four Architectural Patterns
Four Architectural Patterns David Simons
 
100% Visibility - Jason Yee - Codemotion Amsterdam 2018
100% Visibility - Jason Yee - Codemotion Amsterdam 2018100% Visibility - Jason Yee - Codemotion Amsterdam 2018
100% Visibility - Jason Yee - Codemotion Amsterdam 2018Codemotion
 
SharePoint Saturday Redmond - Building solutions with the future in mind
SharePoint Saturday Redmond - Building solutions with the future in mindSharePoint Saturday Redmond - Building solutions with the future in mind
SharePoint Saturday Redmond - Building solutions with the future in mindChris Johnson
 
Choosing the right database
Choosing the right databaseChoosing the right database
Choosing the right databaseDavid Simons
 
Canary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS Summit
Canary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS SummitCanary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS Summit
Canary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS SummitAmazon Web Services
 
Gain Maximum Visibility into Your Applications
Gain Maximum Visibility into Your Applications Gain Maximum Visibility into Your Applications
Gain Maximum Visibility into Your Applications Amazon Web Services
 
report [Repaired].pptx
report [Repaired].pptxreport [Repaired].pptx
report [Repaired].pptxLyka Gumatay
 
Uncover Python's Potential in Machine Learning
Uncover Python's Potential in Machine LearningUncover Python's Potential in Machine Learning
Uncover Python's Potential in Machine LearningKan Ouivirach, Ph.D.
 
Data Modelling at Scale
Data Modelling at ScaleData Modelling at Scale
Data Modelling at ScaleDavid Simons
 
High quality Front-End
High quality Front-EndHigh quality Front-End
High quality Front-EndDavid Simons
 
ATDD BY Example With Cucumber
ATDD BY Example With CucumberATDD BY Example With Cucumber
ATDD BY Example With CucumberDoug Morgan
 
Danny Setiawan - How to Increase Conversion with Usability Testing
Danny Setiawan - How to Increase Conversion with Usability TestingDanny Setiawan - How to Increase Conversion with Usability Testing
Danny Setiawan - How to Increase Conversion with Usability TestingAutumn Quarantotto
 
Web User Experience in 2021
Web User Experience in 2021Web User Experience in 2021
Web User Experience in 2021Drew Gorton
 
ISTE 2014: Reading-Writing "Tech-shop"
ISTE 2014: Reading-Writing "Tech-shop" ISTE 2014: Reading-Writing "Tech-shop"
ISTE 2014: Reading-Writing "Tech-shop" glynned
 

Similar a Smoke tests and mirrors (20)

Switching horses midstream - From Waterfall to Agile
Switching horses midstream - From Waterfall to AgileSwitching horses midstream - From Waterfall to Agile
Switching horses midstream - From Waterfall to Agile
 
ACM Winter 2016 General Meeting
ACM Winter 2016 General Meeting ACM Winter 2016 General Meeting
ACM Winter 2016 General Meeting
 
Four Architectural Patterns
Four Architectural Patterns Four Architectural Patterns
Four Architectural Patterns
 
100% Visibility - Jason Yee - Codemotion Amsterdam 2018
100% Visibility - Jason Yee - Codemotion Amsterdam 2018100% Visibility - Jason Yee - Codemotion Amsterdam 2018
100% Visibility - Jason Yee - Codemotion Amsterdam 2018
 
Deployments in one click!
Deployments in one click!Deployments in one click!
Deployments in one click!
 
SharePoint Saturday Redmond - Building solutions with the future in mind
SharePoint Saturday Redmond - Building solutions with the future in mindSharePoint Saturday Redmond - Building solutions with the future in mind
SharePoint Saturday Redmond - Building solutions with the future in mind
 
Choosing the right database
Choosing the right databaseChoosing the right database
Choosing the right database
 
Canary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS Summit
Canary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS SummitCanary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS Summit
Canary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS Summit
 
Gain Maximum Visibility into Your Applications
Gain Maximum Visibility into Your Applications Gain Maximum Visibility into Your Applications
Gain Maximum Visibility into Your Applications
 
2016 Prototyping Tools
2016 Prototyping Tools2016 Prototyping Tools
2016 Prototyping Tools
 
report [Repaired].pptx
report [Repaired].pptxreport [Repaired].pptx
report [Repaired].pptx
 
UX for startups
UX for startupsUX for startups
UX for startups
 
Uncover Python's Potential in Machine Learning
Uncover Python's Potential in Machine LearningUncover Python's Potential in Machine Learning
Uncover Python's Potential in Machine Learning
 
Data Modelling at Scale
Data Modelling at ScaleData Modelling at Scale
Data Modelling at Scale
 
High quality Front-End
High quality Front-EndHigh quality Front-End
High quality Front-End
 
ATDD BY Example With Cucumber
ATDD BY Example With CucumberATDD BY Example With Cucumber
ATDD BY Example With Cucumber
 
BoSUSA18 | Bob Moesta| The 5 Skills Of An Innovator
BoSUSA18 | Bob Moesta| The 5 Skills Of An InnovatorBoSUSA18 | Bob Moesta| The 5 Skills Of An Innovator
BoSUSA18 | Bob Moesta| The 5 Skills Of An Innovator
 
Danny Setiawan - How to Increase Conversion with Usability Testing
Danny Setiawan - How to Increase Conversion with Usability TestingDanny Setiawan - How to Increase Conversion with Usability Testing
Danny Setiawan - How to Increase Conversion with Usability Testing
 
Web User Experience in 2021
Web User Experience in 2021Web User Experience in 2021
Web User Experience in 2021
 
ISTE 2014: Reading-Writing "Tech-shop"
ISTE 2014: Reading-Writing "Tech-shop" ISTE 2014: Reading-Writing "Tech-shop"
ISTE 2014: Reading-Writing "Tech-shop"
 

Más de Benjamin Bischoff

Public Speaking and Procrastination
Public Speaking and ProcrastinationPublic Speaking and Procrastination
Public Speaking and ProcrastinationBenjamin Bischoff
 
Simplifying your test runs with „Make“
Simplifying your test runs with „Make“Simplifying your test runs with „Make“
Simplifying your test runs with „Make“Benjamin Bischoff
 
Of plugins and decorators - trivago's e2e test framework in the spotlight
Of plugins and decorators - trivago's e2e test framework in the spotlightOf plugins and decorators - trivago's e2e test framework in the spotlight
Of plugins and decorators - trivago's e2e test framework in the spotlightBenjamin Bischoff
 
The Bumpy Road Towards Continuous Delivery
The Bumpy Road Towards Continuous DeliveryThe Bumpy Road Towards Continuous Delivery
The Bumpy Road Towards Continuous DeliveryBenjamin Bischoff
 

Más de Benjamin Bischoff (6)

Public Speaking and Procrastination
Public Speaking and ProcrastinationPublic Speaking and Procrastination
Public Speaking and Procrastination
 
Simplifying your test runs with „Make“
Simplifying your test runs with „Make“Simplifying your test runs with „Make“
Simplifying your test runs with „Make“
 
All about Cluecumber
All about CluecumberAll about Cluecumber
All about Cluecumber
 
Identifying Code Smells
Identifying Code SmellsIdentifying Code Smells
Identifying Code Smells
 
Of plugins and decorators - trivago's e2e test framework in the spotlight
Of plugins and decorators - trivago's e2e test framework in the spotlightOf plugins and decorators - trivago's e2e test framework in the spotlight
Of plugins and decorators - trivago's e2e test framework in the spotlight
 
The Bumpy Road Towards Continuous Delivery
The Bumpy Road Towards Continuous DeliveryThe Bumpy Road Towards Continuous Delivery
The Bumpy Road Towards Continuous Delivery
 

Último

Novo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMsNovo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMsNeo4j
 
Software Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements EngineeringSoftware Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements EngineeringPrakhyath Rai
 
The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)Roberto Bettazzoni
 
The Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationThe Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationElement34
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Andreas Granig
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024SimonedeGijt
 
Effective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeConEffective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeConNatan Silnitsky
 
Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14VMware Tanzu
 
Test Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfTest Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfkalichargn70th171
 
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Lisi Hocke
 
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4jGraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4jNeo4j
 
GraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with GraphGraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with GraphNeo4j
 
Rapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and InsightsRapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and Insightsrapidoform
 
Your Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | EvmuxYour Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | Evmuxevmux96
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio, Inc.
 
Community is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea GouletCommunity is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea GouletAndrea Goulet
 
Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMarkus Moeller
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdftimtebeek1
 
Incident handling is a clearly defined set of procedures to manage and respon...
Incident handling is a clearly defined set of procedures to manage and respon...Incident handling is a clearly defined set of procedures to manage and respon...
Incident handling is a clearly defined set of procedures to manage and respon...Varun Mithran
 

Último (20)

Novo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMsNovo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMs
 
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
 
Software Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements EngineeringSoftware Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements Engineering
 
The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)
 
The Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationThe Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test Automation
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 
Effective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeConEffective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeCon
 
Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14
 
Test Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfTest Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdf
 
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
 
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4jGraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
 
GraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with GraphGraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with Graph
 
Rapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and InsightsRapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and Insights
 
Your Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | EvmuxYour Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | Evmux
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
 
Community is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea GouletCommunity is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea Goulet
 
Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdf
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
 
Incident handling is a clearly defined set of procedures to manage and respon...
Incident handling is a clearly defined set of procedures to manage and respon...Incident handling is a clearly defined set of procedures to manage and respon...
Incident handling is a clearly defined set of procedures to manage and respon...
 

Smoke tests and mirrors

  • 1. S M O K E T E S T S & M I R R O R S Benjamin Bischoff softwaretester.blog
  • 2. T H I N G S T O TA L K A B O U T • Introduction • A short glimpse into magic • Nine magic principles in software • Final thoughts softwaretester.blog
  • 3. O B L I G AT O RY „ A B O U T M E “ S L I D E • Benjamin Bischoff • Test automation engineer @ trivago • 22 years in tech • 7 years of SDET experience softwaretester.blog
  • 4. S H A M E L E S S P L U G • „Writing API Tests with Karate“ • Packt Publishing softwaretester.blog
  • 5. Y E T A N O T H E R „ A B O U T M E “ S L I D E • Started magic at the age of eight • Favourite genre: close-up card magic softwaretester.blog
  • 6. M A K I N G C O N N E C T I O N S S P O I L E R A L E R T softwaretester.blog
  • 7. A S H O R T G L I M P S E I N T O M A G I C softwaretester.blog
  • 8. – L A W R E N C E H A S S , P H I L O S O P H E R A N D M A G I C I A N „The artful performance of impossible things that generates energy, delight, and wonder.“ softwaretester.blog
  • 9. TA X O N O M Y • Stage illusions • Parlor • Close-up • Escapology • Pickpocket • Mentalism • Séances • Children’s magic • Classical • Mechanical • Online magic • Mathemagic • Corporate • Bizarre • Street • Comedy • Quick change • Camera softwaretester.blog
  • 10. I L L U S I O N T Y P E S • Production • Vanish • Transformation • Restauration • Transposition • Teleportation • Escape • Levitation • Penetration • Prediction softwaretester.blog
  • 11. I M P O R TA N T D O C U M E N T S 1700 - 2000 B.C. 1584 1674 softwaretester.blog
  • 12. I M P O R TA N T I N F L U E N C E R S Dai Vernon 1894 – 1992 Tony Slydini 1901 – 1991 Juan Tamariz * 1942 softwaretester.blog
  • 13. – A R T H U R C . C L A R K E , W R I T E R „Any sufficiently advanced technology is indistinguishable from magic.“ softwaretester.blog
  • 14. M A G I C P R I N C I P L E S I N S O F T WA R E softwaretester.blog
  • 15. I . ( M I S ) D I R E C T I O N softwaretester.blog
  • 16. ( M I S ) D I R E C T I O N I N M A G I C • Mislead but not confuse spectators • The large action covers the small • The small action covers the large softwaretester.blog
  • 17. ( M I S ) D I R E C T I O N I N S O F T WA R E • Misdirection in bug analysis: not seeing the wood for the trees • Unintentional misdirection through bad software design decisions softwaretester.blog
  • 18. ( M I S ) D I R E C T I O N I N B U G T R A C K I N G • Exposing too much information • Staying in the perimeter of the error instead of stepping out • Not giving enough information (e.g. swallowing exceptions) softwaretester.blog
  • 19. – H A R RY H O U D I N I , M A G I C I A N „ What the eyes see and the ears hear, the mind believes.“ softwaretester.blog
  • 20. I I . F O R C E softwaretester.blog
  • 21. F O R C E I N M A G I C • Giving the illusion of free choice • Forcing a thought, thing or action • Forcing yourself 🫤 softwaretester.blog
  • 22. F O R C E I N S O F T WA R E • Forcing yourself or your solutions and tools onto others • Looking down from your ivory tower 🫤 softwaretester.blog
  • 23. – D A I V E R N O N , M A G I C I A N „In magic, today as always, the effect is what counts. The method or methods used are always purely secondary.“ softwaretester.blog
  • 24. I I I . R E P E T I T I O N softwaretester.blog
  • 25. R E P E T I T I O N I N M A G I C • Repetition as a means of perfection • Never repeat a trick rule • Easy to figure out? • Same effect, different methods? • Is it worth repeating? softwaretester.blog
  • 26. R E P E T I T I O N I N S O F T WA R E • Repetition is the key to regression testing • Spot behaviour changes easily • Ensure a known state of the system • Repetition as training (katas) softwaretester.blog
  • 27. R E P E T I T I O N I N M O N I T O R I N G • Repeating user scenarios as synthetic monitoring • Otherwise, it is only a one-time snapshot softwaretester.blog
  • 28. – B R U C E L E E , M A R T I A L A R T I S T „I fear not the man who has practiced 10,000 kicks once, but I fear the man who has practiced one kick 10,000 times.“ softwaretester.blog
  • 29. I V. C L A R I T Y softwaretester.blog
  • 30. C L A R I T Y I N M A G I C • Keep your effect clear • Easy to follow and understand • Establish the initial state so that the changed state can be recognised softwaretester.blog
  • 31. C L A R I T Y I N S O F T WA R E • Keeping test scenarios compact • Linking cause and effect • Avoiding boredom • Keeping focus softwaretester.blog
  • 32. C L A R I T Y I N R E P O R T I N G • Directly see test results • Relevant information without clutter • Same structure across all projects softwaretester.blog
  • 33. – D A I V E R N O N , M A G I C I A N „Confusion is not magic.“ softwaretester.blog
  • 34. V. F R A M I N G softwaretester.blog
  • 35. F R A M I N G I N M A G I C • Finding the context for an effect • Contented context elevates magic beyond puzzles and makes it meaningful • Situational context must fit setting, occasion and location softwaretester.blog
  • 36. F R A M I N G I N S O F T WA R E • Having the best idea and intention is not enough • If you phrase it poorly, it can fail miserably softwaretester.blog
  • 37. F R A M I N G I N T E A M I N T E N T • Too focussed on providing solutions • Detached from people and needs • Forgetting the why softwaretester.blog
  • 38. – E U G E N E B U R G E R , M A G I C I A N „The house of magic has many rooms.“ softwaretester.blog
  • 39. V I . T I M E L A P S E softwaretester.blog
  • 40. T I M E L A P S E I N M A G I C • Time lapse is a form of misdirection • The longer the time between two events is, the less clear it is softwaretester.blog
  • 41. T I M E L A P S E I N S O F T WA R E • Reporting and monitoring has to be on time • Otherwise, it means nothing • Timing is important softwaretester.blog
  • 42. T I M E L A P S E I N T E S T F E E D B A C K • Shifting left • Fail fast / learn fast • Fast communication channels softwaretester.blog
  • 43. – A L B E R T E I N S T E I N , T H E O R E T I C A L P H Y S I C I S T „The only reason for time is so that everything doesn’t happen at once.“ softwaretester.blog
  • 44. V I I . C O N V I C T I O N softwaretester.blog
  • 45. C O N V I C T I O N I N M A G I C • Spectators have to be convinced of an initial state to fully appreciate changes • It is better to convince implicitly softwaretester.blog
  • 46. C O N V I C T I O N I N S O F T WA R E • Conviction is stronger than assumptions • The intention of a system has to be clear to detect deviation • This is where BDD comes in softwaretester.blog
  • 47. C O N V I C T I O N I N C O M M U N I C AT I O N • Trust that all give their best and work towards the same cause • Get everyone on the same page • Speak a ubiquitous language softwaretester.blog
  • 48. – T E L L E R , M A G I C I A N „We estimate the intelligence of the audience as being greater than ours.“ softwaretester.blog
  • 49. V I I I . FA I L U R E softwaretester.blog
  • 50. FA I L U R E I N M A G I C • Stylistic device • Improving magic by analysing failed performances softwaretester.blog
  • 51. FA I L U R E I N S O F T WA R E • Don’t trust tests that never failed before • Failure is the essence of TDD • If something fails, it should be covered with a test softwaretester.blog
  • 52. P R E S E N T I N G P R O C E S S FA I L U R E S • SDLC Post-mortems • Present failures and lessons learned • It is one of the best tools to improve softwaretester.blog
  • 53. – T H O M A S A . E D I S O N , I N V E N T O R „I have not failed. I've just found 10,000 ways that won't work.“ softwaretester.blog
  • 54. I X . H I D D E N C O M P L E X I T Y softwaretester.blog
  • 55. H I D D E N C O M P L E X I T Y I N M A G I C • Magicians want to hide their skills • Ideally, the magic should happen on its own softwaretester.blog
  • 56. H I D D E N C O M P L E X I T Y I N S O F T WA R E • Only show choices when they are needed • Don’t propagate stack traces to the front end • Make error messages meaningful and actionable softwaretester.blog
  • 57. S I M P L I F I C AT I O N I N T H E U I / U X • Limiting options for a better user experience • Disabling elements depending on the context • Straight forward happy path softwaretester.blog
  • 58. – G R A D Y B O O C H , S O F T WA R E E N G I N E E R „The function of good software is to make the complex appear to be simple.“ softwaretester.blog
  • 59. H I D D E N C O M P L E X I T Y I N T H E C L I • Putting a simple proxy in front of a complex system softwaretester.blog
  • 60. – S T U A R T C R O C K E R , Q A E N G I N E E R „Quality is the absence of unnecessary friction.“ softwaretester.blog
  • 61. F I N A L T H O U G H T S W H E R E T O G O F R O M H E R E softwaretester.blog
  • 62. S PA R K I N G C R E AT I V I T Y • Transfer of learning is really satisfying • Thought exercises to break out of „programmer’s block“ • Try it with your own hobbies and interests! softwaretester.blog
  • 63. K N O W L E D G E E X C H A N G E • Regular QA knowledge sharing meetings at trivago • Half of the topics are non-technical • A quarter of the topics are completely unrelated softwaretester.blog
  • 64. “ B E S T P R A C T I C E S ” • There are no best practices for every situation • They can be adjusted… • …or even turned upside down softwaretester.blog
  • 65. M A K I N G C O N N E C T I O N S T H E P O I N T O F T H I S TA L K softwaretester.blog
  • 66. T H A N K Y O U ! Benjamin Bischoff softwaretester.blog