• Nu S-Au Găsit Rezultate

Software Quality Engineering:

N/A
N/A
Protected

Academic year: 2022

Share "Software Quality Engineering:"

Copied!
21
0
0

Text complet

(1)

Software Quality Engineering:

Testing, Quality Assurance, and Quantifiable Improvement

Jeff Tian, [email protected]

www.engr.smu.edu/∼tian/SQEbook

Chapter 20. Defect Classification and Analysis

• General Types of Defect Analyses.

• ODC: Orthogonal Defect Classification.

• Analysis of ODC Data.

(2)

Defect Analysis

• Goal: (actual/potential) defect↓ or quality↑

in current and future products.

• General defect analyses:

. Questions: what/where/when/how/why?

. Distribution/trend/causal analyses.

• Analyses of classified defect data:

. Prior: defect classification.

. Use of historical baselines.

. Attribute focusing in 1-way and 2-way analyses.

. Tree-based defect analysis (Ch.21).

(3)

Defect in Quality Data/Models

• Defect data ⊂ quality measurement data:

. As part of direct Q data.

. Extracted from defect tracking tools.

. Additional (defect classification) data may be available.

• Defect data in quality models:

. As results in generalized models (GMs).

. As r.v. (response/independent) variable in product specific models (PSMs).

– semi-customized models ≈ GMs, – observation-based: r.v. in SRGMs, – predictive: r.v. in TBDMs.

– (SRGMs/TBDMs in Ch.22/21.)

(4)

General Defect Analysis

• General defect analyses: Questions

. What? identification (and classification).

– type, severity, etc.,

– even without formal classification.

. Where? distribution across location.

. When? discovery/observation

– what about when injection? harder – pre-release: more data

– post-release: more meaningful/sensitive . How/why? related to injection

⇒ use in future defect prevention.

• General defect analyses: Types

. Distribution by type or area.

. Trend over time.

. Causal analysis.

(5)

Defect Analysis: Data Treatment

• Variations of defect data:

. Error/fault/failure perspective.

. Pre-/post-release.

. Unique defect?

. Focus here: defect fixes.

• Why defect fixes (DF):

. Propagation information.

. Close ties to effort (defect fixing).

. Pre-release: more meaningful.

(post release: each failure occurrence.)

(6)

Defect Distribution Analysis

• What: Distribution over defect types.

. Ties to quality views/attributes (Ch.2).

. Within specific view: types/sub-types.

. Defect types ⇐ product’s “domain”.

. IBM example: CUPRIMDSO.

• Web example: Table 20.1 (p.341)

. Defect = “error” in web community.

. Dominance of type E “missing files”.

. Type A error: further analysis.

. All other types: negligible.

(7)

Defect Distribution Analysis

• Where: Distribution over locations.

. Common: by product areas

– sub-product/module/procedure/etc.

– IBM-LS: Table 20.3 (p.342) – IBM-NS: Table 20.4 (p.343)

– common pattern: skewed distribution . Extension: by other locators

– e.g., types of sources or code

– example of web error distribution – Table 20.2 (p.342) by file type – again, skewed distribution!

• Important observation:

. Skewed distribution, or 80:20 rule

⇒ importance of risk identification for effective quality improvement . Early indicators needed!

(Cannot wait after defect discoveries.)

(8)

Defect Trend Analysis

• Trend as a continuous function:

. Similar to Putnam model (Ch.19) – but customized with local data . Other analysis related to SRE

– defect/effort/reliability curves

– more in Ch.22 and related references.

. Sometimes discrete analysis may be more meaningful (see below).

• Defect dynamics model: Table 20.5 (p.344)

. Important variation to trend analysis.

. Defect categorized by phase.

. Discovery (already done).

. Analysis to identify injection phase.

. Focus out-of-phase/off-diagonal ones!

(9)

Defect Causal Analysis

• Defect causal analyses: Types

. Causal relation identified:

– error-fault vs fault-failure – works backwards

. Techniques: statistical or logical.

• Root cause analysis (logical):

. Human intensive.

. Good domain knowledge.

. Fault-failure: individual and common.

. Error-fault: project-wide effort focused on pervasive problems.

• Statistical causal analysis:

≈ risk identification techniques in Ch.21.

(10)

ODC: Overview

• Development

. Chillarege et al. at IBM

. Applications in IBM Labs and several other companies

. Recent development and tools

• Key elements of ODC

. Aim: tracking/analysis/improve

. Approach: classification and analysis . Key attributes of defects

. Views: both failure and fault

. Applicability: inspection and testing . Analysis: attribute focusing

. Need for historical data

(11)

ODC: Why?

• Statistical defect models:

. Quantitative and objective analyses.

. SRGMs (Ch.22), DRM (Ch.19), etc.

. Problems: accuracy & timeliness.

• Causal (root cause) analyses:

. Qualitative but subjective analyses.

. Use in defect prevention.

• Gap and ODC solution:

. Bridge the gap between the two.

. Systematic scheme used.

. Wide applicability.

(12)

ODC: Ideas

• Cause-effect relation by type:

. Different types of faults.

. Causing different failures.

. Need defect classification.

. Multiple attributes for defects.

• Good measurement:

. Orthogonality (independent view).

. Consistency across phases.

. Uniformity across products.

• ODC process/implementation:

. Human classification.

. Analysis method and tools.

. Feedback results (and followup).

(13)

ODC: Theory

• Semantic classification:

. Defect classes for a product . Can be related to process . Can explain progress

. Akin to event measurement

. Compare to opinion-based classification (e.g., where-injected)

. Sufficient condition:

– spanning set over process – formed by defect attributes

• Classification for cause-effect or views:

. Cause/fault: type, trigger, etc.

. Effect/failure: severity, impact, etc.

. Additional causal-analysis-related:

source, where/when injected.

. Sub-population: environment data.

(14)

ODC Attributes: Effect/Failure-View

• Defect trigger:

. Associated with verification process – similar to test case measurement – collected by testers

. Trigger classes – product specific

– black box in nature

– pre/post-release triggers

• Other attributes:

. Impact: e.g., IBM’s CUPRIMDSO.

. Severity: low-high (e.g., 1-4).

. Detection time, etc.

• Concrete example: Table 20.6 (p.347)

(15)

ODC Attributes: Cause/Fault-View

• Defect type:

. Associated with development process.

. Missing or incorrect.

. Collected by developers.

. May be adapted for other products.

• Other attributes:

. Action: add, delete, change.

. Number of lines changed, etc.

• Concrete example: Table 20.6 (p.347)

(16)

ODC Attributes: Cause/Error-View

• Key attributes:

. Defect source: vendor/base/new code.

. Where injected.

. When injected.

• Characteristics:

. Associated to additional causal analysis.

. (May not be performed.)

. Many subjective judgment involved (evolution of ODC philosophy)

• Concrete example: Table 20.6 (p.347) (Only rough “when”: phase injected.)

(17)

Adapting ODC for Web Error Analysis

• Continuation of web testing/QA study.

• Web error = observed failures, with causes already recorded in access/error logs.

• Key attributes mapped to ODC:

. Error type = defect impact.

– types in Table 20.1 (p.341)

– response code (4xx) in access logs . Referring page = defect trigger.

– individual pages with embedded links – classified: internal/external/empty – focus on internal problems

. Missing file type = defect source – different fixing actions to follow.

• May include other attributes for different kinds of web sites.

(18)

ODC Analysis: Attribute Focusing

• General characteristics

. Graphical in nature

. 1-way or 2-way distribution . Phases and progression

. Historical data necessary . Focusing on big deviations

• Representation and analysis

. 1-way: histograms

. 2-way: stack-up vs. multiple graphics . Support with analysis tools

(19)

ODC Analysis Examples

• 1-way analysis: Fig 20.1 (p.349)

. Defect impact distribution for an IBM product.

. Uneven distribution of impact areas!

⇒ risk identification and focus.

• 1-way analysis: Fig 20.2 (p.350)

. Web error trend analysis.

. Context: compare to usage (reliability).

• 2-way analysis: Table 20.7 (p.351)

. Defect impact-severity analysis.

. IBM product study continued.

. Huge contrast: severity of reliability and usability problems!

(20)

ODC Process and Implementation

• ODC process:

. Human classification

– defect type: developers,

– defect trigger and effect: testers,

– other information: coordinator/other.

. Tie to inspection/testing processes.

. Analysis: attribute focusing.

. Feedback results: graphical.

• Implementation and deployment:

. Training of participants.

. Data capturing tools.

. Centralized analysis.

. Usage of analysis results.

(21)

Linkage to Other Topics

• Development process

. Defect prevention process/techniques.

. Inspection and testing.

• Testing and reliability:

. Expanded testing measurement – Defects and other information:

– Environmental (impact) – Test case (trigger)

– Causal (fault)

. Reliability modeling for ODC classes

Referințe

DOCUMENTE SIMILARE

Gilb Inspection (Expanded Fagan).. • Key: A “process

• Hazard sources identification ⇒ elimination (Some specific faults prevented or removed.).. • Traditional QA (but with

 Software maintenance in software engineering is the modification of a software product after delivery to correct faults, to improve performance or other7. attributes

Coverage and Usage Testing Based on FSMs and Markov Chains.. • Finite-State

Investigating the effect of free vibration and static methods on modulus of elasticity and damping factor of Cupressus arizonica showed significant correlation

The aspect of the ventricles is important for the prog- nosis. When the ventricles are equal in size, the CAVSD is known as a “balanced form” which is more frequently encountered

The objective in this master’s thesis is to study and represent wide selection of applications from literature, where evolutionary computing methods (evolutionary algorithms, EA)

The fibroadenomas, which have linear echogenic streaks due to fibrosis (n=8), showed vibrational artifacts in a linear configuration. Compari- sons of the vibratory defect sizes