#3 Software Quality

 Purpose: "Definition the expected characteristics of
high-quality software"

 Part 1: Quality Concepts
 Part 2: Quality frameworks & ISO-9126
 Part 3: Defects: definition, deal with quality

 Conclusion: What is software quality?

Quality- Key Points

 Can be viewed from a number of different perspectives
 Can be measured using a variety of measures
 Increasing spending on quality improvement activities
can reduce the total cost of producing a product
 Testing a product after it has been created doesn’t
improve its quality
 Quality depends on 3 factors: People, Process and Tools
 ISO 9126 is an international standard for software

quality

Quality – Views

Different views:
User’s view: quality is fitness for user’s needs
 Fit for use
 Product view: quality is meet attributes of a product
 Manufacturer view: quality is meet the requirements
specification
 Value-based view: quality is the customers’

willingness to pay for a software

Quality – Measurement

Cost of quality


 Cost of defect prevention: costs associated with
preventing errors and defects being introduced into
products
 Cost of appraisal: costs associated with assessing the
level of quality present in a product
 Cost of internal failure: costs associated with poor
quality prior to transfer of ownership to the customer:
rework, repair, defect diagnosis
 Cost of external failure: costs associated with poor
quality after transfer of ownership to the customer:
complaints, support, warranty claims, product rejected

and returned

Quality is People problem?



The Quality Triangle



The User Requirements – Requirement Specification gap

The gap is likely to include:
 Misunderstood requirements
 Ignored requirement
 Missing requirements
 Outdated requirements

 Unneeded requirements
 Wrong interpretation of requirement due to vagueness and
ambiguity in the specification
 Requirements identified after development commenced and
included in the software but not described in the specification
 Changes to specified requirements identified after development
commenced
 Features added by the developers to exploit technical
opportunities
 Requirement ignored by the developers because they were too
difficult to implement
 The gap occurs because the software doesn’t satisfy
the user requirements
 The size of the gap is directly dependent on the side of
other 2 sides of triangle
 The gap is most expensive to close since extensive
rework will be necessary to modify the software

Closing gaps between 3 views

 Spend more money on quality:
 Early requirement validation
 Configuration management
 Reviews, Inspection
 Testing
 Improve the processes that create the product

Quality triangle shapes



Part 2: ISO 9126 – Product quality model




ISO 9126 - Characteristics

 Functionality: A set of functions and their
specified properties
 Reliability: The capability of software to
maintain its performance under stated
conditions for a stated time period

Usability: The effort needed for use
 Efficiency: The relationship between the
performance of the software and the used
resources, under stated conditions
Maintainability: The effort needed to make
specified modifications
 Portability: The ability of software to be
transferred from one environment to another

Quality sub-characteristics

o Functionality:
 Suitability
 Accuracy
 Interoperability
 Security
o Reliability:
 Maturity
 Recoverability
 Fault Tolerance
o Usability:
 Understandability

 Learn ability
o Efficiency:
 Time behavior
 Resource behavior
o Maintainability
 Analyzability
 Changeability
 Stability
 Testability
o Portability:
 Adaptability
 Installability
 Replaceability

Defects: Definition

 Definitions: Error, Failure, Fault, Defect, Bug
o Error: A human action that produces an incorrect result
o Fault: An incorrect step, process, or data definition
o Failure: a behavioral deviation from user requirement or
product specification
Errors  Faults  Failures

Use the term Defect

Relation of failure, fault and error



Defect Relationship

 Relationship:
 One Error may cause many Faults
 One Fault may be caused by many Errors
 Other concept:
 Bug: defects found in the final application

 Leakage: defects found after releases

QA as dealing with defects

 Defect Prevention
 Defect Removal/Reduction

 Defect Containment

QA and Quality Engineering

 Quality Engineering (QC): Tester
 Defect detection
Quality Assurance: QA officer (QA)

 Defect prevention

Quality Control & Quality Assurance



Conclusion

 What is software Quality?
o Software quality includes many different attributes
o Different views of user, product, manufacturing
o Defect definition, QA deal with defects

To ensure quality => need many software QA activities



translate

Hôm nay đọc gì

Lưu trữ

view

view