Software Quality Assurance ensures that
the developed software complies with the specified functional requirements. SQA
is a continuous process performed all throughout the Development Life Cycle to
check that the software under development meets the standard quality measures.
It very clearly and adequately defines
and expresses the problems and their solutions. Its main activities are process
definition, process implementation, auditing and training.
SoftwareQuality Assurance is practiced regardless of the development model
being followed. It implements testing methods and checks for the quality of the
software in each of its development phase. It involves monitoring and improving
the development process and makes sure that the problems found have been dealt
with.
It
addresses the following issues:
-
The developed software
is a physical realization of the customer requirements.
-
The software can be
verified as per the physical realization.
-
The development costs,
including testing, debugging and
redevelopment are visible and readily categorized.
-
The benefit of the
software is visible to its customer/user.
To identify the costs and benefits of a
software, a number of software characteristics are defined which have been termed
as quality attributes. The common definition of these software quality
attributes was developed by Robert Grady at HP. This is known as the FURPS
Model. This model has been defined to allow each characteristic of the software
to be measurable by Quality Assurance.
The following characteristics have been
defined under the FURPS Model.
Functionality:
This represents the main features of the software as described in the
requirement specification.
Usability:
This includes factors such as accessibility,
consistency and interface aesthetics in the user interface.
Reliability:
This considers aspects such as
availability, accuracy and recoverability.
Performance:
This evaluates aspects such as startup time,
recovery time, system response time and throughput of information.
Supportability: This supports testability, adaptability,
compatibility, scalability etc.
This plan for quality assurance also
refers to other development plans of other supporting processes. These
different plans include -
1. Documentation Plan
2. Measurement Plan
3. Risk Management Plan
4. Problem Resolution Plan
5. Software Development Plan
6. Configuration Plan
7. Test Plan
A Project Manager may not actually
define the project goals, but he ensures that these goals are clearly defined,
agreed by the client and included in the Software Requirement Specifications
without fail. Having a predefined policy statement of quality, by the
development company, also forms the base for these definitions. These specifications should be defined in
quantifiable terms wherever possible. The role and responsibilities of the
organization in achieving these goals should also be well defined.
Conclusion
Software Quality Assurance considers management, development and
maintenance plans. It also contains acceptance criteria as well as the
reporting activities critical to the software quality. ISO9000 is the
international standard used by many companies to ensure that the quality
assurance system in practice is actually effective.

No comments:
Post a Comment