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

Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 

Último (20)

Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 

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