Quality Assurance
Everything related to Software Quality Assurance

ISO Standards for Software Quality

ISO 9126 is an international standard for the evaluation of software quality.

The standard is divided into four parts, which address, respectively, the following subjects: quality model; external metrics; internal metrics; and quality in use metrics.

Quality Model

The quality model established in the first part of the standard, ISO 9126-1, classifies software quality in a structured set of characteristics and sub-characteristics. These are also considered as non functional requirements metrics. These are:

 

1- Functionality - 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 the capability of different programs to exchange data via a common set of exchange formats, to read and write the same file formats, and to use the same protocols
  • Compliance the flexibility of the software to accept new features and enhancements.
  • Security preventing unauthorized access to the software.

 

2- Reliability - 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
  • Recoverability - software product can be modified in order to correct defects, meet new requirements, make future maintenance easier, or cope with a changed environment
  • Fault Tolerance - the property that enables a system (often computer-based) to continue operating properly in the event of the failure of (or one or more faults within) some of its components.


<!--[if !supportLineBreakNewLine]-->

3- Usability - 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.

  • Learnability 
  • Understandability
  • Operability - ability to keep a system in a functioning and operating condition.

4- Efficiency - 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 Behaviour
  • Resource Behaviour

5- Maintainability - A set of attributes that bear on the effort needed to make specified modifications.

 

  • Stability
  • Analyzability
  • Changeability
  • Testability


<!--[if !supportLineBreakNewLine]-->

6- Portability - A set of attributes that bear on the ability of software to be transferred from one environment to another.

 

  • Installability
  • Replaceability
  • Adaptability

The sub-characteristic Conformance is not listed above and applies to all characteristics. Examples are conformance to legislation concerning Usability or Reliability.

Each quality sub-characteristic (as adaptability) is further divided into attributes. An attribute is an entity which can be verified or measured in the software product. Attributes are not defined in the standard, as they vary between different software products.

Software product is defined in a broad sense: it encompasses executables, source code, architecture descriptions, and so on. As a result, the notion of user extends to operators as well as to programmers, which are users of components as software libraries.

The standard provides a framework for organizations to define a quality model for a software product. On doing so, however, it leaves up to each organization the task of specifying precisely its own model. This may be done, for example, by specifying target values for quality metrics which evaluates the degree of presence of quality attributes.

Internal metrics are those which do not rely on software execution (static measures).

External metrics are applicable to running software.

Quality in use metrics are only available when the final product is used in real conditions.

Ideally, the internal quality determines the external quality and external quality determines quality in use.

This standard stems from the model established in 1977 by McCall and his colleagues, who proposed a model to specify software quality. The McCall quality model is organized around three types of Quality Characteristics:

·         Factors (To specify): They describe the external view of the software, as viewed by the users.

·         Criteria (To build): They describe the internal view of the software, as seen by the developer.

·         Metrics (To control): They are defined and used to provide a scale and method for measurement.

 

(1) comments


Add a Comment

On October, 01, 2009 7:16 AM , Rasheem
from Jordan said:

Thanks for this great post. I was looking for this since a week




Add a Comment

<<Home