Software Quality Engineering
BS(SE)-VI
Dr. Assad Abbas
Department of Computer Science
2
9/22/20
Topics
n
Software Quality Assurance (SQA)
5
Definition
5
Importance
5
Objectives
5
Elements
3
9/22/20
Software Quality Assurance (SQA)
n
Software Quality Assurance (SQA) consists of
a means of monitoring
the
software engineering processes and
methods
used to ensure quality.
n
The
methods
by which this is accomplished are many and varied, and
may include ensuring conformance to one or more standards, such as
ISO 9000 or a model such as CMMI.
n
SQA encompasses the
entire
software development process
5
such as requirements definition, software design, coding, source
code control, code reviews, software configuration management,
testing, release management, and product integration.
n
SQA is organized into goals, commitments, abilities, activities,
4
9/22/20
SQA
n
Software quality assurance, according to ISO/IEC
15504 v.2.5 ((Software Process Improvement and
Capability dEtermination)(SPICE), is a
supporting
process
that has to provide the
independent
5
9/22/20
SQA– The IEEE definition
n
Software quality assurance is:
1.
A
planned
and
systematic pattern
of all
actions
necessary
to provide adequate
confidence
that an item or product
conforms to established technical requirements.
6
9/22/20
SQA – Expanded definition
n
Software quality assurance is:
5
A
systematic, planned set of actions
necessary to
provide adequate confidence that the
software
development process
or the
maintenance
process
of
a software system product conforms to established
functional technical requirements as well as with the
managerial
requirements
of keeping the
schedule
7
9/22/20
8
9/22/20
9
9/22/20
The Objectives of SQA
n
The objectives of SQA activities refer to the functional, managerial
and economic aspects of software development and software
10
9/22/20
SQA: Concepts
1.
Software Quality Assurance
–
establishment
of network of
organizational procedures and standards leading to high-quality
software
2.
Software Quality Planning
–
selection
of appropriate procedures
and standards from this framework and adaptation of these to
specific software project
3.
Software Quality Control
–
definition and portrayal
of processes
that ensure that project quality procedures and standards are being
followed by the software development team
4.
Software Quality Metrics
–
collecting and analyzing
quality data to
11
9/22/20
12
9/22/20
Elements of SQA
n
Standards
n
Reviews and audits
n
Testing
n
Error/defect collection and analysis
n
Change management
n
Education
n
Vendor management
n
Security management
n
Safety
13
9/22/20
SQA Activities
n
The charter of the SQA group is to assist the software team in achieving
a high quality end product. The Software Engineering Institute
recommends a set of SQA activities that address quality assurance
planning, oversight, record keeping, analysis and reporting.
n
It is these activities that are performed (or facilitated) by an independent
SQA group that
5 Prepares an SQA plan for a project
5 Participates in the development of the project’s software process description 5 Reviews software engineering activities to verify compliance with the
defined software process
5 Audits designated software work products to verify compliance with those defined as part of the software process
14
9/22/20
n
Prepares an
SQA plan
for a project
5
The plan is developed during project planning and is
reviewed by all interested parties. Quality assurance
activities performed by the software engineering team and
the SQA group are governed by the plan.
5
The plan identifies many important aspects of QA
summarized below:
g
Evaluations to be performed
g
Audits and reviews to be performed
g
Standards that are applicable to the project
g
Procedures for error reporting and tracking
g
Documents to be produced by the SQA group
g
Amount of feedback provided to software project team
15
9/22/20
SQA Activities
n
Participates in the
development
of the project’s software
process description
5 The software team selects a process for the work to be performed. 5 The SQA group reviews the process description for compliance with
organizational policy, internal software standards, externally imposed standards (e.g. ISO-9001) and other parts of the software project plan.
n
Reviews
software engineering activities
to verify compliance
with the defined software process
5 The SQA group reviews selected work products, identifies, and tracks deviations.
n
Audits designated
software work products
to verify compliance
with those defined as part of the software process
16
9/22/20
n
Ensures that
deviations
in software work and work products
are documented and handled according to a documented
procedure
5
Deviations may be encountered in the project plan, process
description, applicable standards or technical work products
n
Records any noncompliance and reports
to senior
management
5
Noncompliance items are tracked until they are resolved.
17
9/22/20
Class Activity 1
n George Wise is an exceptional programmer. Testing his software modules
reveals very few errors, far fewer than the team’s average. He keeps his schedule promptly, and only rarely is he late in completing his task. He always finds original ways to solve programming difficulties, and uses an original, individual version of the coding style. He dislikes preparing the required documentation, and rarely does it according to the team’s templates.
n A day after completing a challenging task, on time, he was called to the office
of the department’s chief software engineer. Instead of being praised for his accomplishments (as he expected), he was warned by the company’s chief software engineer that he would be fired unless he began to fully comply with the team’s coding and documentation instructions.
1. Do you agree with the position taken by the department’s chief software
engineer?
18
9/22/20
References
1.
Software Quality Engineering Testing, Quality