Defect Removal - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Defect Removal

Description:

... introduced in Req, Des, Impl resp. ... UT. Impl. Des. Req. Phase. RIT Software Engineering. Swami Natarajan. Sources of defect data ... Do a fishbone analysis ... – PowerPoint PPT presentation

Number of Views:54
Avg rating:3.0/5.0
Slides: 23
Provided by: swaminatha
Category:
Tags: defect | des | do | removal | ut

less

Transcript and Presenter's Notes

Title: Defect Removal


1
Defect Removal
2
Agenda
  • Setting defect removal targets
  • Cost effectiveness of defect removal
  • Matching to customer business needs and
    preferences
  • Performing defect removal
  • Techniques/approaches/practices overview
  • (Learn in detail in specific courses SE 450)
  • Performance tracking and feedback Measurements
    and metrics
  • Defect measurements and classification
  • Measurement source Inspections, test reports,
    bug reports
  • Defect density
  • Phase containment effectiveness
  • Cost of quality Cost of poor quality
  • Tracking of bug fixing and fixing effectiveness

3
Underlying QEngg Model
  • Optimizing results using feedback

Perform activity
Objectives
Outcomes
Measure results,feedback for improvement
Note Quality Engineering is the same as what I
also refer to as quality management probably a
more current and more appealing label - well use
both terms interchangeably.
4
Defect Removal objectives
  • Low defect density in product
  • Different density targets by severity level
  • Actual targets based on nature of software
  • Impact of defects, expectations of customer
  • (Will discuss in more detail under reliability)
  • Often the idea of setting a defect rate goal is
    not discussable
  • What about the goal of no known defects? Is
    shipping with known defects acceptable?
  • Cost-effective defect removal
  • Quantitative understanding of which approaches
    most cost-effective
  • Quantitative understanding of how much effort is
    worthwhile

5
Defect Removal Practices 1
  • (Practices grouped by increasing sophistication
    of approach)
  • Informal defect removal
  • Informal discussion and review of requirements
    with customer
  • Sporadic testing prior to release
  • Informal discussions and reviews within team
  • Informal bug reporting and fixing
  • Informal but strong quality focus
  • Extensive testing
  • Creating test cases, writing test code
  • Feature-based testing
  • Need-based inspections and reviews
  • This code seems to have problems, let us improve
    it

6
Defect Removal Practices 2
  • Test strategy and test planning
  • Informal attempts at coverage
  • Systematic identification of test cases
  • Tracking of detected problems to closure for both
    tests and reviews
  • Systematic customer reviews of generated
    documents
  • Tracking of defect reports from customers
  • Possibly some use of test automation
  • Test harnesses that systematically run the
    software through a series of tests
  • Practices that prevent some kinds of defects
  • Training, configuration management, prototyping

7
Defect Removal Practices 3
  • Formal peer reviews of code and documents
  • Tracking of review and test results data
  • Use of coverage analysis and test generation
    tools
  • Tracking of data on bug fixing rates
  • Use of graphs showing defect rates for informal
    diagnosis and improvement
  • Improved defect prevention using checklists,
    templates, formal processes

8
Defect Removal Practices 4
  • Use of metrics to
  • Analyze effectiveness of defect removal
  • Identify problem modules (with high defect
    densities)
  • Identify areas where practices need strengthening
  • Identify problems in-process i.e. during
    development itself
  • Set defect density / defect rate objectives
  • Actually usually baselines current capability
    level
  • Guide release (only when defect detection rates
    fall below threshold)
  • Plan test effort and number of test cases
  • Optimize quality efforts
  • Consistent use of test automation
  • Use of formal methods for defect avoidance

9
Defect Removal Practices 5
  • Continuous improvement cycle
  • Pareto analysis to discover common sources of
    problems
  • Causal analysis to identify roots of frequent
    problems
  • Use defect elimination tools to prevent these
    problems
  • Repeat!

10
Some Quantitative Perspectives
  • Value of early defect detection
  • Multi-stage approaches to defect detection
  • Impact of phase containment effectiveness

11
Value of early defect detection
Note that y-axis scale is logarithmic actual
increase is exponential
From http//www.sdtcorp.com/overview/inspections/s
ld016.htm
12
How to detect defects early?
  • Inspections and reviews
  • Prototyping, extensive customer interaction
  • Note that agile development emphasizes these
  • Use of analysis techniques
  • Requirements analysis for completeness and
    consistency
  • Design analysis e.g. sequence diagrams to analyze
    functional correctness, attribute analysis
  • Formal specification and analysis of requirements
  • Methodologies that increase early lifecycle
    effort depth
  • O-O development increases design effort detail
  • Test-driven development increases understanding
    of relationships between design and requirements
  • Traceability analysis
  • Interesting that agile development goes the other
    way it decreases time lag between requirements
    release, changing the curve!

13
Need for Multi-stage approaches
  • (Just an illustrative example)
  • One phase of defect removal e.g. testing
  • Assume 95 efficiency
  • Input 1000 defects output 50 defects
  • 6 phases of defect removal e.g. Req, Design,
    Impl, UT, IT, ST
  • Assume 100, 300, 600 bugs introduced in Req, Des,
    Impl resp.
  • Even with much less efficiency, we get better
    results
  • 10 improvement in PCE produces 3x better results

14
Sources of defect data
  • Inspection / review reports contain
  • Phase of detection (current), module (this)
  • Defect severity
  • Effort data review prep, review meeting, effort
    to fix problems
  • Number of lines of code reviewed
  • Defect type (see next slide on defect
    classification)
  • Similar data gathered from testing
  • User bug reports
  • Manual screening to reject duplicates,
    non-problems
  • Similar classification effort data

15
Defect Classification
  • Many organizations have their own defect
    classification system
  • E.g. Logic, requirements, design, testing, config
    mgmt
  • May classify in more detail initialization, loop
    bounds, module interface, missed functionality
    etc.
  • Helps in pareto analysis for continuous
    improvement
  • More effort, less reliable errors in
    classification, subjectivity
  • (maybe) Did defect originate from previous fix?
  • There exists a methodology called Orthogonal
    Defect Classification (ODC)

16
Processing of defect data
  • Compute phase containment effectiveness based on
  • Number of defects found in that phase
  • Number of defects from that phase or earlier
    found subsequently
  • Similarly compute test effectiveness
  • Fixing effectiveness
  • Overall, modulewise, phasewise defect densities
  • Review rates number of lines / hour
  • Cost of quality Total effort spent on quality
    activities
  • Cost of poor quality Total effort spent on fixes

17
Limitations in defect data
  • Small sample sizes
  • Smaller projects often have lt100 bugs
  • Classifying by type, phase etc. further reduces
    the population from statistical perspective
  • PCE in particular has heavy sample size problems
  • Organizational numbers often more meaningful
  • PCE reduces as more bugs found!
  • Hard to use as in-process metric
  • Subjectivity of classification
  • Developers may suppress defect data to look good
  • Fundamental rule Never use metrics to evaluate
    people

18
Next Defect Removal Metrics
  • Defect Density
  • Phase Containment Effectiveness
  • Cost of Quality
  • Cost of Poor Quality

19
Midterm Wednesday Oct. 1
  • Quality and quality frameworks
  • Measurement metrics fundamentals
  • Metrics overview
  • Quality Tools
  • Defect Removal
  • Everything we cover through Tuesday
  • Chapters 1-6 in text
  • No multiple choice / T-F questions!
  • Both concept and information
  • 1 hour

20
Project Approach section
  • Quality Engineering approach
  • Will the quality engineering approach be based on
    a framework?
  • What is the overall philosophy?
  • Degree of formality
  • Balance between compliance (procedural) and
    self-assessment / improvement orientation
  • Relates to quality culture and likelihood of
    success
  • Role of metrics
  • Role of quality tools
  • Plan for implementing
  • How much of this already exists
  • Effort needed for creating artifacts, training
  • Top-level idea about rollout expectations

21
Proposal for Individual Work
  • What do you plan to work on for individual
    project?
  • Example possibilities
  • Term paper on some area e.g. ODC, reliability
    engineering, customer satisfaction metrics
  • Evaluation of metrics tools
  • Survey of metrics practices (Net-based)
  • Implementation project building a data gathering
    and/or analysis tool
  • Creating a quality engineering approach for some
    area (need not relate to software)
  • Examining use of metrics in some other domain
    e.g. baseball cybermetrics
  • Note that there is no requirement that this be
    software related
  • Due Wed. Oct. 1
  • Reminder Assignment due tomorrow

22
Exercise
  • Start with the problem Meetings that run too
    long and dont produce much
  • Do a fishbone analysis
  • Figure out how you would gather data about
    relative contribution of different causes
  • Do a pareto analysis of causes from anecdotal
    data (not generally recommended!)
  • Identify ways to implement improvements in
    meeting effectiveness
  • Hopefully, use them in future!
Write a Comment
User Comments (0)
About PowerShow.com