SlideShare une entreprise Scribd logo
1  sur  73
Télécharger pour lire hors ligne
The Do’s & Don’ts of a bug
tracking workflow.
@tompeham | @usersnap
That’s me. Thomas Peham.
● Tech Marketer at Usersnap, a visual bug tracking tool.
● managing bugtrackers.io
● previously:
○ Project Manager at a TYPO3 agency
○ Project Manager at Styria Digital One
● blogger for various web development & design blogs.
● @tompeham I @usersnap I @bugtrackers
Outline.
● The problem of bugs.
● 4 steps for tracking down bugs. (and fixing them.)
● From bugs to no bugs.
● Best bug tracking takeaways
Why I’d like to talk about bug tracking today.
Or: What is Usersnap about?
@tompeham | @usersnap
bug tracking, the black sheep?
Compared to other web development
areas, bug tracking is pretty “old school”.
How people react when it comes to tracking
bugs...
Or this way...
The problem of software bugs.
The problem of software bugs.
The problem of software bugs.
Bugs are expensive.
The problem of software bugs.
Bugs are expensive.
(approx. $ 312 billion per year globally)
source: Cambridge University
The problem of software bugs.
Developers don’t test
their code?!
source: ashleynolan.co.uk
The problem of software bugs.
What tool do you use to test your
JavaScript? (if any)
source: ashleynolan.co.uk
Web development has changed. Why bug
tracking hasn’t?
So, how do we solve that problem of bugs?
I SEE BUGS
EVERYWHERE
Step 1: Ensure a bug-free development
environment.
Step 1: Ensure a bug-free development
environment.
Yeah, but there will
always be some bugs.
Agree on: what is a bug.
And what isn’t.
Find the real bugs.
Okay then. Step 1) Define + find bugs.
“A software bug is an error, flaw,
failure, or fault in a computer
program or system that causes it to
produce an incorrect or unexpected
result or to behave in unintended
ways.”
What is a bug?
software bug
...error, flaw, failure, or fault….
...produce incorrect or unexpected
result…
What is a bug?
software bug
something which is not working as
designed.
What is a bug?
What is a bug?
This is a bug...
something not working as designed.
or.
not designed as it should work?
What is not a bug?
in theory: it’s easy.
in practice: it’s not.
What is not a bug?
So, who’s in charge?
The project manager?
QA Team Lead?
Development Team Lead?
What is not a bug?
Agile sounds great, right?
What is not a bug? Who’s in
charge!?
So, who’s in charge?
The project manager?
QA Team Lead?
Development Team Lead?
What is not a bug?
Decide + communicate
at the beginning of a
project!
1) automated testing
2) manual testing
3) crowd testing
4) the “banana principle”:
or testing with the
customer
How to find bugs?
How to find bugs? Automated testing.
Specify test cases run tests
test
report
+ no infrastructure (devices,
browsers, vms) needed.
+ many platforms &
browsers are supported.
+ fast & reliable test cases.
How to find bugs? Automated testing. Benefits.
- Investment in tools
required.
- No “real device” feeling
- tools have limitations
- “agile testing” hardly
possible
How to find bugs? Automated testing. Drawbacks.
How to find bugs? Manual testing.
write test cases &
user stories
manual testing
test
report
+ short-term cost is lower
+ manual testing = agile
testing
+ more user-centric than
automated testing.
How to find bugs? Manual testing. Benefits.
- investment in human
resources is required.
- test execution takes longer
than automated testing.
- threat of “human errors”
How to find bugs? Manual testing. Drawbacks.
Let the crowd test your
website.
Combines the benefits of
manual + automated testing.
How to find bugs? crowdsourced testing.
write test cases &
user stories
let the crowd
test
test
report
+ user-centric feedback
+ fast & reliable
+ “outside” view to system
How to find bugs? crowdsourced testing. Benefits.
- find the right crowd
(=target group)
- still in its early beginnings
How to find bugs? crowdsourced testing. Drawbacks.
Automated vs Manual?
Robots vs human power.
TDD vs agile.
Pre-scripting vs user-
centric.
Step 2) document bugs.
Step 2) document bugs.
How a bug report form
should look like.
Not.
Step 2) document bugs.
How a bug report form
should look like.
Not.
But: Information needed when reporting a bug. Or:
The Art of Bug Reporting.
But: Information needed when reporting a bug. Or:
The Art of Bug Reporting.
- The What? A description of what happened.
- The Where? Place where the bug happened.
- The When? Time frame when something
happened.
- The Who? Person who discovered the issue.
- The Why? Why do you think it happened?
How to write the perfect bug report
- summary + prioritization
- details on how to find the
bug again.
- meta information.
- ….
Your website = place where
the error occured.
How to fix the bug documenting process.
crime scene:
written document of
problem description
bug report:
place where the problem
should get reproduced %
fixed.
developer’s code:
Your website = Where the
error occurs.
How to fix the bug documenting process.
crime scene:
written document of
problem description
bug report:
place where the problem
should get reproduced %
fixed.
developer’s code:This is a loooong way
for fixing bugs.
= browser
Why not stay in the same medium?
crime scene:
= browser
bug report:
= browser?
developer’s code:
This is a visual experience This is a visual experience
Step 3) Reproduce it.
“If you can’t reproduce a bug, it’s
almost impossible to fix.”
Step 3) Reproduce it. But how?
bug reporting tool
the client: the project team
project mgmt tool
development
environment
But it works on
my
environment!
There’s a bug!
Step 3) Reproduce it. But how?
integrated PM + bug
reporting tool
the client: the project team
development
environment
screenshots screenshots
+meta info
Step 4) Fix bugs.
Step 4) Fix bugs.
If you’ve followed step 1 - 3,
step 4 is easy.
Is it? ;-)
Step 4) Fix bugs.
What does a closed bug mean?
Step 4) Fix bugs.
Step 4) Fix bugs.
Who is responsible for
this decision?
So, to the recap...
From bugs to no bugs.
Bugs Find them.
Document
them.
Reproduce
them.
Fix them.
No
bugs.
Key takeaways
The Waterfall...
The Waterfall...
...is no longer valid.
agile testing
agile testing
#FTW
agile testing
#FTW
Decide on
responsibilities!
ad-hoc bug reporting
visual bug reporting
bug tracking responsibilities
Open vs. closed bugs.
But what if...
Communication matters.
Everybody is a QA agent
Now it’s up to you.
@tompeham
@usersnap
@bug trackers
thomas@usersnap.com
Thomas Peham

Contenu connexe

Plus de Usersnap

Wie effizientes Bug Tracking Ihre Conversion-Rates verbessert
Wie effizientes Bug Tracking Ihre Conversion-Rates verbessertWie effizientes Bug Tracking Ihre Conversion-Rates verbessert
Wie effizientes Bug Tracking Ihre Conversion-Rates verbessertUsersnap
 
5 Types of USER ACCEPTANCE TESTING (UAT)
5 Types of USER ACCEPTANCE TESTING (UAT)5 Types of USER ACCEPTANCE TESTING (UAT)
5 Types of USER ACCEPTANCE TESTING (UAT)Usersnap
 
Fundamentals On Building A Reliable Cloud Infrastructure For Your SaaS Business
Fundamentals On Building A Reliable Cloud Infrastructure For Your SaaS BusinessFundamentals On Building A Reliable Cloud Infrastructure For Your SaaS Business
Fundamentals On Building A Reliable Cloud Infrastructure For Your SaaS BusinessUsersnap
 
Mobile First: How To Approach Mobile Testing!
Mobile First: How To Approach Mobile Testing!Mobile First: How To Approach Mobile Testing!
Mobile First: How To Approach Mobile Testing!Usersnap
 
5 Essential Tips For Improving Your Website Mockups & Prototypes!
5 Essential Tips For Improving Your Website Mockups & Prototypes!5 Essential Tips For Improving Your Website Mockups & Prototypes!
5 Essential Tips For Improving Your Website Mockups & Prototypes!Usersnap
 
A Best Of 100+ Marketing Experiments at Usersnap - Startup Marketing Get-Toge...
A Best Of 100+ Marketing Experiments at Usersnap - Startup Marketing Get-Toge...A Best Of 100+ Marketing Experiments at Usersnap - Startup Marketing Get-Toge...
A Best Of 100+ Marketing Experiments at Usersnap - Startup Marketing Get-Toge...Usersnap
 
20+ fantastic web development newsletters for developers & designers
20+ fantastic web development newsletters for developers & designers20+ fantastic web development newsletters for developers & designers
20+ fantastic web development newsletters for developers & designersUsersnap
 
23 Amazing Lessons Learned From Interviewing The World's Top Developers!
23 Amazing Lessons Learned From Interviewing The World's Top Developers!23 Amazing Lessons Learned From Interviewing The World's Top Developers!
23 Amazing Lessons Learned From Interviewing The World's Top Developers!Usersnap
 
An Overview of User Acceptance Testing (UAT)
An Overview of User Acceptance Testing (UAT)An Overview of User Acceptance Testing (UAT)
An Overview of User Acceptance Testing (UAT)Usersnap
 
Bug Reporting Time Machine for AngularJS
Bug Reporting Time Machine for AngularJSBug Reporting Time Machine for AngularJS
Bug Reporting Time Machine for AngularJSUsersnap
 
141104 usersnap angular js_jt
141104 usersnap angular js_jt141104 usersnap angular js_jt
141104 usersnap angular js_jtUsersnap
 
Usersnap and the javascript magic behind the scenes - ViennaJS
Usersnap and the javascript magic behind the scenes - ViennaJSUsersnap and the javascript magic behind the scenes - ViennaJS
Usersnap and the javascript magic behind the scenes - ViennaJSUsersnap
 
What is Usersnap
What is UsersnapWhat is Usersnap
What is UsersnapUsersnap
 

Plus de Usersnap (13)

Wie effizientes Bug Tracking Ihre Conversion-Rates verbessert
Wie effizientes Bug Tracking Ihre Conversion-Rates verbessertWie effizientes Bug Tracking Ihre Conversion-Rates verbessert
Wie effizientes Bug Tracking Ihre Conversion-Rates verbessert
 
5 Types of USER ACCEPTANCE TESTING (UAT)
5 Types of USER ACCEPTANCE TESTING (UAT)5 Types of USER ACCEPTANCE TESTING (UAT)
5 Types of USER ACCEPTANCE TESTING (UAT)
 
Fundamentals On Building A Reliable Cloud Infrastructure For Your SaaS Business
Fundamentals On Building A Reliable Cloud Infrastructure For Your SaaS BusinessFundamentals On Building A Reliable Cloud Infrastructure For Your SaaS Business
Fundamentals On Building A Reliable Cloud Infrastructure For Your SaaS Business
 
Mobile First: How To Approach Mobile Testing!
Mobile First: How To Approach Mobile Testing!Mobile First: How To Approach Mobile Testing!
Mobile First: How To Approach Mobile Testing!
 
5 Essential Tips For Improving Your Website Mockups & Prototypes!
5 Essential Tips For Improving Your Website Mockups & Prototypes!5 Essential Tips For Improving Your Website Mockups & Prototypes!
5 Essential Tips For Improving Your Website Mockups & Prototypes!
 
A Best Of 100+ Marketing Experiments at Usersnap - Startup Marketing Get-Toge...
A Best Of 100+ Marketing Experiments at Usersnap - Startup Marketing Get-Toge...A Best Of 100+ Marketing Experiments at Usersnap - Startup Marketing Get-Toge...
A Best Of 100+ Marketing Experiments at Usersnap - Startup Marketing Get-Toge...
 
20+ fantastic web development newsletters for developers & designers
20+ fantastic web development newsletters for developers & designers20+ fantastic web development newsletters for developers & designers
20+ fantastic web development newsletters for developers & designers
 
23 Amazing Lessons Learned From Interviewing The World's Top Developers!
23 Amazing Lessons Learned From Interviewing The World's Top Developers!23 Amazing Lessons Learned From Interviewing The World's Top Developers!
23 Amazing Lessons Learned From Interviewing The World's Top Developers!
 
An Overview of User Acceptance Testing (UAT)
An Overview of User Acceptance Testing (UAT)An Overview of User Acceptance Testing (UAT)
An Overview of User Acceptance Testing (UAT)
 
Bug Reporting Time Machine for AngularJS
Bug Reporting Time Machine for AngularJSBug Reporting Time Machine for AngularJS
Bug Reporting Time Machine for AngularJS
 
141104 usersnap angular js_jt
141104 usersnap angular js_jt141104 usersnap angular js_jt
141104 usersnap angular js_jt
 
Usersnap and the javascript magic behind the scenes - ViennaJS
Usersnap and the javascript magic behind the scenes - ViennaJSUsersnap and the javascript magic behind the scenes - ViennaJS
Usersnap and the javascript magic behind the scenes - ViennaJS
 
What is Usersnap
What is UsersnapWhat is Usersnap
What is Usersnap
 

Dernier

SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
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
 
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
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROmotivationalword821
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
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
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 

Dernier (20)

SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
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
 
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
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTRO
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 

T3CON15: The Best Do's And Don'ts of a Bug Tracking Workflow

  • 1. The Do’s & Don’ts of a bug tracking workflow. @tompeham | @usersnap
  • 2. That’s me. Thomas Peham. ● Tech Marketer at Usersnap, a visual bug tracking tool. ● managing bugtrackers.io ● previously: ○ Project Manager at a TYPO3 agency ○ Project Manager at Styria Digital One ● blogger for various web development & design blogs. ● @tompeham I @usersnap I @bugtrackers
  • 3. Outline. ● The problem of bugs. ● 4 steps for tracking down bugs. (and fixing them.) ● From bugs to no bugs. ● Best bug tracking takeaways
  • 4. Why I’d like to talk about bug tracking today. Or: What is Usersnap about? @tompeham | @usersnap
  • 5. bug tracking, the black sheep?
  • 6. Compared to other web development areas, bug tracking is pretty “old school”.
  • 7. How people react when it comes to tracking bugs...
  • 9. The problem of software bugs.
  • 10. The problem of software bugs.
  • 11. The problem of software bugs. Bugs are expensive.
  • 12. The problem of software bugs. Bugs are expensive. (approx. $ 312 billion per year globally) source: Cambridge University
  • 13. The problem of software bugs. Developers don’t test their code?! source: ashleynolan.co.uk
  • 14. The problem of software bugs. What tool do you use to test your JavaScript? (if any) source: ashleynolan.co.uk
  • 15. Web development has changed. Why bug tracking hasn’t?
  • 16. So, how do we solve that problem of bugs? I SEE BUGS EVERYWHERE
  • 17. Step 1: Ensure a bug-free development environment.
  • 18. Step 1: Ensure a bug-free development environment. Yeah, but there will always be some bugs.
  • 19. Agree on: what is a bug. And what isn’t. Find the real bugs. Okay then. Step 1) Define + find bugs.
  • 20. “A software bug is an error, flaw, failure, or fault in a computer program or system that causes it to produce an incorrect or unexpected result or to behave in unintended ways.” What is a bug?
  • 21. software bug ...error, flaw, failure, or fault…. ...produce incorrect or unexpected result… What is a bug?
  • 22. software bug something which is not working as designed. What is a bug?
  • 23. What is a bug? This is a bug...
  • 24. something not working as designed. or. not designed as it should work? What is not a bug?
  • 25. in theory: it’s easy. in practice: it’s not. What is not a bug?
  • 26. So, who’s in charge? The project manager? QA Team Lead? Development Team Lead? What is not a bug?
  • 27. Agile sounds great, right? What is not a bug? Who’s in charge!?
  • 28. So, who’s in charge? The project manager? QA Team Lead? Development Team Lead? What is not a bug? Decide + communicate at the beginning of a project!
  • 29. 1) automated testing 2) manual testing 3) crowd testing 4) the “banana principle”: or testing with the customer How to find bugs?
  • 30. How to find bugs? Automated testing. Specify test cases run tests test report
  • 31. + no infrastructure (devices, browsers, vms) needed. + many platforms & browsers are supported. + fast & reliable test cases. How to find bugs? Automated testing. Benefits.
  • 32. - Investment in tools required. - No “real device” feeling - tools have limitations - “agile testing” hardly possible How to find bugs? Automated testing. Drawbacks.
  • 33. How to find bugs? Manual testing. write test cases & user stories manual testing test report
  • 34. + short-term cost is lower + manual testing = agile testing + more user-centric than automated testing. How to find bugs? Manual testing. Benefits.
  • 35. - investment in human resources is required. - test execution takes longer than automated testing. - threat of “human errors” How to find bugs? Manual testing. Drawbacks.
  • 36. Let the crowd test your website. Combines the benefits of manual + automated testing. How to find bugs? crowdsourced testing. write test cases & user stories let the crowd test test report
  • 37. + user-centric feedback + fast & reliable + “outside” view to system How to find bugs? crowdsourced testing. Benefits.
  • 38. - find the right crowd (=target group) - still in its early beginnings How to find bugs? crowdsourced testing. Drawbacks.
  • 39. Automated vs Manual? Robots vs human power. TDD vs agile. Pre-scripting vs user- centric.
  • 41. Step 2) document bugs. How a bug report form should look like. Not.
  • 42. Step 2) document bugs. How a bug report form should look like. Not.
  • 43. But: Information needed when reporting a bug. Or: The Art of Bug Reporting.
  • 44. But: Information needed when reporting a bug. Or: The Art of Bug Reporting. - The What? A description of what happened. - The Where? Place where the bug happened. - The When? Time frame when something happened. - The Who? Person who discovered the issue. - The Why? Why do you think it happened?
  • 45. How to write the perfect bug report - summary + prioritization - details on how to find the bug again. - meta information. - ….
  • 46. Your website = place where the error occured. How to fix the bug documenting process. crime scene: written document of problem description bug report: place where the problem should get reproduced % fixed. developer’s code:
  • 47. Your website = Where the error occurs. How to fix the bug documenting process. crime scene: written document of problem description bug report: place where the problem should get reproduced % fixed. developer’s code:This is a loooong way for fixing bugs.
  • 48. = browser Why not stay in the same medium? crime scene: = browser bug report: = browser? developer’s code: This is a visual experience This is a visual experience
  • 49. Step 3) Reproduce it. “If you can’t reproduce a bug, it’s almost impossible to fix.”
  • 50. Step 3) Reproduce it. But how? bug reporting tool the client: the project team project mgmt tool development environment But it works on my environment! There’s a bug!
  • 51. Step 3) Reproduce it. But how? integrated PM + bug reporting tool the client: the project team development environment screenshots screenshots +meta info
  • 52. Step 4) Fix bugs.
  • 53. Step 4) Fix bugs. If you’ve followed step 1 - 3, step 4 is easy. Is it? ;-)
  • 54. Step 4) Fix bugs. What does a closed bug mean?
  • 55. Step 4) Fix bugs.
  • 56. Step 4) Fix bugs. Who is responsible for this decision?
  • 57. So, to the recap...
  • 58. From bugs to no bugs. Bugs Find them. Document them. Reproduce them. Fix them. No bugs.
  • 61. The Waterfall... ...is no longer valid.
  • 71. Everybody is a QA agent
  • 72. Now it’s up to you.