SlideShare a Scribd company logo
.
...... Defect Localization
Leo Arias
Canonical
September 24, 2013
Leo Arias (Canonical) Defect Localization September 24, 2013 1 / 26
Contents
...1 Goals
...2 Isolation
...3 Defect Localization problems
...4 Proposal
...5 Open discussion
Leo Arias (Canonical) Defect Localization September 24, 2013 2 / 26
Goals
Contents
...1 Goals
...2 Isolation
...3 Defect Localization problems
...4 Proposal
...5 Open discussion
Leo Arias (Canonical) Defect Localization September 24, 2013 3 / 26
Goals
Goals of Test Automation
Improve quality.
Understand the system under test.
Reduce and not introduce risk.
Leo Arias (Canonical) Defect Localization September 24, 2013 4 / 26
Goals
Improve Quality
Tests enable us to specify the behavior in various scenarios
captured in a form that we can then execute.
Prevent bugs from being introduced.
Defect localization.
Leo Arias (Canonical) Defect Localization September 24, 2013 5 / 26
Goals
Defect Localization
Customer tests tell us that some behavior isn’t working as expected,
the Unit tests tell us why.
We should be able to pinpoint the bug quickly based on which test fails.
If a customer test fails but no unit tests fail, it indicates a missing unit
test.
Leo Arias (Canonical) Defect Localization September 24, 2013 6 / 26
Goals
Defect Localization
Customer tests tell us that some behavior isn’t working as expected,
the Unit tests tell us why.
We should be able to pinpoint the bug quickly based on which test fails.
If a customer test fails but no unit tests fail, it indicates a missing unit
test.
Leo Arias (Canonical) Defect Localization September 24, 2013 6 / 26
Isolation
Contents
...1 Goals
...2 Isolation
...3 Defect Localization problems
...4 Proposal
...5 Open discussion
Leo Arias (Canonical) Defect Localization September 24, 2013 7 / 26
Isolation
Isolation
We should strive to isolate the system under test as much as possible
the parts we choose not to test.
Failure to isolate lead to context sensitivity because we end up testing
too much software all at once.
Leo Arias (Canonical) Defect Localization September 24, 2013 8 / 26
Isolation
Isolation
We should strive to isolate the system under test as much as possible
the parts we choose not to test.
Failure to isolate lead to context sensitivity because we end up testing
too much software all at once.
Leo Arias (Canonical) Defect Localization September 24, 2013 8 / 26
Isolation
Isolation, cont.
Leo Arias (Canonical) Defect Localization September 24, 2013 9 / 26
Isolation
Isolation, cont.
Leo Arias (Canonical) Defect Localization September 24, 2013 10 / 26
Isolation
Isolation, cont.
Leo Arias (Canonical) Defect Localization September 24, 2013 11 / 26
Defect Localization problems
Contents
...1 Goals
...2 Isolation
...3 Defect Localization problems
...4 Proposal
...5 Open discussion
Leo Arias (Canonical) Defect Localization September 24, 2013 12 / 26
Defect Localization problems
Dependencies
Leo Arias (Canonical) Defect Localization September 24, 2013 13 / 26
Defect Localization problems
More Dependencies
Leo Arias (Canonical) Defect Localization September 24, 2013 14 / 26
Defect Localization problems
Canonical Dependencies
Leo Arias (Canonical) Defect Localization September 24, 2013 15 / 26
Defect Localization problems
Canonical Dependencies
Leo Arias (Canonical) Defect Localization September 24, 2013 16 / 26
Defect Localization problems
Canonical Dependencies
Leo Arias (Canonical) Defect Localization September 24, 2013 17 / 26
Defect Localization problems
Canonical Dependencies
Leo Arias (Canonical) Defect Localization September 24, 2013 18 / 26
Defect Localization problems
Canonical Dependencies
Leo Arias (Canonical) Defect Localization September 24, 2013 19 / 26
Defect Localization problems
Defect Localization
We should be able to pinpoint the bug quickly based on which test fails.
If a customer test fails on a project B because of a change in project A,
it indicates a missing customer test on project A.
(and a missing dependency test on project B).
Leo Arias (Canonical) Defect Localization September 24, 2013 20 / 26
Defect Localization problems
Defect Localization
We should be able to pinpoint the bug quickly based on which test fails.
If a customer test fails on a project B because of a change in project A,
it indicates a missing customer test on project A.
(and a missing dependency test on project B).
Leo Arias (Canonical) Defect Localization September 24, 2013 20 / 26
Defect Localization problems
Defect Localization
We should be able to pinpoint the bug quickly based on which test fails.
If a customer test fails on a project B because of a change in project A,
it indicates a missing customer test on project A.
(and a missing dependency test on project B).
Leo Arias (Canonical) Defect Localization September 24, 2013 20 / 26
Proposal
Contents
...1 Goals
...2 Isolation
...3 Defect Localization problems
...4 Proposal
...5 Open discussion
Leo Arias (Canonical) Defect Localization September 24, 2013 21 / 26
Proposal
The problems
Projects publish an API or behavior without testing it from the point of
view of the consumers.
Projects start relying on an API or behavior even when it’s not properly
tested.
Projects change behaviors without notifying the other projects they
will affect.
Leo Arias (Canonical) Defect Localization September 24, 2013 22 / 26
Proposal
The problems
Projects publish an API or behavior without testing it from the point of
view of the consumers.
Projects start relying on an API or behavior even when it’s not properly
tested.
Projects change behaviors without notifying the other projects they
will affect.
Leo Arias (Canonical) Defect Localization September 24, 2013 22 / 26
Proposal
The problems
Projects publish an API or behavior without testing it from the point of
view of the consumers.
Projects start relying on an API or behavior even when it’s not properly
tested.
Projects change behaviors without notifying the other projects they
will affect.
Leo Arias (Canonical) Defect Localization September 24, 2013 22 / 26
Proposal
Proposal
We should focus on defect localization and isolation while adding test
coverage.
Leo Arias (Canonical) Defect Localization September 24, 2013 23 / 26
Proposal
Short-term actions
When an automated test fails because of an error or a behavior change
on another project:
File a bug describing the problem and the projects affected.
<QA> Subscribe to the bug and follow the process to its
resolution.
Make sure all the people affected are notified.
<developers> Add automated customer tests with every fix to
prevent regressions.
<QA> Make sure no fix comes without a customer test. Check that
they are added on the right project.
Leo Arias (Canonical) Defect Localization September 24, 2013 24 / 26
Proposal
After the release...
<QA> Analyze the current API and GUI coverage.
<developers> Add isolated tests to fill the holes.
<developers> Make sure we only rely on APIs and behaviors with
automated customer tests.
<QA, developers> Write a test suite specific to test the
integration of all the projects on the different Ubuntu images and
devices.
<design, QA, developers> Start adding user tests since the
expected user experience is defined.
Establish an effective way for us to communicate between teams.
Leo Arias (Canonical) Defect Localization September 24, 2013 25 / 26
Open discussion
Open discussion
Thank you!
Creative Commons - atribución 3.0
Leo Arias (Canonical) Defect Localization September 24, 2013 26 / 26

More Related Content

DOC
Tfl Utilities Just Press A Button
PDF
SmartRM
PPT
Louisiana Revisited
PPT
Three Step Table Validation Pharmasug 2007
PPSX
Glentel Rogers & Htc Incentive Trip. T+C 2009.Final
PPT
Any Tl A Versatile Tablelisting Macro Forest Pharmasug 2009
PDF
SmartRM -- key technologies
DOC
Ad09 Anytl
Tfl Utilities Just Press A Button
SmartRM
Louisiana Revisited
Three Step Table Validation Pharmasug 2007
Glentel Rogers & Htc Incentive Trip. T+C 2009.Final
Any Tl A Versatile Tablelisting Macro Forest Pharmasug 2009
SmartRM -- key technologies
Ad09 Anytl

Similar to Defect localization (20)

PDF
Neotys PAC - Adding Performance Verifications in Continuous Delivery
PPTX
Rethinking Accessibility: Role-based Accessibility of WCAG 2.1
PDF
PAC 2019 virtual Federico Toledo
PDF
October 2014 | A211y - An Exploration into Accessibility, Agile & WCAG 2.0
PPTX
Defect free development - QS Tag2019
PPTX
Agile Testing - presentation for Agile User Group
PPTX
Agile testing
PDF
Caring about Code Quality
PDF
A Call to Arms for Private Cloud Builders
PDF
How Agile changed Software Development
PPTX
The Business Value of Agile Engineering Practices
PPTX
Software engineering
PDF
The Tester's Role in Agile Planning
PDF
SeleniumCamp 2020 - Shift Right and Observability
PDF
AgileTour Toulouse 2012 : testing strategy
PDF
The Testing Strategy
PPTX
DevOps is for Everyone - DevOps East
PDF
Joseph Yoder : Being Agile about Architecture
PDF
Introduction to the CII Badge Programe, OW2con'16, Paris.
 
PDF
apidays London 2023 - Why and how to apply DDD to APIs, Radhouane Jrad, QBE E...
Neotys PAC - Adding Performance Verifications in Continuous Delivery
Rethinking Accessibility: Role-based Accessibility of WCAG 2.1
PAC 2019 virtual Federico Toledo
October 2014 | A211y - An Exploration into Accessibility, Agile & WCAG 2.0
Defect free development - QS Tag2019
Agile Testing - presentation for Agile User Group
Agile testing
Caring about Code Quality
A Call to Arms for Private Cloud Builders
How Agile changed Software Development
The Business Value of Agile Engineering Practices
Software engineering
The Tester's Role in Agile Planning
SeleniumCamp 2020 - Shift Right and Observability
AgileTour Toulouse 2012 : testing strategy
The Testing Strategy
DevOps is for Everyone - DevOps East
Joseph Yoder : Being Agile about Architecture
Introduction to the CII Badge Programe, OW2con'16, Paris.
 
apidays London 2023 - Why and how to apply DDD to APIs, Radhouane Jrad, QBE E...
Ad

Recently uploaded (20)

DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Cloud computing and distributed systems.
PDF
Encapsulation theory and applications.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Electronic commerce courselecture one. Pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
Big Data Technologies - Introduction.pptx
PDF
A comparative analysis of optical character recognition models for extracting...
PPTX
A Presentation on Artificial Intelligence
PPT
Teaching material agriculture food technology
PPTX
Spectroscopy.pptx food analysis technology
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
cuic standard and advanced reporting.pdf
The AUB Centre for AI in Media Proposal.docx
Cloud computing and distributed systems.
Encapsulation theory and applications.pdf
Encapsulation_ Review paper, used for researhc scholars
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Spectral efficient network and resource selection model in 5G networks
Diabetes mellitus diagnosis method based random forest with bat algorithm
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Electronic commerce courselecture one. Pdf
Programs and apps: productivity, graphics, security and other tools
Big Data Technologies - Introduction.pptx
A comparative analysis of optical character recognition models for extracting...
A Presentation on Artificial Intelligence
Teaching material agriculture food technology
Spectroscopy.pptx food analysis technology
Advanced methodologies resolving dimensionality complications for autism neur...
Assigned Numbers - 2025 - Bluetooth® Document
cuic standard and advanced reporting.pdf
Ad

Defect localization

  • 1. . ...... Defect Localization Leo Arias Canonical September 24, 2013 Leo Arias (Canonical) Defect Localization September 24, 2013 1 / 26
  • 2. Contents ...1 Goals ...2 Isolation ...3 Defect Localization problems ...4 Proposal ...5 Open discussion Leo Arias (Canonical) Defect Localization September 24, 2013 2 / 26
  • 3. Goals Contents ...1 Goals ...2 Isolation ...3 Defect Localization problems ...4 Proposal ...5 Open discussion Leo Arias (Canonical) Defect Localization September 24, 2013 3 / 26
  • 4. Goals Goals of Test Automation Improve quality. Understand the system under test. Reduce and not introduce risk. Leo Arias (Canonical) Defect Localization September 24, 2013 4 / 26
  • 5. Goals Improve Quality Tests enable us to specify the behavior in various scenarios captured in a form that we can then execute. Prevent bugs from being introduced. Defect localization. Leo Arias (Canonical) Defect Localization September 24, 2013 5 / 26
  • 6. Goals Defect Localization Customer tests tell us that some behavior isn’t working as expected, the Unit tests tell us why. We should be able to pinpoint the bug quickly based on which test fails. If a customer test fails but no unit tests fail, it indicates a missing unit test. Leo Arias (Canonical) Defect Localization September 24, 2013 6 / 26
  • 7. Goals Defect Localization Customer tests tell us that some behavior isn’t working as expected, the Unit tests tell us why. We should be able to pinpoint the bug quickly based on which test fails. If a customer test fails but no unit tests fail, it indicates a missing unit test. Leo Arias (Canonical) Defect Localization September 24, 2013 6 / 26
  • 8. Isolation Contents ...1 Goals ...2 Isolation ...3 Defect Localization problems ...4 Proposal ...5 Open discussion Leo Arias (Canonical) Defect Localization September 24, 2013 7 / 26
  • 9. Isolation Isolation We should strive to isolate the system under test as much as possible the parts we choose not to test. Failure to isolate lead to context sensitivity because we end up testing too much software all at once. Leo Arias (Canonical) Defect Localization September 24, 2013 8 / 26
  • 10. Isolation Isolation We should strive to isolate the system under test as much as possible the parts we choose not to test. Failure to isolate lead to context sensitivity because we end up testing too much software all at once. Leo Arias (Canonical) Defect Localization September 24, 2013 8 / 26
  • 11. Isolation Isolation, cont. Leo Arias (Canonical) Defect Localization September 24, 2013 9 / 26
  • 12. Isolation Isolation, cont. Leo Arias (Canonical) Defect Localization September 24, 2013 10 / 26
  • 13. Isolation Isolation, cont. Leo Arias (Canonical) Defect Localization September 24, 2013 11 / 26
  • 14. Defect Localization problems Contents ...1 Goals ...2 Isolation ...3 Defect Localization problems ...4 Proposal ...5 Open discussion Leo Arias (Canonical) Defect Localization September 24, 2013 12 / 26
  • 15. Defect Localization problems Dependencies Leo Arias (Canonical) Defect Localization September 24, 2013 13 / 26
  • 16. Defect Localization problems More Dependencies Leo Arias (Canonical) Defect Localization September 24, 2013 14 / 26
  • 17. Defect Localization problems Canonical Dependencies Leo Arias (Canonical) Defect Localization September 24, 2013 15 / 26
  • 18. Defect Localization problems Canonical Dependencies Leo Arias (Canonical) Defect Localization September 24, 2013 16 / 26
  • 19. Defect Localization problems Canonical Dependencies Leo Arias (Canonical) Defect Localization September 24, 2013 17 / 26
  • 20. Defect Localization problems Canonical Dependencies Leo Arias (Canonical) Defect Localization September 24, 2013 18 / 26
  • 21. Defect Localization problems Canonical Dependencies Leo Arias (Canonical) Defect Localization September 24, 2013 19 / 26
  • 22. Defect Localization problems Defect Localization We should be able to pinpoint the bug quickly based on which test fails. If a customer test fails on a project B because of a change in project A, it indicates a missing customer test on project A. (and a missing dependency test on project B). Leo Arias (Canonical) Defect Localization September 24, 2013 20 / 26
  • 23. Defect Localization problems Defect Localization We should be able to pinpoint the bug quickly based on which test fails. If a customer test fails on a project B because of a change in project A, it indicates a missing customer test on project A. (and a missing dependency test on project B). Leo Arias (Canonical) Defect Localization September 24, 2013 20 / 26
  • 24. Defect Localization problems Defect Localization We should be able to pinpoint the bug quickly based on which test fails. If a customer test fails on a project B because of a change in project A, it indicates a missing customer test on project A. (and a missing dependency test on project B). Leo Arias (Canonical) Defect Localization September 24, 2013 20 / 26
  • 25. Proposal Contents ...1 Goals ...2 Isolation ...3 Defect Localization problems ...4 Proposal ...5 Open discussion Leo Arias (Canonical) Defect Localization September 24, 2013 21 / 26
  • 26. Proposal The problems Projects publish an API or behavior without testing it from the point of view of the consumers. Projects start relying on an API or behavior even when it’s not properly tested. Projects change behaviors without notifying the other projects they will affect. Leo Arias (Canonical) Defect Localization September 24, 2013 22 / 26
  • 27. Proposal The problems Projects publish an API or behavior without testing it from the point of view of the consumers. Projects start relying on an API or behavior even when it’s not properly tested. Projects change behaviors without notifying the other projects they will affect. Leo Arias (Canonical) Defect Localization September 24, 2013 22 / 26
  • 28. Proposal The problems Projects publish an API or behavior without testing it from the point of view of the consumers. Projects start relying on an API or behavior even when it’s not properly tested. Projects change behaviors without notifying the other projects they will affect. Leo Arias (Canonical) Defect Localization September 24, 2013 22 / 26
  • 29. Proposal Proposal We should focus on defect localization and isolation while adding test coverage. Leo Arias (Canonical) Defect Localization September 24, 2013 23 / 26
  • 30. Proposal Short-term actions When an automated test fails because of an error or a behavior change on another project: File a bug describing the problem and the projects affected. <QA> Subscribe to the bug and follow the process to its resolution. Make sure all the people affected are notified. <developers> Add automated customer tests with every fix to prevent regressions. <QA> Make sure no fix comes without a customer test. Check that they are added on the right project. Leo Arias (Canonical) Defect Localization September 24, 2013 24 / 26
  • 31. Proposal After the release... <QA> Analyze the current API and GUI coverage. <developers> Add isolated tests to fill the holes. <developers> Make sure we only rely on APIs and behaviors with automated customer tests. <QA, developers> Write a test suite specific to test the integration of all the projects on the different Ubuntu images and devices. <design, QA, developers> Start adding user tests since the expected user experience is defined. Establish an effective way for us to communicate between teams. Leo Arias (Canonical) Defect Localization September 24, 2013 25 / 26
  • 32. Open discussion Open discussion Thank you! Creative Commons - atribución 3.0 Leo Arias (Canonical) Defect Localization September 24, 2013 26 / 26