SlideShare a Scribd company logo
How Did I Miss That Bug?
Overcome Cognitive Bias In Testing
Gerie Owen & Peter Varhol
Presenters
Gerie Owen
gerie@gerieowen.com
• Quality Assurance Consultant
• Speaker and Blogger on Testing
topics
• Experienced Tester:
• Bug Finder and Bug Misser
Peter Varhol
peter@petervarhol.com
• International speaker on
technology topics
• Former product manager and
university professor
Meet Our Cats...
Max, Stephanie
& Monica
Presentation Outline
• Agenda • Why are we talking about
missed bugs?
• How do we miss bugs?
• System 1 and System 2 thinking
• Cognitive Biases Affecting
Testing
• Managing Cognitive Bias for
• Testers
• Test Leads and Managers
• Our Profession
Why are we talking about missing bugs?
• Have you ever missed a bug?
• Have you ever been asked how you missed a bug?
• Have you ever wondered how you missed a bug?
Consequences of Missed Bugs
• Possible Consequences of Missed Bugs:
• Negative Publicity
• Lost Sales
• Lost Customers
• Even Loss of Life
MISSED BUGS CAUSE MAYHEM
My Journey
The “HOW” is more important than the “WHY”
And now , I invite you to join with me
into the journey of
How Did I Miss that Bug?
How Do We Miss Bugs?
• Missed test cases
• Misunderstanding of requirements
• Misjudgment in risk-based testing
• Inattention
• Fatigue
• Burnout
• Multi-tasking
How Do We Test?
• What is Software Testing?
• Software testing is making judgments about the quality of the software
under test
• Involves:
• Objective comparisons of code to specifications,
• AND
• Subjective assessments regarding usability, functionality etc
What IS a Missed Bug?
An Error in Judgment!
To determine how testers miss bugs, we need to understand how humans
make judgments, especially in complex situations.
How do we make judgments?
• Thinking, Fast and Slow – Daniel Kahneman
• System 1 thinking – fast, intuitive, and sometimes wrong
• System 2 thinking – slower, more deliberate, more accurate
System 1 vs. System 2 Thinking
• System 1 thinking keeps us functioning
• Fast decisions, usually right enough
• Gullible and biased
• System 2 makes deliberate, thoughtful decisions
• It is in charge of doubt and unbelieving
• But is often lazy
• Difficult to engage
How Do We Apply System 1 and System 2
Thinking?
• System 1 thinking:
• Is applied in our initial reactions to situations.
• May employ Heuristics or rules of thumb
• System 2 thinking:
• Is applied when we analyze a problem, for example when calculating the answer to a math
problem.
• System 1 and System 2 can be in conflict:
• lead to biases in decision-making.
Consider This Problem
• A bat and ball cost $1.10
• The bat cost one dollar more than the ball
• How much does the ball cost?
How do Biases Impact Testing?
• We maintain certain beliefs in testing practice
• Which may or may not be factually true
• Those biases can affect our testing results
• We may be predisposed to believe something that affects our work and our
conclusions
• How do bias and error work?
• We may test the wrong things
• Not find errors, or find false errors
The Representative Bias
• Happens when we judge the likelihood of an occurrence in a particular
situation by how closely the situation resembles similar situations.
• Testers may be influenced by this bias when designing data matrices,
perhaps not testing data in all states or not testing enough types of data.
• Case Study: Ability to print more than once bug
The Curse of Knowledge
• Happens when we are so knowledgeable about something, that our
ability to address it from a less informed, more neutral perspective is
diminished.
• When testers develop so much domain knowledge that they fail to test
from the perspective of a new user. Usability bugs are often missed due
to this bias.
• Case Study: Date of Death Bug
The Congruence Bias
• The tendency of experimenters to plan and execute tests on just their
own hypotheses without considering alternative hypotheses.
• This bias is often the root cause of missed negative test cases. Testers
write test cases to validate that the functionality works according to the
specifications and neglect to validate that the functionality doesn’t work
in ways that it should not.
• Case Study: Your negative test case or boundary miss
The Confirmation Bias
• The tendency to search for and interpret information in a way that
confirms one’s initial perceptions.
• Testers’ initial perceptions of the quality of code, the quality of the
requirements and the capabilities of developers can impact the ways in
which they test.
• Case Study: Whose code to you test the most thoroughly?
The Anchoring Effect
• The tendency to become locked on and rely too heavily on one piece of
information and therefore exclude other ideas or evidence that
contradicts the initial information.
• Software testers do this often when they validate code to specifications
exclusively without considering ambiguities or errors in the
requirements.
Inattentional Blindness
• Chabris and Simon conducted experiments on how focusing on one thing
makes us blind to others
• Invisible gorilla on the basketball court
• Images on a lung x-ray
Inattentional Blindness
• a psychological lack of attention
• the tendency to miss obvious inconsistencies when focusing specifically
on a particular task.
• This happens in software testing when testers miss the blatantly obvious
bugs
Why Do We Develop Biases?
• The Blind Spot Bias
• We evaluate our own decision-making process differently than we evaluate how
others make decisions.
• West, Meserve and Stanovich
How Does This Apply To Testing?
•We must manage the way we think throughout the
test process.
• As individual testers
• As test managers
• As a professional community
How Can Testers Manage Their Thought
Processes?
•Use more System 1 thinking?
OR
•Use more System 2 thinking?
Test Methodology and
System 2 Thinking
• Test methodology is the analytical framework of testing; it
invokes our system 2 thinking and places the tester under
cognitive load.
• The determination of whether the actual results match the
expected results becomes an objective assessment.
How Do We Find Bugs?
Focus on System 1 thinking, intuition and
emotion
Focus On System 1 Thinking
• Heuristics used with Oracles
• Recognize our emotions as indicators of potential bugs
• Exploratory Testing
The Power of Exploratory Testing
• Exploratory testing is simultaneous learning, test design, and test
execution
• Exploratory testers often use tools
• record of the exploratory session
• generate situations of interest
The Characteristics of Exploratory Testing
• Planned
• Learning experience
• Discovery process
• Different for each application
How Should We Use Exploratory Testing?
• Unstructured
• Before beginning test case execution
• Minimizes preconceived notions about the application under test
• Oracle based
• Users’ perspectives
• Data flow
How Should We Use Exploratory Testing?
• Structured
• Use to create additional test cases
• May be done earlier, possible as modules are developed
• Session-Based
• Time-boxed charters
• Multiple testers
• Post test review session
Planning
• What are situations of interest?
• Usual tasks performed by the user
• Things that a user might do
• Things covered by charter
• Document the plan
• It’s not ad hoc testing
• Deviate from the plan as
necessary
Learning Experience
• What can I learn about the software?
• What all the buttons and forms do
• How it wants the user to work
• Strengths and weaknesses
Discovery
• What are situations of interest?
• Usual tasks performed by the user
• Things a user might do
• Does it behave as expected?
• If not, lets explore
• And document
What Can Test Managers Do?
• Foster an environment in which the testers feel comfortable and
empowered to use System 1 thinking.
• Plan for exploratory testing in the test schedule
• Encourage Testers to take risks
• Reward for Quality of bugs rather than quantity of test cases executed
What Can the QA Profession Do?
A Paradigm Shift
• Shift our focus from requirements coverage based test execution to a more
intuitive approach
• Exploratory testing and business process flow testing becomes the norm rather
than the exception
• Develop new testing frameworks where risk-based testing is executed through
targeted exploratory testing and is balanced with scripted testing
• Our purpose should be providing information versus finding bugs
Question Test Results
• Is there any reason to suspect we are evaluating our test results based
on self-interest, overconfidence, or attachment to past experiences?
• Have we fallen in love with our test results?
• Were there any differences of opinion among the team reviewing the
test results?
How Do We Find The Obvious Bugs?
• Focus less
• Use intuition
• Believe what we can’t believe
Questions?

More Related Content

What's hot

5 whys
5 whys5 whys
5 whys
NagNikki
 
5 why analysis training presentaion
5 why analysis training presentaion5 why analysis training presentaion
5 why analysis training presentaion
Dharmesh Panchal
 
Test automation – the bitter truth
Test automation – the bitter truthTest automation – the bitter truth
Test automation – the bitter truth
Viktor Slavchev
 
Expecting the Unexpected: Preparing for Successful User Research Sessions (Do...
Expecting the Unexpected: Preparing for Successful User Research Sessions (Do...Expecting the Unexpected: Preparing for Successful User Research Sessions (Do...
Expecting the Unexpected: Preparing for Successful User Research Sessions (Do...
Fiona Tranquada
 
"Worst" practices of software testing
"Worst" practices of software testing"Worst" practices of software testing
"Worst" practices of software testing
Viktor Slavchev
 
Robert Xiong's 5 whys Methodology
Robert Xiong's 5 whys MethodologyRobert Xiong's 5 whys Methodology
Robert Xiong's 5 whys Methodology
Robert Xiong
 
Intro to guerilla usability testing
Intro to guerilla usability testingIntro to guerilla usability testing
Intro to guerilla usability testing
Rebecca Destello
 
Software testing _mod_9
Software testing _mod_9Software testing _mod_9
Software testing _mod_9
hellosashi
 
Session-Based Test Management
Session-Based Test ManagementSession-Based Test Management
Session-Based Test Management
caltonhill
 
Santa Barbara Agile: Exploratory Testing Explained and Experienced
Santa Barbara Agile: Exploratory Testing Explained and ExperiencedSanta Barbara Agile: Exploratory Testing Explained and Experienced
Santa Barbara Agile: Exploratory Testing Explained and Experienced
Maaret Pyhäjärvi
 
Creating a Virtuous Cycle - The Research and Design Feedback Loop
Creating a Virtuous Cycle - The Research and Design Feedback LoopCreating a Virtuous Cycle - The Research and Design Feedback Loop
Creating a Virtuous Cycle - The Research and Design Feedback Loop
Julie Stanford
 
Challenging Your Project’s Testing Mindsets - Joe DeMeyer
Challenging Your Project’s Testing Mindsets - Joe DeMeyerChallenging Your Project’s Testing Mindsets - Joe DeMeyer
Challenging Your Project’s Testing Mindsets - Joe DeMeyer
QA or the Highway
 
Root cause analysis using 5 whys
Root cause analysis using 5 whysRoot cause analysis using 5 whys
Root cause analysis using 5 whys
Fahmi Ramadhan Putra
 
5-Why Training
5-Why Training5-Why Training
5-Why Training
Ranita Kaur
 
5 why analysis
5 why analysis5 why analysis
5 why analysis
Amit Shrivastava
 
Bad metric, bad!
Bad metric, bad!Bad metric, bad!
Bad metric, bad!
Centric Consulting
 
A Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software TestingA Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software Testing
TechWell
 
5 Why Training Slides Oct 14, 2009
5 Why Training Slides Oct 14, 20095 Why Training Slides Oct 14, 2009
5 Why Training Slides Oct 14, 2009
ExerciseLeanLLC
 
Usability testing / Nearly everything you need to know to get started
Usability testing / Nearly everything you need to know to get startedUsability testing / Nearly everything you need to know to get started
Usability testing / Nearly everything you need to know to get started
Rebecca Destello
 
A Guide to the Five Whys Technique
A Guide to the Five Whys TechniqueA Guide to the Five Whys Technique
A Guide to the Five Whys Technique
Olivier Serrat
 

What's hot (20)

5 whys
5 whys5 whys
5 whys
 
5 why analysis training presentaion
5 why analysis training presentaion5 why analysis training presentaion
5 why analysis training presentaion
 
Test automation – the bitter truth
Test automation – the bitter truthTest automation – the bitter truth
Test automation – the bitter truth
 
Expecting the Unexpected: Preparing for Successful User Research Sessions (Do...
Expecting the Unexpected: Preparing for Successful User Research Sessions (Do...Expecting the Unexpected: Preparing for Successful User Research Sessions (Do...
Expecting the Unexpected: Preparing for Successful User Research Sessions (Do...
 
"Worst" practices of software testing
"Worst" practices of software testing"Worst" practices of software testing
"Worst" practices of software testing
 
Robert Xiong's 5 whys Methodology
Robert Xiong's 5 whys MethodologyRobert Xiong's 5 whys Methodology
Robert Xiong's 5 whys Methodology
 
Intro to guerilla usability testing
Intro to guerilla usability testingIntro to guerilla usability testing
Intro to guerilla usability testing
 
Software testing _mod_9
Software testing _mod_9Software testing _mod_9
Software testing _mod_9
 
Session-Based Test Management
Session-Based Test ManagementSession-Based Test Management
Session-Based Test Management
 
Santa Barbara Agile: Exploratory Testing Explained and Experienced
Santa Barbara Agile: Exploratory Testing Explained and ExperiencedSanta Barbara Agile: Exploratory Testing Explained and Experienced
Santa Barbara Agile: Exploratory Testing Explained and Experienced
 
Creating a Virtuous Cycle - The Research and Design Feedback Loop
Creating a Virtuous Cycle - The Research and Design Feedback LoopCreating a Virtuous Cycle - The Research and Design Feedback Loop
Creating a Virtuous Cycle - The Research and Design Feedback Loop
 
Challenging Your Project’s Testing Mindsets - Joe DeMeyer
Challenging Your Project’s Testing Mindsets - Joe DeMeyerChallenging Your Project’s Testing Mindsets - Joe DeMeyer
Challenging Your Project’s Testing Mindsets - Joe DeMeyer
 
Root cause analysis using 5 whys
Root cause analysis using 5 whysRoot cause analysis using 5 whys
Root cause analysis using 5 whys
 
5-Why Training
5-Why Training5-Why Training
5-Why Training
 
5 why analysis
5 why analysis5 why analysis
5 why analysis
 
Bad metric, bad!
Bad metric, bad!Bad metric, bad!
Bad metric, bad!
 
A Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software TestingA Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software Testing
 
5 Why Training Slides Oct 14, 2009
5 Why Training Slides Oct 14, 20095 Why Training Slides Oct 14, 2009
5 Why Training Slides Oct 14, 2009
 
Usability testing / Nearly everything you need to know to get started
Usability testing / Nearly everything you need to know to get startedUsability testing / Nearly everything you need to know to get started
Usability testing / Nearly everything you need to know to get started
 
A Guide to the Five Whys Technique
A Guide to the Five Whys TechniqueA Guide to the Five Whys Technique
A Guide to the Five Whys Technique
 

Similar to How did i miss that bug rtc

Don’t Let Missed Bugs Cause Mayhem in your Organization!
Don’t Let Missed Bugs Cause Mayhem in your Organization!Don’t Let Missed Bugs Cause Mayhem in your Organization!
Don’t Let Missed Bugs Cause Mayhem in your Organization!
Qualitest
 
How Did I Miss That Bug? Managing Cognitive Bias in Testing
How Did I Miss That Bug? Managing Cognitive Bias in TestingHow Did I Miss That Bug? Managing Cognitive Bias in Testing
How Did I Miss That Bug? Managing Cognitive Bias in Testing
TechWell
 
Mal12 qa tand-automatedtesting
Mal12 qa tand-automatedtestingMal12 qa tand-automatedtesting
Mal12 qa tand-automatedtesting
andytinkham
 
Lean Startup 301
Lean Startup 301Lean Startup 301
Lean Startup 301
Lean Startup Co.
 
Preparing for your viva
Preparing for your vivaPreparing for your viva
Preparing for your viva
Learning Development Centre
 
XBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software Testing
XBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software TestingXBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software Testing
XBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software Testing
XBOSoft
 
Decision Making Process & The Professional Mona
Decision Making Process & The Professional MonaDecision Making Process & The Professional Mona
Decision Making Process & The Professional Mona
Cordel Francis
 
10 signs your testing is not enough
10 signs your testing is not enough10 signs your testing is not enough
10 signs your testing is not enough
SQALab
 
Worst practices in software testing by the Testing troll
Worst practices in software testing by the Testing trollWorst practices in software testing by the Testing troll
Worst practices in software testing by the Testing troll
Viktor Slavchev
 
QASymphony Webinar - "How to Start, Grow & Perfect Exploratory Testing on you...
QASymphony Webinar - "How to Start, Grow & Perfect Exploratory Testing on you...QASymphony Webinar - "How to Start, Grow & Perfect Exploratory Testing on you...
QASymphony Webinar - "How to Start, Grow & Perfect Exploratory Testing on you...
QASymphony
 
QASymphony - How to Start, Grow & Perfect Exploratory Testing on your Team
QASymphony - How to Start, Grow & Perfect Exploratory Testing on your TeamQASymphony - How to Start, Grow & Perfect Exploratory Testing on your Team
QASymphony - How to Start, Grow & Perfect Exploratory Testing on your Team
elizabethdiazqa
 
TIARA Module 3 Design and Analysis Dr. Anne Sales 082019
TIARA Module 3 Design and Analysis  Dr. Anne Sales 082019TIARA Module 3 Design and Analysis  Dr. Anne Sales 082019
TIARA Module 3 Design and Analysis Dr. Anne Sales 082019
Stacy Farr, PhD, MPH
 
Hci evaluationa frame work lec 14
Hci evaluationa frame work lec 14Hci evaluationa frame work lec 14
Hci evaluationa frame work lec 14
Anwal Mirza
 
Defining Test Competence
Defining Test CompetenceDefining Test Competence
Defining Test Competence
Johan Hoberg
 
How to design effective online surveys
How to design effective online surveysHow to design effective online surveys
How to design effective online surveys
UserZoom
 
Marjuni
MarjuniMarjuni
Marjuni
marjuni .
 
Planning & Conducting a Research Study
Planning & Conducting a Research StudyPlanning & Conducting a Research Study
Planning & Conducting a Research Study
Elicia Stewart
 
HCI_Lecture04.pptx
HCI_Lecture04.pptxHCI_Lecture04.pptx
HCI_Lecture04.pptx
HARISSheikh31
 
Tester Challenges in Agile ?
Tester Challenges in Agile ?Tester Challenges in Agile ?
Tester Challenges in Agile ?
alind tiwari
 
Agile process
Agile processAgile process
Agile process
alind tiwari
 

Similar to How did i miss that bug rtc (20)

Don’t Let Missed Bugs Cause Mayhem in your Organization!
Don’t Let Missed Bugs Cause Mayhem in your Organization!Don’t Let Missed Bugs Cause Mayhem in your Organization!
Don’t Let Missed Bugs Cause Mayhem in your Organization!
 
How Did I Miss That Bug? Managing Cognitive Bias in Testing
How Did I Miss That Bug? Managing Cognitive Bias in TestingHow Did I Miss That Bug? Managing Cognitive Bias in Testing
How Did I Miss That Bug? Managing Cognitive Bias in Testing
 
Mal12 qa tand-automatedtesting
Mal12 qa tand-automatedtestingMal12 qa tand-automatedtesting
Mal12 qa tand-automatedtesting
 
Lean Startup 301
Lean Startup 301Lean Startup 301
Lean Startup 301
 
Preparing for your viva
Preparing for your vivaPreparing for your viva
Preparing for your viva
 
XBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software Testing
XBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software TestingXBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software Testing
XBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software Testing
 
Decision Making Process & The Professional Mona
Decision Making Process & The Professional MonaDecision Making Process & The Professional Mona
Decision Making Process & The Professional Mona
 
10 signs your testing is not enough
10 signs your testing is not enough10 signs your testing is not enough
10 signs your testing is not enough
 
Worst practices in software testing by the Testing troll
Worst practices in software testing by the Testing trollWorst practices in software testing by the Testing troll
Worst practices in software testing by the Testing troll
 
QASymphony Webinar - "How to Start, Grow & Perfect Exploratory Testing on you...
QASymphony Webinar - "How to Start, Grow & Perfect Exploratory Testing on you...QASymphony Webinar - "How to Start, Grow & Perfect Exploratory Testing on you...
QASymphony Webinar - "How to Start, Grow & Perfect Exploratory Testing on you...
 
QASymphony - How to Start, Grow & Perfect Exploratory Testing on your Team
QASymphony - How to Start, Grow & Perfect Exploratory Testing on your TeamQASymphony - How to Start, Grow & Perfect Exploratory Testing on your Team
QASymphony - How to Start, Grow & Perfect Exploratory Testing on your Team
 
TIARA Module 3 Design and Analysis Dr. Anne Sales 082019
TIARA Module 3 Design and Analysis  Dr. Anne Sales 082019TIARA Module 3 Design and Analysis  Dr. Anne Sales 082019
TIARA Module 3 Design and Analysis Dr. Anne Sales 082019
 
Hci evaluationa frame work lec 14
Hci evaluationa frame work lec 14Hci evaluationa frame work lec 14
Hci evaluationa frame work lec 14
 
Defining Test Competence
Defining Test CompetenceDefining Test Competence
Defining Test Competence
 
How to design effective online surveys
How to design effective online surveysHow to design effective online surveys
How to design effective online surveys
 
Marjuni
MarjuniMarjuni
Marjuni
 
Planning & Conducting a Research Study
Planning & Conducting a Research StudyPlanning & Conducting a Research Study
Planning & Conducting a Research Study
 
HCI_Lecture04.pptx
HCI_Lecture04.pptxHCI_Lecture04.pptx
HCI_Lecture04.pptx
 
Tester Challenges in Agile ?
Tester Challenges in Agile ?Tester Challenges in Agile ?
Tester Challenges in Agile ?
 
Agile process
Agile processAgile process
Agile process
 

More from GerieOwen

Does dev ops need continuous testing devops days des moines 2018 v1
Does dev ops need continuous testing devops days des moines 2018 v1Does dev ops need continuous testing devops days des moines 2018 v1
Does dev ops need continuous testing devops days des moines 2018 v1
GerieOwen
 
Testing the brave new world of saa s applications quest 2018 v1
Testing the brave new world of saa s applications quest 2018 v1Testing the brave new world of saa s applications quest 2018 v1
Testing the brave new world of saa s applications quest 2018 v1
GerieOwen
 
Personas a fresh perspective on testing qatest 2018 6th version
Personas a fresh perspective on testing qatest 2018 6th versionPersonas a fresh perspective on testing qatest 2018 6th version
Personas a fresh perspective on testing qatest 2018 6th version
GerieOwen
 
Test automation and beyond developing an effective continuous test strategy d...
Test automation and beyond developing an effective continuous test strategy d...Test automation and beyond developing an effective continuous test strategy d...
Test automation and beyond developing an effective continuous test strategy d...
GerieOwen
 
Dev ops and groupthink an oxymoron devops days Kiev
Dev ops and groupthink an oxymoron devops days KievDev ops and groupthink an oxymoron devops days Kiev
Dev ops and groupthink an oxymoron devops days Kiev
GerieOwen
 
A wearables story mobile dev and test 2016
A wearables story mobile dev and test 2016A wearables story mobile dev and test 2016
A wearables story mobile dev and test 2016
GerieOwen
 
Agile teams advocating quality when collaboration becomes groupthink qa&...
Agile teams  advocating quality when collaboration becomes groupthink qa&...Agile teams  advocating quality when collaboration becomes groupthink qa&...
Agile teams advocating quality when collaboration becomes groupthink qa&...
GerieOwen
 
A wearables story better software west
A wearables story better software westA wearables story better software west
A wearables story better software west
GerieOwen
 
A wearables story better software west
A wearables story better software westA wearables story better software west
A wearables story better software west
GerieOwen
 

More from GerieOwen (9)

Does dev ops need continuous testing devops days des moines 2018 v1
Does dev ops need continuous testing devops days des moines 2018 v1Does dev ops need continuous testing devops days des moines 2018 v1
Does dev ops need continuous testing devops days des moines 2018 v1
 
Testing the brave new world of saa s applications quest 2018 v1
Testing the brave new world of saa s applications quest 2018 v1Testing the brave new world of saa s applications quest 2018 v1
Testing the brave new world of saa s applications quest 2018 v1
 
Personas a fresh perspective on testing qatest 2018 6th version
Personas a fresh perspective on testing qatest 2018 6th versionPersonas a fresh perspective on testing qatest 2018 6th version
Personas a fresh perspective on testing qatest 2018 6th version
 
Test automation and beyond developing an effective continuous test strategy d...
Test automation and beyond developing an effective continuous test strategy d...Test automation and beyond developing an effective continuous test strategy d...
Test automation and beyond developing an effective continuous test strategy d...
 
Dev ops and groupthink an oxymoron devops days Kiev
Dev ops and groupthink an oxymoron devops days KievDev ops and groupthink an oxymoron devops days Kiev
Dev ops and groupthink an oxymoron devops days Kiev
 
A wearables story mobile dev and test 2016
A wearables story mobile dev and test 2016A wearables story mobile dev and test 2016
A wearables story mobile dev and test 2016
 
Agile teams advocating quality when collaboration becomes groupthink qa&...
Agile teams  advocating quality when collaboration becomes groupthink qa&...Agile teams  advocating quality when collaboration becomes groupthink qa&...
Agile teams advocating quality when collaboration becomes groupthink qa&...
 
A wearables story better software west
A wearables story better software westA wearables story better software west
A wearables story better software west
 
A wearables story better software west
A wearables story better software westA wearables story better software west
A wearables story better software west
 

Recently uploaded

Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
Data Hops
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Public CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptxPublic CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptx
marufrahmanstratejm
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
Edge AI and Vision Alliance
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 

Recently uploaded (20)

Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Public CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptxPublic CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptx
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 

How did i miss that bug rtc

  • 1. How Did I Miss That Bug? Overcome Cognitive Bias In Testing Gerie Owen & Peter Varhol
  • 2. Presenters Gerie Owen gerie@gerieowen.com • Quality Assurance Consultant • Speaker and Blogger on Testing topics • Experienced Tester: • Bug Finder and Bug Misser Peter Varhol peter@petervarhol.com • International speaker on technology topics • Former product manager and university professor
  • 3. Meet Our Cats... Max, Stephanie & Monica
  • 4. Presentation Outline • Agenda • Why are we talking about missed bugs? • How do we miss bugs? • System 1 and System 2 thinking • Cognitive Biases Affecting Testing • Managing Cognitive Bias for • Testers • Test Leads and Managers • Our Profession
  • 5. Why are we talking about missing bugs? • Have you ever missed a bug? • Have you ever been asked how you missed a bug? • Have you ever wondered how you missed a bug?
  • 6. Consequences of Missed Bugs • Possible Consequences of Missed Bugs: • Negative Publicity • Lost Sales • Lost Customers • Even Loss of Life MISSED BUGS CAUSE MAYHEM
  • 7. My Journey The “HOW” is more important than the “WHY” And now , I invite you to join with me into the journey of How Did I Miss that Bug?
  • 8. How Do We Miss Bugs? • Missed test cases • Misunderstanding of requirements • Misjudgment in risk-based testing • Inattention • Fatigue • Burnout • Multi-tasking
  • 9. How Do We Test? • What is Software Testing? • Software testing is making judgments about the quality of the software under test • Involves: • Objective comparisons of code to specifications, • AND • Subjective assessments regarding usability, functionality etc
  • 10. What IS a Missed Bug? An Error in Judgment! To determine how testers miss bugs, we need to understand how humans make judgments, especially in complex situations.
  • 11. How do we make judgments? • Thinking, Fast and Slow – Daniel Kahneman • System 1 thinking – fast, intuitive, and sometimes wrong • System 2 thinking – slower, more deliberate, more accurate
  • 12. System 1 vs. System 2 Thinking • System 1 thinking keeps us functioning • Fast decisions, usually right enough • Gullible and biased • System 2 makes deliberate, thoughtful decisions • It is in charge of doubt and unbelieving • But is often lazy • Difficult to engage
  • 13. How Do We Apply System 1 and System 2 Thinking? • System 1 thinking: • Is applied in our initial reactions to situations. • May employ Heuristics or rules of thumb • System 2 thinking: • Is applied when we analyze a problem, for example when calculating the answer to a math problem. • System 1 and System 2 can be in conflict: • lead to biases in decision-making.
  • 14. Consider This Problem • A bat and ball cost $1.10 • The bat cost one dollar more than the ball • How much does the ball cost?
  • 15. How do Biases Impact Testing? • We maintain certain beliefs in testing practice • Which may or may not be factually true • Those biases can affect our testing results • We may be predisposed to believe something that affects our work and our conclusions • How do bias and error work? • We may test the wrong things • Not find errors, or find false errors
  • 16.
  • 17. The Representative Bias • Happens when we judge the likelihood of an occurrence in a particular situation by how closely the situation resembles similar situations. • Testers may be influenced by this bias when designing data matrices, perhaps not testing data in all states or not testing enough types of data. • Case Study: Ability to print more than once bug
  • 18. The Curse of Knowledge • Happens when we are so knowledgeable about something, that our ability to address it from a less informed, more neutral perspective is diminished. • When testers develop so much domain knowledge that they fail to test from the perspective of a new user. Usability bugs are often missed due to this bias. • Case Study: Date of Death Bug
  • 19. The Congruence Bias • The tendency of experimenters to plan and execute tests on just their own hypotheses without considering alternative hypotheses. • This bias is often the root cause of missed negative test cases. Testers write test cases to validate that the functionality works according to the specifications and neglect to validate that the functionality doesn’t work in ways that it should not. • Case Study: Your negative test case or boundary miss
  • 20. The Confirmation Bias • The tendency to search for and interpret information in a way that confirms one’s initial perceptions. • Testers’ initial perceptions of the quality of code, the quality of the requirements and the capabilities of developers can impact the ways in which they test. • Case Study: Whose code to you test the most thoroughly?
  • 21. The Anchoring Effect • The tendency to become locked on and rely too heavily on one piece of information and therefore exclude other ideas or evidence that contradicts the initial information. • Software testers do this often when they validate code to specifications exclusively without considering ambiguities or errors in the requirements.
  • 22.
  • 23. Inattentional Blindness • Chabris and Simon conducted experiments on how focusing on one thing makes us blind to others • Invisible gorilla on the basketball court • Images on a lung x-ray
  • 24. Inattentional Blindness • a psychological lack of attention • the tendency to miss obvious inconsistencies when focusing specifically on a particular task. • This happens in software testing when testers miss the blatantly obvious bugs
  • 25. Why Do We Develop Biases? • The Blind Spot Bias • We evaluate our own decision-making process differently than we evaluate how others make decisions. • West, Meserve and Stanovich
  • 26. How Does This Apply To Testing? •We must manage the way we think throughout the test process. • As individual testers • As test managers • As a professional community
  • 27. How Can Testers Manage Their Thought Processes? •Use more System 1 thinking? OR •Use more System 2 thinking?
  • 28. Test Methodology and System 2 Thinking • Test methodology is the analytical framework of testing; it invokes our system 2 thinking and places the tester under cognitive load. • The determination of whether the actual results match the expected results becomes an objective assessment.
  • 29. How Do We Find Bugs? Focus on System 1 thinking, intuition and emotion
  • 30. Focus On System 1 Thinking • Heuristics used with Oracles • Recognize our emotions as indicators of potential bugs • Exploratory Testing
  • 31. The Power of Exploratory Testing • Exploratory testing is simultaneous learning, test design, and test execution • Exploratory testers often use tools • record of the exploratory session • generate situations of interest
  • 32. The Characteristics of Exploratory Testing • Planned • Learning experience • Discovery process • Different for each application
  • 33. How Should We Use Exploratory Testing? • Unstructured • Before beginning test case execution • Minimizes preconceived notions about the application under test • Oracle based • Users’ perspectives • Data flow
  • 34. How Should We Use Exploratory Testing? • Structured • Use to create additional test cases • May be done earlier, possible as modules are developed • Session-Based • Time-boxed charters • Multiple testers • Post test review session
  • 35. Planning • What are situations of interest? • Usual tasks performed by the user • Things that a user might do • Things covered by charter • Document the plan • It’s not ad hoc testing • Deviate from the plan as necessary
  • 36. Learning Experience • What can I learn about the software? • What all the buttons and forms do • How it wants the user to work • Strengths and weaknesses
  • 37. Discovery • What are situations of interest? • Usual tasks performed by the user • Things a user might do • Does it behave as expected? • If not, lets explore • And document
  • 38. What Can Test Managers Do? • Foster an environment in which the testers feel comfortable and empowered to use System 1 thinking. • Plan for exploratory testing in the test schedule • Encourage Testers to take risks • Reward for Quality of bugs rather than quantity of test cases executed
  • 39. What Can the QA Profession Do? A Paradigm Shift • Shift our focus from requirements coverage based test execution to a more intuitive approach • Exploratory testing and business process flow testing becomes the norm rather than the exception • Develop new testing frameworks where risk-based testing is executed through targeted exploratory testing and is balanced with scripted testing • Our purpose should be providing information versus finding bugs
  • 40. Question Test Results • Is there any reason to suspect we are evaluating our test results based on self-interest, overconfidence, or attachment to past experiences? • Have we fallen in love with our test results? • Were there any differences of opinion among the team reviewing the test results?
  • 41. How Do We Find The Obvious Bugs? • Focus less • Use intuition • Believe what we can’t believe
  • 42.

Editor's Notes

  1. And so in most organizations, each time a bug, as tiny and insignificant as it may be, crawls into production, mayhem of magnanimous proportions ensues. And sometimes, the focus on finding out why it happened takes priority over the fix. In the name of continuous improvement, we begin the root cause analysis. Root cause analysis can take many forms. In some organizations, it is used effectively to make process improvements. In other organizations, it amounts to a witch hunt, the sole purpose of which is to assign blame. I worked in an organization where the art of the witch hunt and assignment of blame was developed to the level of a science. All bugs escaping into user acceptance testing or production were immediately analyzed to determine root cause, i.e., code, requirements, missed test case, etc. If the root cause was determined to be a tester miss, this was also noted in the test management tool. Metrics were developed to track missed bugs and testers were effectively pulverized for missing bugs. Test leads dreaded the root cause analysis process and testers worked in fear of missing bugs. As a test lead in this environment, I really wanted to help my test teams and reduce our bug misses. I started to think about how we missed bugs.
  2. Test leads dreaded the root cause analysis process and testers worked in fear of missing bugs. As a test lead in this environment, I really wanted to help my test teams and reduce our bug misses. I started to think about how we missed bugs. The more I thought about it, I realized that the “how” is probably more important than the “why”. And I began the journey into How Did I Miss That Bug? I invite you to journey with me.
  3. But What else? What if we take a step back and examine how we test?
  4. So then, what is a missed bug?
  5. Has anyone ever thought about that? Social Scientists Daniel Kahneman and Amos Tversky and Behavioral Psychologist Dan Ariely have. So as I, as a Test Lead and tester was struggling to understand how my teams and I were missing bugs, Peter had begun studying the role of cognition and bias in testing. He discussed this at several conferences in his presentation, “Moneyball and the Science of Building Great Test Teams”. Has anyone seen that presentation? When I saw it, I started to think about how this might apply to my quest to find out how we miss bugs. So now I’ll invite Peter to tell us about the research.
  6. Daniel Kahneman, in his book Thinking, Fast and Slow, defines two types of thinking. He calls them System 1 and System 2 thinking. These, of course, are models, and don’t have any physical representation in the brain or elsewhere.
  7. Daniel Kahneman has developed a model that divides thinking into two components, which he calls System 1 and System 2. System 1 is immediate, reflexive thinking that is for the most part unconscious in nature. We do this sort of thinking many times a day. It keeps us functioning in an environment where we have numerous external stimuli, some important, and many not. System 2 is more deliberate thought. It is engaged for more complex problems, those that require mental effort to evaluate and solve. System 2 makes more accurate evaluations and decisions, but it can’t respond instantly, as is required for many types of day-to-day decisions. And it takes effort, which means it can tire out team members.
  8. How many of you have ever had pilot training? Years ago, in a PA-28 Cherokee 140 like this one, my instructor put me “under the hood” in practicing recovery from unusual attitudes. With the hood down, he put the plane into unusual flying positions from which I had to recover as quickly as possible. When he brought the hood up, I could see only the instrument panel. I rapidly developed a heuristic that enabled me to quickly identify and correct an unusual attitude. In short, I focused on the turn indicator and artificial horizon, and worked to center both of them. My instructor figured out what I was doing, and I did the same thing the next time. My turn indicator and artificial horizon were centered, but I was still losing over 1000 feet a minute! I was stumped. My instructor had “crossed” the controls, leaving me in a slip that my heuristic couldn’t account for. I was worse than wrong; I couldn’t follow through at all once my heuristic failed. I never forgot that experience.
  9. Many, many biases have been identified, but let’s discuss some of the ones that are most relevant to testing.
  10. First let’s look at an example. Reading this obviously involves judgment? Can you read it?
  11. Usability bugs are often missed due to this bias. I tested an eOrder entry application for an annuity product where upon the death of one spouse the surviving spouse could elect to continue the contract rather than annuitize. This election had to be made within six months of the date of death. The developer placed the date of death about eight screens into the application. So, a user could type in over half of the required information only to find out that it was to late to proceed based upon the date of death.
  12. For example, if the specification is that a field should accept only alpha characters, the tester must also validate that the field does not accept numeric.
  13. For example, tester’s may test a less experienced developer’s code more thoroughly than a more experienced developer because finding more bugs in the less experienced developer’s code will confirm the tester’s expectations. When I travel, I usually take the express bus to the airport. When I’m leaving early in the morning, I buy my ticket ahead of time, but on this particular trip I didn’t. So here I was at about 5 min of 4 am. While I was waiting a the traffic light, I pulled $20 out of my purse and put it in my pocket. When got to the Logan express, the bus was already there, so I parked and ran with my bag flying behind me, tossed my $20 under the window and asked for a ticket, the cashier said something I didn’t quite understand but gave me the ticket. When I got on the bus, I noticed it was a different color and that it was a senior ticket. So when I gave the $20 and didn’t say anything when he attempted to question it, he interpreted, falsely, that I was a senior citizen and sold me the wrong ticket.
  14. Play Gorilla Video next
  15. I was testing a Smart Grid application and the associated devices including programmable thermostats, load control devices etc. I had a test lab with 18 different boxes with these devices and electric meters associated with them. In order to get load on the meters to test the calculations, we used heaters to simulate high usage. The test lab would get up to over 100 degrees. When the electric company would call a “critical event” the devices were show a red signal. When I tested a new release, I totally missed that the critical event didn’t activate the red signal and change the pricing because I was so focused on verifying the bugs fixes turned over in the release that I totally missed this new regression bug. I suppose fatigue due to the extreme heat may have factored in my missing the bug as well.
  16. An answer to why we aren’t as smart as we think comes from the research of West, Meserve and Stanovich which showed that we can easily identify biases in other’s decision-making process and we tend to believe that others are more susceptible to biases and preconceived notions than ourselves. We actually have a bias about biases!
  17. Now that we understand why we are so susceptible to biases and preconceived notions, how do we effectively manage the way we think throughout the test process? Although the research shows that we cannot prevent biases and preconceived notions through awareness and understanding, we, as individual testers, can attempt to manage our thought processes as we approach our test projects.
  18. In their working paper, How Can Decision Making Be Improved, Milkman et al. review the work of several researchers which suggests various ways of invoking system 2 thinking more heavily than system 1 thinking. These include evaluating multiple options simultaneously rather than accepting or rejecting each option individually, making choices when under less cognitive load and making decisions in groups rather than individually. But will an increased focus on system 2 thinking improve testers’ effectiveness at finding bugs? I believe not. In software testing, our test methodology already focuses us and requires us to use system 2
  19. Our use of requirements coverage matrices, data matrices, and test case execution coverage metrics are the tools of our trade and are designed to prevent us from missing bugs. These tools and processes are very useful in validating that the code is built to specifications and that all requirements have been coded and tested. But will an increased focus on system 2 thinking improve testers’ effectiveness at finding bugs? I believe not.
  20. However, is validating that the application functions according to specifications mean that the application is bug free? Does 100 percent test coverage with all test cases passed mean that the application works as the business customer intended? We all know that the answer to both of these questions is not necessarily. Now the question becomes, how do we find the bugs that prevent the application from working as the customer intended. We believe this requires us to refocus on system 1 thinking and intuition.
  21. As much as heuristics are biases in themselves, when used with oracles, the principles for using a particular heuristic, they can be quite valuable in invoking System 2 thinking. For example, if a typical user, or various users if the application will be used by different users for different functions, is our oracle, we might test workflows and find bugs that we might not find by executing our test cases. How many times have you reported a bug to which the developer responds: “The user would never do that!”? Users make decisions about using applications based on look and feel as well as ease of use. Since users and potential customers use their System 1 thinking to make these decisions, it follows that to test effectively, we, as testers, must also use System 1 thinking and anticipate the emotions of the user. There is no better way to perform this testing than to consider our emotions and what they might be telling us about the application under test. For example if we are feeling frustrated and anxious, perhaps there is a performance or usability issue.
  22. Instead of asking what test they are instructed to run, exploratory testers ask what’s the best test I can perform, right now?
  23. Exploratory testing is also about learning. The tester learns the application, maybe something about the subject domain, and perhaps a lot about what’s good and bad about the application.
  24. If you kill a cockroach in your kitchen, do you assume you’ve killed the last bug? Or do you call the exterminator?
  25. Daniel Kahneman recommends that you ask three questions to minimize the impact of cognitive biases in your decision making. Here’s how they apply to finding bugs.