29
Software Quality

Software Quality

  • Upload
    taini

  • View
    20

  • Download
    0

Embed Size (px)

DESCRIPTION

Software Quality. People’s Quality Expectations. The software systems must do what they are supposed to do. “ do the right things” They must perform these specific tasks correctly or satisfactorily . “ do the things right”. People’s Roles and Responsibilities. - PowerPoint PPT Presentation

Citation preview

Page 1: Software Quality

Software Quality

Page 2: Software Quality

The software systems must do what they are supposed to do.

“do the right things”

They must perform these specific tasks correctly or satisfactorily.

“do the things right”

People’s Quality Expectations

Page 3: Software Quality

1. Consumers of software products or services, including customers and users, either internally or externally

2. Producers of software products, or anyone involved with the development, management, maintenance, marketing, and service of software products

People’s Roles and Responsibilities

Page 4: Software Quality

User: The software system performs useful functions as it is specified Performs the right functions as specified Performs these functions correctly over a long

period of timeThe V & V of software: Verification &

Validation

Many: ease of use or usability Others: installation and operation – “plug-and-

play”

Quality Expectations on the Consumer Side

Page 5: Software Quality

V-V Model

Page 6: Software Quality

Extended definition of users: smooth operation and interaction between the software and the non-human users in the form of inter-operability, and adaptability.

Customer: same as the user, with additional concern for the cost of the software or service.

Quality Expectations on the Consumer Side

Page 7: Software Quality

Fulfill contractual obligations by: producing software products that conform

to specifications or Providing services that conform to service

agreement

Product and service managers: adherence to pre-selected software process and relevant standards, proper choice of software methodologies, languages and tools

Quality Expectations on the Producer Side

Page 8: Software Quality

Other people on the producer side:

Usability and modifiability (for service) Maintainability (for maintenance) Portability (for third party or software

packaging providers) Profitability and customer value (for

product marketing)

Quality Expectations on the Producer Side

Page 9: Software Quality

Quality frameworks accommodate various quality views and

expectations Define quality and related attributes, features,

characteristics and measurements

ISO-9126 (ISO,2001) Most influential in the Software Engineering Discusses various adaptations of quality

frameworks for specific application environments

Quality Frameworks and ISO-9126

Page 10: Software Quality

provides a hierarchical framework for quality definition, organized into quality characteristics and sub-characteristics

Functionality Reliability Usability Efficiency Maintainability Portability

ISO-9126

Page 11: Software Quality

A set of attributes that bear on the existence of a set of functions and their specified properties. The functions are those that satisfy stated or implied needs.- Suitability- Accuracy- Interoperability- Security

ISO-9126 FUNCTIONALITY

Page 12: Software Quality

A set of attributes that bear on the capability of software to maintain its level of performance under stated conditions for a stated period of time. - Maturity- Fault tolerance- Recoverability

ISO-9126RELIABILITY

Page 13: Software Quality

A set of attributes that bear on the effort needed for use, and on the individual assessment of such use, by a stated or implied set of users. - Understandability- Learnability- Operability

ISO-9126USABILITY

Page 14: Software Quality

A set of attributes that bear on the relationship between the level of performance of the software and the amount of resources used, under stated conditions.- Time behavior- Resource behavior

ISO-9126EFFICIENCY

Page 15: Software Quality

A set of attributes that bear on the effort needed to make specified modifications. - Analyzability- Changeability- Stability- Testability

ISO-9126MAINTAINABILITY

Page 16: Software Quality

Correctness => several quality characteristics or sub-characteristics

Typically the most important aspect of quality for situations where daily life or business depends on software

Alternative Frameworks and Focus on Correctness

Page 17: Software Quality

Defect – some problem with the software, either with external behavior or internal characteristics, there are three types of defects:

Failure: The inability of a system or component to perform its required functions within specified performance requirements.

Fault: An incorrect step, process, or data definition in a computer program.

Error: A human action that produces an incorrect result.

Correctness and Defects

Page 18: Software Quality

NOT Bugs??? Debug??? Or Debugging???

INSTEAD

Defect detection and removal

- Specific activities related to defect discovery, including testing, inspection, etc.

- Specific follow-up activities after defect discovery, including defect diagnosis, analysis, fixing, and re-verification

Correctness and Defects

Page 19: Software Quality

Defect Related Concepts and Relations

Page 20: Software Quality

Errors Faults Failures

Causal Relation

Page 21: Software Quality

View Attribute 

Correctness OthersConsumer/ External (user & customer)

Failure- related properties

UsabilityMaintainabilityPortabilityPerformanceInstabilityReadabilityetc (-ilities)

Producer/ Internal (developer,

manager, tester, etc)

Fault-related properties

DesignSizeChangeComplexityetc

Correctness-centered properties and measurements

Page 22: Software Quality

Failure properties and direct failure measurement: Information about the specific failures, what

they are, how they occur, etc. Measured directly by examining failure

count, distribution, density, etc.

Correctness-centered properties and measurements – Consumer Side

Page 23: Software Quality

Failure likelihood and reliability measurement: captured in various reliability measures,

where reliability -> probability of failure-free operations for a specific time period or for a given set of input

Correctness-centered properties and measurements – Consumer Side

Page 24: Software Quality

Failure severity measurement and safety assurance:

Accidents - failures with severe consequences, need to be avoided, contained, or dealt with to ensure the safety for the personnel involved and to minimize other damages.

Correctness-centered properties and measurements – Consumer Side

Page 25: Software Quality

Fix Problems or Faults that caused failures Deal with the injection and activation of other

faults

Faults can be analyzed and examined according to:

- Types- Relations to specific failures and accidents - Causes- Time and circumstances when they are injected- Distribution and density

Correctness-centered properties and measurements – Producer Side

Page 26: Software Quality

Defect prevention Defect detection and removal Defect containment

Quality engineering includes Quality planning Measurement, analysis and feedback

Defects in the context of QA and Quality Engineering

Page 27: Software Quality

Evolving perceptions of quality Quality --- physical objects (cars, tools, radio, TV,

etc QA --- manufacturing process Focus --- product conform to specifications Quality problems --- non-conformance Quality problems --- observed defects Shift to expectations of quality, Focus --- 0 defect Customer loyalty over conformance Conformance, adaptability and innovation

Historical Perspective of Quality

Page 28: Software Quality

1. Functional stage - providing the automated functions to replace

2. Schedule stage - introducing important features and new systems on a timely and orderly basis to satisfy urgent user needs

3. Cost stage - reducing the price to stay competitive accompanied by the widespread use of personal computers.

4. Reliability stage - managing users’ quality expectations under the increased dependency on software and high cost or severe damages associated with software failures.

Quality in Software Engineering

Page 29: Software Quality

Software quality may include many different attributes and may be defined and perceived differently based on people’s different roles and responsibilities

High quality means none or few problems of limited damage to customers. These problems are encountered by software users and caused by internal software defects.

Software Quality