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
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
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
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
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
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