Upload
taini
View
20
Download
0
Tags:
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
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
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
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
V-V Model
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
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
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
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
provides a hierarchical framework for quality definition, organized into quality characteristics and sub-characteristics
Functionality Reliability Usability Efficiency Maintainability Portability
ISO-9126
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
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
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
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
A set of attributes that bear on the effort needed to make specified modifications. - Analyzability- Changeability- Stability- Testability
ISO-9126MAINTAINABILITY
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
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
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
Defect Related Concepts and Relations
Errors Faults Failures
Causal Relation
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
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
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
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
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
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
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
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
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