31 - SW Quality Assurance
31 - SW Quality Assurance
31 - SW Quality Assurance
CSC782
SOFTWARE QUALITY
SOFTWARE QUALITY
ASSURANCE
Version 3.0
REALITY CHECK
Is an SQA plan just busy-work, or does it
really pay off?
Hughes Aircraft
moved from level 2 in 1987 to level 3 in 1990
cost = $500K
benefit = $2M annually
Raytheon
moved from level 1 in 1988 to level 3 in 1993
productivity doubled
ROI = $7.70 per $1 invested
WHAT IS SQA?
Software Quality Assurance is an establishment of
network of organizational procedures and standards
leading to high-quality software, which include
Software Quality Planning selection of appropriate
procedures and standards from this framework and
adaptation of these to specific software project
Software Quality Control definition and enactment of
processes that ensure that project quality procedures and
standards are being followed by the software
development team
Software Quality Metrics collecting and analyzing
quality data to predict and control quality of the software
product being developed
QUALITY REVIEWS
Quality Reviews - in-process reviews of
processes and products. Reviews are the
most widely used method of verifying the
quality of processes and products. Reviews
make quality everyone's responsibility.
Quality must be built-in. SQE is responsible
for writing Quality Engineering Records
(QERs) documenting their participation in
these reviews.
TEST
Tests - end-result validations of products.
These validations are conducted after the
software has been developed. Test
procedures are followed during conduct of
these activities. SQE is responsible for
keeping the logs and some times for writing
the test report.
QUALITY AUDITS
Quality Audits - in-process verifications of
processes. These audits are conducted
periodically (twice a month) to assess
compliance to the process STDs.
SOFTWARE METRICS
Software measurement - the process of deriving a
numeric value for some attribute of a software
product or a software process. Comparison of
these values to each other and to (SVVP &) STDs
allows drawing conclusions about the quality of
software products or the process.
The focus of the metrics collecting programs is
usually on collecting metrics on program defects
and the V&V process.
Metrics can be either Process Metrics or Poduct
Metrics
SOFTWARE METRICS
Most of the Ilities can not be measured directly
unless theres historical data. Instead tangible
software product attributes are measured and the
Ility factors are derived using predefined
relationships between measurable and synthetic
attributes.
The boundary conditions for all measurements
should be established in advance and then revised
once a large databank of historical data has been
established
Intermission.
..
SQA COMPONENTS
1.
2.
3.
4.
5.
6.
Pre-Project Components
Development and Maintenance Activities
Error Reduction Infrastructure
SQ Management Components
SQA System Assessment
Human Components
PRE-PROJECT COMPONENTS
Contract Review
Development and Quality Plans
Development Plans
Schedules
manpower requirements
Tools
Quality Plans
measurable quality goals
success criteria for each project phase
scheduled V&V activities
LIFE-CYCLE COMPONENTS
Software Testing
Reviews
varying levels of formality
specs, designs, code modules, documents, etc
Maintenance
Corrective
Adaptive
functional
MANAGEMENT COMPONENTS
Project Progress
schedules, budgets, risk analysis,
Quality Metrics
Quality Costs
SQA ASSESSMENT
Quality Management Standards
SEI CMM
ISO 9001
Process Standards
IEEE 1012
ISO 12207
HUMAN COMPONENTS
Management
SQA Unit
SQA committees and forums
2. Repeatable
tracks costs, has a schedule
similar projects can repeat earlier successes
3. Defined
process in documented and standardized
4. Managed
detailed process and product measurements
5. Optimizing
continuous process improvement
ISO 15504
SPICE = Software Process Improvement
Capability Determination
framework for process improvement similar
to SEI CMM(I)
ISO 9000
ISO 9000 seeks to set criteria which achieve a
goal and is not prescriptive as to methods. The
requirements come in Sections 4 to 8.
Section 4 - General Requirements
Section 5 - Management Responsibility
Section 6 - Resource Management
Section 7 - Product Realization
Section 8 - Measurement, analysis and
improvement
In each of these areas, ISO 9001: 2000 seeks to set
ISO 12207
ISO 12207 is an ISO standard for software life cycle
processes.
Standard ISO 12207 establishes a process of life
cycle for software, including processes and activities
applied during the acquisition and configuration of the
services of the system. The standard has the main
objective of supplying a common structure so that the
buyers, suppliers, developers, maintainers, operators,
managers and technicians involved with the software
development use a common language. This common
language is established in the form of well defined
processes.
SQA
Thank You