Could exploring diverse disciplines and industries lead to dramatic improvements in your effectiveness as a tester?
The craft of testing has its origins in the social sciences. The characteristics that we seek to develop as testers include communication, creativity, critical thinking and curiosity.
Typically we focus on metaphors from engineering and manufacturing and learn about the disciplines of these industries.
There is so much to gain by learning about other industries such as Aviation and Health Care, and studying other disciplines, for instance, heuristics originated from behavioural economics and mind mapping was developed over centuries by philosophers and psychologists.
In this talk, I will share my journey of being transformed from a regimented confirmation tester to a context-based exploratory tester.
These changes occurred by the challenges faced by testing software in different industries and more importantly studying non-engineering disciplines.
11. 1. Controlled, Conservative and Checking
2. Energy, Empathy and Exploring
3. Autonomy, Anarchy and Automation
4. Controlled, Conservative and Checking
Which companies experienced large project failures?
Quiz Time
@conorfi
12. 1. Controlled, Conservative and Checking
(Large Project Failure)
2. Energy, Empathy and Exploring
(Huge Success)
3. Autonomy, Anarchy and Automation
(Steady Growth, Well funded)
4. Controlled, Conservative and Checking
(Large Project Failure)
Quiz Time
@conorfi
15. Principle 4. Projects unfold over time in
ways that are often not predictable
The Seven Basic Principles of the Context-Driven School
Cem Kaner, James Bach,Brian Marick, Bret Pettichord
@conorfiContext Driven
20. Checklist
”They came up with an ingeniously simple
approach: they created a pilot’s checklist."
The pilots went on to fly the Model 299 a total of
1.8 million miles without one accident."
The Checklist Manifesto: How to Get Things Right
Atul Gawande
@conorfi
21. Pairing
● Pairing
● Mobbing
● Bug Bash
“Fresh Eyes Find Failures”
Lessons Learned in Software Testing: A Context-Driven Approach
Cem Kaner, James Bach, Bret Pettichord @conorfi
23. Etsy’s Blameless Culture
1. Assume Goodwill
2. Identify Causes not Culprits
3. Take your Time
“We instead want to view mistakes, errors, slips, lapses, etc.
with a perspective of learning.”
John Allspaw – Former CTO (Etsy)
@conorfi
24. A Culture of Questioning
● Cultural
Reorientation
● Speak Up
Outliers by Malcolm Gladwell
@conorfi
25. A Culture of Questioning
“Programmers like to talk about their work,
ask them questions.”
Lessons Learned in Software Testing: A Context-Driven Approach
Cem Kaner, James Bach, Bret Pettichord
BDD
“Biscuit Driven Development”
Alexandra Schladebeck
@conorfi
28. Heuristics
A heuristic is a fallible
method of solving a problem
or making a decision.
“Rule of Thumb”
“Intuitive Judgement”
“Fast and Frugal”
@conorfi
Thinking, Fast and Slow
Daniel Kahneman
29. Test Heuristics
• CRUD Create, Read, Update, Delete
• Sequences Vary Order of Operations
• Count 0, 1, Many
Test Heuristics Cheat Sheet (Elisabeth Hendrickson, James Lyndsay, and Dale Emery)
Heuristic Test Strategy Model (James Bach)
@conorfi
30. Oracles
Oracles are simply the
principle or mechanism
by which we recognize
a problem
HICCUPPSF(Michael Bolton)
History
Image
Comparable Product
Claims
User Expectations
Product
Purpose
Standards
Familiarity
@conorfi
34. Models
“All testing is based on models”
Lessons Learned in Software Testing: A Context-Driven Approach
Cem Kaner, James Bach, Bret Pettichord
“Remember, always, that everything you know, and everything
everyone knows, is only a model.”
“Get your model out there where it can be viewed. Invite others
to challenge your assumptions and add their own.”
Thinking in Systems: A Primer
Donella H. Meadows @conorfi
35. Models
“#2. We accelerate the team, and use models like Lean
Thinking and the Theory of Constraints to help identify, prioritize
and mitigate bottlenecks from the system.”
Modern Testing Principles
Alan Page and Brent Jensen
@conorfi
38. Data
“#6 We use data extensively to deeply understand customer
usage and then close the gaps between product hypotheses
and business impact.”
Modern Testing Principles
Alan Page and Brent Jensen
@conorfi
40. Economics
● Law of Unintended
Consequences
● Law of Diminishing
Returns
@conorfi
41. Unintended Consequences
“Small changes don’t necessarily manifest
immediately, but compound effects can be
huge.”
Fifty Quick Ideas To Improve Your Tests
Gojko Adzic, David Evans, Tom Roden, Nikola Korac
@conorfi
42. Diminishing Returns
“Will these tests cost more to execute than their answers will
be worth?“
“Good testing involves balancing the need to mitigate risk
against the risk of trying to gather too much information.”
Perfect Software: And Other Illusions About Testing
Gerald M. Weinberg
@conorfi
44. Being in the moment
● Patterns
● Cognitive Biases
● Confirmation
Bias
● Availability
Heuristic
@conorfi
45. Emotions
“Confusion is a
Test Tool”
Lessons Learned in Software Testing:
A Context-Driven Approach
Cem Kaner, James Bach, Bret Pettichord
@conorfi
46. Kindness
Kind to yourself
Kind to others
“If you miss something, check whether the miss is surprising
or just a natural outcome of your strategy”
Lessons Learned in Software Testing: A Context-Driven Approach
Cem Kaner, James Bach, Bret Pettichord
@conorfi
48. Checking vs Exploratory
“Tested = Checked and Explored”
Explore It! Reduce Risk and Increase Confidence with Exploratory Testing
Elisabeth Hendrickson
Checking can be automated
Not equivalent to a Tester checking
Exploring done by Humans
Passion for the Craft of Testing
Can be supported by Automation @conorfi
49. Culture
Blameless Culture
Culture of Questioning
5C’s
1. Critical Thinking
2. Curiosity
3. Collaboration
4. Communication
5. Creativity
@conorfi
50. Culture
@conorfi
“People, not methodologies or tools, make
projects successful.”
Agile Testing: A Practical Guide for Testers and Agile Teams
Lisa Crispin
”No matter how it looks at first,
it's always a people problem.”
The secrets of consulting
Gerald M. Weinberg
51. Learnings
• Checklists
• Pairing
• Models
• Data analytics
@conorfi
• Personas &
User Journeys
• Heuristics &
Mnemonics
• Cognitive Biases
55. Books
● Lessons Learned in Software Testing: A Context-Driven Approach
Cem Kaner, James Bach, Bret Pettichord
● Explore It! Reduce Risk and Increase Confidence with Exploratory Testing
Elisabeth Hendrickson
● More Agile Testing: Learning Journeys for the Whole Team
Janet Gregory and Lisa Crispin
● Perfect Software: And Other Illusions about Testing
Gerald M. Weinberg @conorfi
56. Books
● An Introduction to General Systems Thinking
Gerald M. Weinberg
● Fifty Quick Ideas To Improve Your Tests
Gojko Adzic, David Evans, Tom Roden, Nikola Korac
● Outliers:The story of Success
Malcom Gladwell
● Freakonomics: A Rogue Economist Explores the Hidden Side of Everything
Steven D. Levitt , Stephen J Dubner
@conorfi
57. Books
● The Checklist Manifesto: How to get Things Right
Atul Gawande
● The Goal
Eliyahu M. Goldratt
● Thinking, Fast and Slow
Daniel Kahneman
@conorfi
58. Blogs/Web
● satisfice.com
Michael Bolton and James Bach
● eviltester.com
Alan Richardson
● Test Heuristics Cheat Sheet (Elisabeth Hendrickson, James Lyndsay, and Dale Emery)
http://testobsessed.com/wp-content/uploads/2011/04/testheuristicscheatsheetv1.pdf
● http://katrinatester.blogspot.com/p/about-me.html
Katrina Clokie
@conorfi