You are on page 1of 21

CSCS351 Software

Quality Assurance
Lecture 4

Dr. Aasia Khanum, Department of Computer Science, FC College, Lahore


Introduced at GE (General Electric) Corp.

McCall’s
Product software quality defined in terms of 3
Quality Model concepts :
Quality Factors
Quality Criteria
Quality Metrics
McCall’s Model
of Software
Product
Quality
• A quality factor represents the behavioral
characteristic of a system.
• Examples: correctness, reliability,
efficiency, testability, portability, …
McCall’s • A quality criterion is an attribute of a quality
Product factor that is related to software development.
• Example:
Quality Model • Maintainability is achieved by creating
modular architecture of software.
• Maintainability=Quality Factor
Modularity=Quality Criterion

Dr. Aasia Khanum, Department of Computer Science, FC College, Lahore


• A quality metric is used to provide a scale and
method for measurement of quality
factors/criteria.
McCall’s • Example:

Product • Some metrics for software modularity include:


• Cohesion (inverse of number of connected
Quality Model functions in a class)
• Coupling (number of connected components
among two classes)

Dr. Aasia Khanum, Department of Computer Science, FC College, Lahore


McCall’s Quality Factors
McCall’s Quality Criteria
Hierarchy:

• When a quality factor is positively influenced by a set of


quality criteria

One to many:

Types of • In this case the same quality criterion may impact a


number of quality factors
Relationship • Example: Simplicity impacts reliability, usability, and
testability.

between Quality Tradeoffs:

Factors and • In case of tradeoff if an effort is made to improve one


quality factor, another quality factor may be degraded.
Criteria • Example: Increasing portability may reduce efficiency of
code.

Reinforcements:

• Some quality factors positively impact others factors.


• Example: An effort to improve the correctness of a system
will increase its reliability as well.
Relationship
between
Quality Factors
and Criteria
ISO/IEC 9126 Quality
Characteristics
Functionality: the set of attributes (sub-
characteristics) that bear on the existence of a
set of functions and their specified properties.
The functions are those that satisfy stated or
implied needs.

ISO/IEC 9126: Reliability: the set of attributes that bear on the


Quality capability of software to maintain its level of
performance under stated conditions for a stated
Characteristics period of time.

Usability: the 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.
Efficiency: is the 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.

Maintainability: is the set of attributes that


ISO/IEC 9126: bear on the effort needed to make specified
Quality modifications (correct/improve/adapt)

Characteristics • Portability: is the set of attributes that bear on


the ability of software to be transferred from
one environment to another.
Functionality
• Suitability- to the user’s needs
• Accuracy- of results
• Interoperability- with other systems
ISO/IEC 9126: • Security- against unintended access
Quality Sub-
Reliability
Characteristics
• Maturity- frequency of failures
• Fault Tolerance- performance in
case of faults
• Recoverability- of functionality and
data loss
Usability
• Understandability
• Learnability
ISO/IEC 9126:
• Operability
Quality Sub-
• Attractiveness
Characteristics
Efficiency
• Time behavior
• Resource behavior
Maintainability
• Analyzability- effort for diagnosis
• Changeability- ease of modification
• Stability- after change
ISO/IEC 9126: • Testability- effort required for testing
after change
Quality Sub-
Portability
Characteristics
• Adaptability
• Installability
• Conformance
• Replaceability
• Co-existence
Step 1-Quality requirements definition
• input a set of stated or implied need and relevant
technical documentation
• output a quality requirements specification.

Process to Apply Step 2- Evaluation preparation


ISO/IEC 9126 for • selection of appropriate metrics, a rating level
definition and the definition of assessment criteria.
Quality • Metrics are quantifiable measures mapped on to
scales e.g. (0-1).
Evaluation • Rating levels definition determines what ranges of
values on those scales count as satisfactory, E.g. (0-
0.30 unsatisfactory, 0.4-0.6 ambiguous, 0.7-1.0
satisfactory)
• Assessment criteria definition involves preparing a
procedure for summarizing the results of the
evaluation according to management criteria.
Step 3- Evaluation execution
• refined into three sub-steps:
measurement, rating and assessment.
Process to Apply • Assessment is the final step of the
software evaluation process, where a
ISO/IEC 9126 for set of rated levels are summarized.
Quality • The result is a summary of the quality
of the software product.
Evaluation • The summarized quality is then
compared with other aspects such as
time and cost, and the final
managerial decision is taken, based on
managerial criteria.
• Introduced in 2011
• Superseded ISO/IEC 9126
• 25010 defines two models:
1. A quality in use model composed of 5
characteristics that relate to the outcome of
ISO/IEC 25010 interaction when a product is used in a particular
context of use
2. A product quality model composed of 8
characteristics that relate to properties of the
software
Quality-in-Use Model
Product Quality Model
Thank You!

Dr. Aasia Khanum, Department of Computer Science, FC College, Lahore

You might also like