- 10.1 Software quality attributes
- 10.2 Quality factors
- 10.3 Quality control
- 10.4 Quality assurance
- 10.5 Software quality assurance
- 10.6 Software safety
- 10.7 The ISO 9000 model
- 10.8 SEI capability maturity model
- 10.9 Verification and validation
Software Quality Attributes are features that
facilitate the measurement of performance of a
software product by Software Testing
professionals, and include attributes such as
availability, interoperability, correctness, reliability,
learnability, robustness, maintainability, readability,
extensibility, testability, efficiency, and portability.
High scores in Software Quality
Attributes enable software architects to guarantee
that a software application will perform as the
specifications provided by the client.
#1) Reliability
Measure if the product is reliable enough to sustain
in any condition. Should give the correct results
consistently. Product reliability is measured in terms
of working of the project under different working
environments and different conditions.
#2) Maintainability
Different versions of the product should be easy to
maintain. For development, it should be easy to add
code to the existing system, should be easy to
upgrade for new features and new technologies from
time to time.
#3) Usability
This can be measured in terms of ease of use. The
application should be user-friendly. It should be easy
to learn. Navigation should be simple.
#4) Portability
This can be measured in terms of Costing issues
related to porting, Technical issues related to
porting, and Behavioral issues related to porting.
#5) Correctness
The application should be correct in terms of its
functionality, calculations used internally and the
navigation should be correct. This means that the
application should adhere to functional
requirements.
#6) Efficiency
It is one of the major system quality attributes. It is
measured in terms of time required to complete any
task given to the system. For example, the system
should utilize processor capacity, disk space, and
memory efficiently.
#7) Integrity or Security
Integrity comes with security. System integrity or
security should be sufficient to prevent unauthorized
access to system functions, prevent information loss,
ensure that the software is protected from virus
infection, and protect the privacy of data entered
into the system.
#8) Testability
The system should be easy to test and find defects. If
required, it should be easy to divide into different
modules for testing.
#9) Interoperability
Interoperability of one system to another should be
easy for the product to exchange data or services
with other systems. Different system modules should
work on different operating system platforms,
different databases, and protocol conditions.
What is Quality Control?
Quality control is a set of methods used by
organizations to achieve quality parameters or
quality goals and continually improve the
organization's ability to ensure that a software
product will meet quality goals.
The three class parameters that control software quality are:
- Products
- Processes
- Resources
- The total quality control process consists of:
- Plan - It is the stage where the Quality control processes are planned
- Do - Use a defined parameter to develop the quality
- Check - Stage to verify if the quality of the parameters are met
- Act - Take corrective action if needed and repeat the work
Quality Control characteristics:
Process adopted to deliver a quality product to the
clients at best cost.
Goal is to learn from other organizations so that
quality would be better each time.
To avoid making errors by proper planning and
execution with correct review process.
Quality Assurance:
- Quality Assurance is the preventive set of activities that provide greater confidence that the project will be completed successfully.
- Quality Assurance focuses on how the engineering and management activity will be done?
- As anyone is interested in the quality of the final product, it should be assured that we are building the right product.
- It can be assured only when we do inspection & review of intermediate products, if there are any bugs, then it is debugged. This quality can be
Software Quality Assurance
Software quality assurance is a planned and
systematic plan of all actions necessary to provide
adequate confidence that an item or product
conforms to establish technical requirements.
A set of activities designed to calculate the process by
which the products are developed or manufactured.
SQA Encompasses
- A quality management approach
- Effective Software engineering technology (methods and tools) Formal technical reviews that are tested throughout the software process
- A multitier testing strategy
- Control of software documentation and the changes made to it.
- A procedure to ensure compliances with software development standards
- Measuring and reporting mechanisms.
- SQA Activities
- Software quality assurance is composed of a variety of functions associated with two different constituencies ? the software engineers who do technical work and an SQA group that has responsibility for quality assurance planning, record keeping, analysis, and reporting.
Following activities are performed by an independent SQA group:
- Prepares an SQA plan for a project: The program is developed during project planning and is reviewed by all stakeholders.
- Participates in the development of the project's software process description: The software team selects a process for the work to be performed
- Reviews software engineering activities to verify compliance with the defined software process: The SQA group identifies, reports, and tracks deviations from the process and verifies that corrections have been made.
- Audits designated software work products to verify compliance with those defined as a part of the software process:
- Ensures that deviations in software work and work products are documented and handled according to a documented procedure: Deviations may be encountered in the project method, process description, applicable standards, or technical work products.
- Records any noncompliance and reports to senior management: Non- compliance items are tracked until they are resolved.
Tags:
Software_Engineering