1
Software Quality
Dr. TassawarIqbal
Department of Computer Science
COMSATS University Islamabad, Wah Campus
To prepare the slides most of the content including text, figures and ideas are taken from following publically available sources:
1)Pressman, Roger S. Software Engineering: A Practitioner's Approach. 7th Edition
2)These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by
Roger Pressman.
Software Quality, Review&
Testing
Important Quality Concepts [Ch:14]
Review Techniques [Ch:15]
Software Testing and Strategies [Ch:17]
3
4.
Today’s Agenda
QualityConcept?
What is Software Quality?
Quality Dimensions
Cost of Quality and Impact of Decisions
4
5.
5
Software Quality
Softwarequality can be defined as:
An effective software process applied in a manner that creates a useful
product that provides measurable value for those who produce it and those
who use it
6.
6
Quality Dimensions
PerformanceQuality. Does the software deliver all content, functions, and features
that are specified in the requirements model in a way that provides value to the end-
user?
Feature quality. Does the software provide features that surprise and delight first-time
end-users?
Reliability. Does the software deliver all features and capability without failure? Is it
available when it is needed? Does it deliver functionality that is error free?
Conformance. Does the software conform to local and external software standards that
are relevant to the application? Does it conform to de facto design and coding
conventions? For example, does the user interface conform to accepted design rules for
menu selection or data input?
7.
7
Quality Dimensions
Durability.Can the software be maintained (changed) or corrected (debugged)
without the generation of unintended side effects? Will changes cause the error
rate or reliability to degrade with time?
Serviceability. Can the software be maintained (changed) or corrected
(debugged) in an acceptably short time period. Can support staff acquire all
information they need to make changes or correct defects?
Aesthetics. Most of us would agree that an aesthetic entity has a certain elegance,
a unique flow, and an obvious “presence” that are hard to quantify but evident
nonetheless
8.
Cost of Quality
We know that quality is important, but it costs us time and money—too much
time and money to get the level of software quality we really want
There is no question that quality has a cost, but lack of quality also has a
cost—not only to end users who must live with buggy software, but also to the
software organization that has built and must maintain it
The real question is this: which cost should we be worried about? To
answer this question, you must understand both the cost of achieving quality
and the cost of low-quality software
8
9.
Cost of Quality
The cost of quality can be divided into costs associated with
Prevention
Appraisal
Failure
9
10.
10
Cost of Quality
Prevention costs include
Quality planning/ Management activities for quality
• Formal technical reviews
• Test equipment/ testing plans
• Training
Appraisal Cost
to gain insight into product condition the “first time through” each
process
Examples of appraisal costs include:
• Cost of conducting technical reviews (Chapter 15) for software engineering
work products
• Cost of data collection and metrics evaluation (Chapter 23)
• Cost of testing and debugging (Chapters 18 through 21)
11.
Cost of Quality
Failure Cost
Failure costs are those that would disappear if no errors appeared before or after
shipping a product to customers
Internal failure costs include
• Rework
• Repair
• Failure mode analysis
External failure costs are
• Complaint resolution
• Product return and replacement
• Help line support
• Warranty work
11
12.
12
Cost
The relativecosts to find and repair an error or defect increase dramatically
as we go from prevention to detection to internal failure to external failure
costs.
The cost savings associated with early quality control and assurance activities (conducted
during requirements analysis and design) are convincing
13.
Impact of ManagementDecisions
Software quality is often influenced as much by management decisions as it is by technology decisions
Even the best software engineering practices can be subverted by poor business decisions and questionable project
management actions
Estimation decisions
• Flexibility in estimates
Scheduling decisions
• Tasks are sequenced based on dependencies
Risk-oriented decisions
• What may go wrong and contingency plans
13
14.
Summary
What isSoftware Quality?
Quality Dimensions
Cost of Quality and Impact of Decisions
14