SlideShare a Scribd company logo
1 of 28
The
Anatomy
of
a
Bug
Four Parts:
- Triage
- Reproduction
- Finding the Root Cause
- The Fix
But first...
Part 1: Triage
Identification & Priority
Is it
really
a
bug?
It is
a
bug!
It can be
“reproduced”, or at
least clearly seen to
be affecting users.
Let’s ask some questions to help us
assess the priority with which we
should fix this bug.
Who reported it?
me
other
developers
paying
customers
my
boss
CEO
QA
people
product
owner
Which environment?
development
staging
test
production
Who is affected?
that one user
who uses
Konqueror
a small
percentage
of users
only non-
paying
users
all users will
experience the
bug when using
the app
a large
percentage
of users
What happens?
deletes
user data
warning in log;
user experience
not affected
menu
misaligned
in Safari
users
cannot
give you
money
When did it start happening?
immediately after a
new feature was
released.
several days/weeks
after the last release
during a vendor outage
(payment gateway etc)
So, how urgent?
Part 2: Reproduction
Step 1:
Experience the bug in the
environment it appears in.
Step 2:
Set up your local environment so
that you can (manually) reproduce it
there.
Step 3:
Write a test that captures the bug. It
should fail.
Part 3: Finding the Root Cause
Time to break out the debugging tools!
puts / logging
better_errors
Airbrake
rails console
pry
byebug
pry on steroids
- pry-byebug
- pry-remote
Part 4: The Fix
- Two aspects: the spec
addition and the actual
fix.
- Don’t rush the fix, think
about the most correct
way to adjust the code.
Thanks :-)
We are hiring!
rrsoft.co/jobs

More Related Content

Viewers also liked

Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...
Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...
Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...Michael Larsen
 
Evolution of Design & Service Design
Evolution of Design & Service DesignEvolution of Design & Service Design
Evolution of Design & Service DesignChallis Hodge
 
10 Tips To Recover From Business Failure
10 Tips To Recover From Business Failure10 Tips To Recover From Business Failure
10 Tips To Recover From Business FailureGary Taylr
 
Bug triage in_gluster
Bug triage in_glusterBug triage in_gluster
Bug triage in_glusterGluster.org
 
Anatomy of Bed Bug Tips to Control from Bed Bugs
Anatomy of Bed Bug Tips to Control from Bed BugsAnatomy of Bed Bug Tips to Control from Bed Bugs
Anatomy of Bed Bug Tips to Control from Bed BugsCummings Pest Control
 
Quality rails coding
Quality rails codingQuality rails coding
Quality rails codingCalum Halcrow
 
Anatomy Of An Agile .Net Project
Anatomy Of An Agile .Net ProjectAnatomy Of An Agile .Net Project
Anatomy Of An Agile .Net ProjectMicrosoft Norge AS
 
Orígenes y antecedentes de los virus informáticos
Orígenes y antecedentes de los virus informáticosOrígenes y antecedentes de los virus informáticos
Orígenes y antecedentes de los virus informáticospuesqueesmuypro
 
Karatbars Presentation
Karatbars PresentationKaratbars Presentation
Karatbars PresentationDavid Koen
 
Final benifits intercropping in egypt
Final benifits intercropping in egyptFinal benifits intercropping in egypt
Final benifits intercropping in egyptKorany Abdel-Gawad
 

Viewers also liked (13)

Ch14
Ch14Ch14
Ch14
 
Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...
Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...
Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...
 
Ch03
Ch03Ch03
Ch03
 
Evolution of Design & Service Design
Evolution of Design & Service DesignEvolution of Design & Service Design
Evolution of Design & Service Design
 
Portfolio
PortfolioPortfolio
Portfolio
 
10 Tips To Recover From Business Failure
10 Tips To Recover From Business Failure10 Tips To Recover From Business Failure
10 Tips To Recover From Business Failure
 
Bug triage in_gluster
Bug triage in_glusterBug triage in_gluster
Bug triage in_gluster
 
Anatomy of Bed Bug Tips to Control from Bed Bugs
Anatomy of Bed Bug Tips to Control from Bed BugsAnatomy of Bed Bug Tips to Control from Bed Bugs
Anatomy of Bed Bug Tips to Control from Bed Bugs
 
Quality rails coding
Quality rails codingQuality rails coding
Quality rails coding
 
Anatomy Of An Agile .Net Project
Anatomy Of An Agile .Net ProjectAnatomy Of An Agile .Net Project
Anatomy Of An Agile .Net Project
 
Orígenes y antecedentes de los virus informáticos
Orígenes y antecedentes de los virus informáticosOrígenes y antecedentes de los virus informáticos
Orígenes y antecedentes de los virus informáticos
 
Karatbars Presentation
Karatbars PresentationKaratbars Presentation
Karatbars Presentation
 
Final benifits intercropping in egypt
Final benifits intercropping in egyptFinal benifits intercropping in egypt
Final benifits intercropping in egypt
 

Similar to Anatomy of a bug

6 easy bug tracking tips & tricks every developer should know!
6 easy bug tracking tips & tricks every developer should know!6 easy bug tracking tips & tricks every developer should know!
6 easy bug tracking tips & tricks every developer should know!Thomas Peham
 
Info manual testing questions
Info manual testing questionsInfo manual testing questions
Info manual testing questionsSandeep
 
New in orangescrum bug and issue tracking feature released
New in orangescrum   bug and issue tracking feature releasedNew in orangescrum   bug and issue tracking feature released
New in orangescrum bug and issue tracking feature releasedOrangescrum
 
Manual testing interview questions
Manual testing interview questionsManual testing interview questions
Manual testing interview questionsBABAR MANZAR
 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts pptRathna Priya
 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts pptRathna Priya
 
Manual testing interview questions by infotech
Manual testing interview questions by infotech Manual testing interview questions by infotech
Manual testing interview questions by infotech suhasreddy1
 
Manualtestinginterviewquestionbyinfotech 100901071035-phpapp01
Manualtestinginterviewquestionbyinfotech 100901071035-phpapp01Manualtestinginterviewquestionbyinfotech 100901071035-phpapp01
Manualtestinginterviewquestionbyinfotech 100901071035-phpapp01Anshuman Rai
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationBoris Dominic
 
179 black-box-software-testing-copyright-2003-cem-kaner1652
179 black-box-software-testing-copyright-2003-cem-kaner1652179 black-box-software-testing-copyright-2003-cem-kaner1652
179 black-box-software-testing-copyright-2003-cem-kaner1652ngothanhtungth
 
DevOps - Continuous Integration, Continuous Delivery - let's talk
DevOps - Continuous Integration, Continuous Delivery - let's talkDevOps - Continuous Integration, Continuous Delivery - let's talk
DevOps - Continuous Integration, Continuous Delivery - let's talkD Z
 
Developers Border Line: Unit Testing
Developers Border Line: Unit TestingDevelopers Border Line: Unit Testing
Developers Border Line: Unit TestingSikandar Ahmed
 
Manual testing interview question by INFOTECH
Manual testing interview question by INFOTECHManual testing interview question by INFOTECH
Manual testing interview question by INFOTECHPravinsinh
 
Bug best practice
Bug best practiceBug best practice
Bug best practicegaoliang641
 
GNUnify 2017 - Working on my first BUG.
GNUnify 2017 - Working on my first BUG.GNUnify 2017 - Working on my first BUG.
GNUnify 2017 - Working on my first BUG.Aastha Vijay
 
Flight checks -QA for Releases that Prevent Disasters from Escaping into the ...
Flight checks -QA for Releases that Prevent Disasters from Escaping into the ...Flight checks -QA for Releases that Prevent Disasters from Escaping into the ...
Flight checks -QA for Releases that Prevent Disasters from Escaping into the ...Brie Hoblin
 
UAT User Acceptance Technology
UAT User Acceptance TechnologyUAT User Acceptance Technology
UAT User Acceptance TechnologyEeshAftab
 

Similar to Anatomy of a bug (20)

6 easy bug tracking tips & tricks every developer should know!
6 easy bug tracking tips & tricks every developer should know!6 easy bug tracking tips & tricks every developer should know!
6 easy bug tracking tips & tricks every developer should know!
 
Bug tracking tool
Bug tracking toolBug tracking tool
Bug tracking tool
 
bug-advocacy
bug-advocacybug-advocacy
bug-advocacy
 
Info manual testing questions
Info manual testing questionsInfo manual testing questions
Info manual testing questions
 
New in orangescrum bug and issue tracking feature released
New in orangescrum   bug and issue tracking feature releasedNew in orangescrum   bug and issue tracking feature released
New in orangescrum bug and issue tracking feature released
 
Manual testing interview questions
Manual testing interview questionsManual testing interview questions
Manual testing interview questions
 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts ppt
 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts ppt
 
Manual testing interview questions by infotech
Manual testing interview questions by infotech Manual testing interview questions by infotech
Manual testing interview questions by infotech
 
Manualtestinginterviewquestionbyinfotech 100901071035-phpapp01
Manualtestinginterviewquestionbyinfotech 100901071035-phpapp01Manualtestinginterviewquestionbyinfotech 100901071035-phpapp01
Manualtestinginterviewquestionbyinfotech 100901071035-phpapp01
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
179 black-box-software-testing-copyright-2003-cem-kaner1652
179 black-box-software-testing-copyright-2003-cem-kaner1652179 black-box-software-testing-copyright-2003-cem-kaner1652
179 black-box-software-testing-copyright-2003-cem-kaner1652
 
Bugzilla
BugzillaBugzilla
Bugzilla
 
DevOps - Continuous Integration, Continuous Delivery - let's talk
DevOps - Continuous Integration, Continuous Delivery - let's talkDevOps - Continuous Integration, Continuous Delivery - let's talk
DevOps - Continuous Integration, Continuous Delivery - let's talk
 
Developers Border Line: Unit Testing
Developers Border Line: Unit TestingDevelopers Border Line: Unit Testing
Developers Border Line: Unit Testing
 
Manual testing interview question by INFOTECH
Manual testing interview question by INFOTECHManual testing interview question by INFOTECH
Manual testing interview question by INFOTECH
 
Bug best practice
Bug best practiceBug best practice
Bug best practice
 
GNUnify 2017 - Working on my first BUG.
GNUnify 2017 - Working on my first BUG.GNUnify 2017 - Working on my first BUG.
GNUnify 2017 - Working on my first BUG.
 
Flight checks -QA for Releases that Prevent Disasters from Escaping into the ...
Flight checks -QA for Releases that Prevent Disasters from Escaping into the ...Flight checks -QA for Releases that Prevent Disasters from Escaping into the ...
Flight checks -QA for Releases that Prevent Disasters from Escaping into the ...
 
UAT User Acceptance Technology
UAT User Acceptance TechnologyUAT User Acceptance Technology
UAT User Acceptance Technology
 

Recently uploaded

Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
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
 
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.
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
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
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
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
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
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
 
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.
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxnada99848
 
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
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
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
 

Recently uploaded (20)

Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
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
 
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...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
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
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
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...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
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
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
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
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptx
 
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
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
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
 

Anatomy of a bug

Editor's Notes

  1. Show Dasheroo