The standard establishes an international standard which allows evaluating the quality of software products, this standard is on the market since 1992, originally had the name of “Information technology-software product evaluation: Quality”.
This standard includes attributes that allow the qualification of a software product according to the level of satisfaction of the customer’s needs. These attributes allow evaluating if the software is the adequate solution to the problem, how exact it was to the expected result and also considers the customer’s conformity and allows to verify the integration of the software with other products (data exchange) this integration must be verified to ensure its security.
The reliability allows assuring the capacity of the software product to maintain certain conditions during the “runtime” in a period of time. This allows determining the degree of maturity through the frequency and quantity of failures present in the software, how tolerant it is to failures, and its capacity to maintain an acceptable level of functioning and operability and finally it must have the capacity to restore to an optimum level when a failure occurs, to have a process of recovery of information affected by a failure.
The usability of the software is evaluated by means of properties that parameterize the effort made by the user to use the system. A fundamental property is a comprehensibility, that is to say, how much effort a certain group of users makes to know the logical structure and concepts related to the software. Another property is the ease of learning, this property is directly linked to the complexity of the logical structure and concepts related to the software.
Efficiency evaluates the level of functioning of the software (functionality) and the number of resources used in certain moments of time (operability). In terms of time, it must be considered how fast the request was processed and the response obtained, and the functionality, in this case, is evaluated by means of the number of resources consumed. As a general rule, as the number of resources used increases, the response time increases.
Maintainability allows the parameterization of the effort required for modifications, error correction, or the creation of new functionalities. As a consequence, four aspects are parameterized. Analysis capacity, how easy it is to find the source of a failure. Modification capability, how easy it is to make new adaptations. Stability, risks of new adaptations. Ease of testing, the ability of the software to evaluate new features.
The portability refers directly to the capacity that the software has to be moved to a different environment, its ease of adaptation, its installation process, and the capacity to be replaced by new components or versions.
Importance of ISO
ISO/IEC 9126 made it possible at the time of its creation to define the quality characteristics or properties used to evaluate and qualify software products in a comprehensive application.
The purpose of ISO/IEC 9126 was to ensure the quality of software products by means of defined evaluation and qualification characteristics that guide a successful implementation process.
In 2005 the ISO organization replaced the standard with a new publication, in this case, ISO/IEC 25000:2005 (last revision in 2014) which provides an approximation to the content of ISO/IEC SQuaRE, which is the second generation of standards for improving the quality of software products.
Preparation for an assessment
In this stage, resources are allocated to the process of selecting the appropriate metrics, rating scale, and each process to be assessed. The rating scale must have at least two states: planned or completed, these two states are generally necessary as they encompass the two most important states for the evolution of the project. In the evaluation of a task layer, it should be considered with its corresponding subtasks, so that no process is left out of the project scope.
Preparation to execute
In the execution stage, which is the end of the process, the metrics defined during the previous evaluation process must be faced. When a task is started, it is clear that the final objective is to pass or finish according to the rating scale, this rating is only given after an evaluation process (according to the ISO 9126 characteristics) that allows determining if the process was successful or if not, to take corrective measures.
Talking about Metrics in ISO 9126, they seek to measure the level of acceptance and closeness to the customer’s functional and non-functional requirements. These metrics help to quickly know the state of the software development in order to be aware of possible delays that could occur in order to take preventive measures.
Relationship between external quality, internal quality, and quality of use.
ISO/IEC 9126-2 External Metrics
External metrics come into action in the testing phase of the software lifecycle, constant validation tests that allow quality assurance. These tests are performed in an environment similar to the real world, configurations, and dependencies.
ISO/IEC 9126-3 Internal Metrics
These metrics measure the state of the product concerning specific customer needs, either explicit (functional requirements) or implicit (non-functional requirements).
Identifies key properties from the user’s point of view, these are called quality factors and are categorized into three.
This is understood as the capability to be changed, similar to the Capability of modification in Maintainability of ISO 9126. Product revision involves three sub-elements Maintainability, flexibility, and testability.
This is understood as the ability to adapt to a new environment. Product transition involves consideration of portability, reusability, and interoperability of the software product.
Is understood as the ability to be changed, similar to Portability of ISO 9126. Product operation considers factors such as suitability, reliability, efficiency, and usability.