The quality of software is the set of qualities that determine its usefulness and existence. Quality is
synonymous with efficiency, flexibility, correctness, reliability, maintainability, portability, usability,
security and integrity. The quality of the software can be measured after the product is built. But it
can be costly if problems stemming from design flaws are detected, so quality control must be
implemented during all stages of the software life cycle.
How to get quality software?
Standard methodologies or procedures must be implemented for the analysis, design, programming
and testing of the software that allow standardizing the framework, to achieve greater reliability,
maintainability and ease of testing, with greater productivity, both for development work and for
software quality control.
The established policy must be based on three basic principles: technological, administrative and
ergonomic.
• The technological principle defines the
techniques to be used in the software
development process.
• The administrative principle
contemplates the planning and control
functions of software development, as
well as the organization of the
environment or software engineering
center.
• The ergonomic principle defines the
interface between the user and the
automated environment.
How to control the quality of the software?
To control the quality of the software, it is necessary to define the parameters, indicators or
measurement criteria. There are several methods and techniques to measure quality that vary
depending on the author, but they always have certain measurable indices in common that are the
basis for quality, control and improvement of productivity.
Once the quality indices have been selected, the control process must be established, which requires
the following steps:
• Define the software to be controlled:
classification by type, area of
application, complexity; in
accordance with the standards
established for software
development.
• Select a measure that can be
applied to the control object.
For each kind of software it is
necessary to define the
indicators and their
magnitudes.
• Create or determine the
methods for assessing the
indicators: manual methods such
as questionnaires or standard
surveys for measuring expert
criteria and automated tools for
measuring calculation criteria.
• Define the organizational
relationships to carry out the control:
who participates in the quality
control, when it is carried out, what
documents should be reviewed and
prepared, etc.
SOFTWARE QUALITY CULTURE
Software is a cultural product, modeled in a cultural
environment, based on decisions that are not
technical but social, economic or cultural.
It is a working model for people to assume the changes,
the objectives and understand their new role.
Therefore, it is essential to manage the communication
and training strategy, the dissemination of knowledge
and good practices adopted, recognition and
continuous improvement.
SOFTWARE QUALITY GUARANTEE
Software quality assurance (SQA) is a protection activity
that is applied throughout the entire software process, it
consists of auditing and management information
functions. The objective is to provide the management to
report the necessary data on the quality of the product.
Software quality is defined as: Compliance with
explicitly stated performance and functional
requirements, with explicitly documented
development standards, and with the implicit
characteristics expected of all professionally
developed software.
Three important points:
1. Software requirements are the basis for quality
measures. The lack of concordance with the requirements
is a lack of quality.
2. The specified standards define a set of development
criteria that guide the way in which software engineering
is applied. If these criteria are not followed, there will
almost always be a lack of quality.
3. If the software meets your explicit requirements but does
not meet the implicit requirements (such as ease of use and
maintenance), the quality of the software is compromised.
SOFTWARE QUALITY PLANNING
Quality planning establishes the quality objectives and
the specification of the necessary operational processes
and related resources to meet the quality objectives,
facilitates the way to adapt the planning of the quality
management system to a specific project, product or
contract.
Software Quality Planning at the project level should consider the following:
1. Inclusion of development plans.
2. The quality requirements related to the
products and / or processes.
3. The quality management systems adapting or
identifying the specific processes and
instructions appropriate to the scope of the
quality manual and some exposed exclusions.
4. Specific project processes and instructions, such
as, software testing specification, detailing plans,
designs, test cases and processes for unit,
integration, systems, and acceptance testing.
5. Methods, models, tools, programming
language conventions, libraries,
frameworks, and other reusable
components to be used in projects.
6. The criteria for the beginning and
end of each phase or project.
7. The types of analysis and other
verifications and verification activities
to be carried out.
8. Configuration management
processes together with follow-up
activities and actions to be carried
out.
9. The persons responsible for approving
the exit processes for their later use.
10. The necessary training for the use of tools,
techniques and the organization of the training prior
to the necessary skill.
11. Records to be kept and change management, such
as for resources, timescales and contract changes.
QUALITY CONTROL
Quality control is a series of inspections, reviews and
tests that are used throughout the software process to
ensure that each product meets the requirements that
have been assigned to it. Quality control includes a
feedback loop from the process that created the product.
THE ISO / IEC 25000 FAMILY OF
STANDARDS
ISO / IEC 25000, known as SQuaRE (System and Software
Quality Requirements and Evaluation), is a family of
standards whose objective is to create a common
framework for evaluating the quality of the software
product.
ISO / IEC 2500n - Quality Management Division
The standards that make up this section define
all the common models, terms and definitions
referenced by all the other standards of the
25000 family. Currently this division is made up
of:
• ISO / IEC 25000 - Guide to SQuaRE: Contains the
SQuaRE architecture model, family terminology, a
summary of the parts, intended users and
associated parts, as well as reference models.
• ISO / IEC 25001 - Planning and Management:
establishes the requirements and guidelines to manage
the evaluation and specification of the software
product requirements.