Software Quality Assurance presentation.

mairabutt0124 35 views 19 slides Oct 04, 2024
Slide 1
Slide 1 of 19
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19

About This Presentation

software quality assurance


Slide Content

Outline
1

Quality Management (chapter 26-pressman)
What is quality?
Meaning of Quality in Various Context
Some quality concepts
SQA
SQA activities

Quality Management
2

Quality Management (often called Software Quality
Assurance) is an umbrella activity that is applied through out
the software process.

Every one involved in software engineering process is
responsible for quality.

Emphasis/importance on quality in all software engg.
activities reduces the amount of rework that the software
engg. team must do
this eventually lowers costs, improves time to market

The team must identify SQA activities that will filter errors out
of the work products before they are passed on. But before
doing so,
they must define software quality at different levels of abstraction
SQA Plan is created to define the quality strategy of the team

Quality Management
3
It encompasses
Software quality assurance process
Specific quality assurance & quality control tasks (including
FTRs and testing strategies)
Effective SE practice (methods & tools)
Control of all software work products & changes made to
them
A procedure to ensure compliance with software dev.
Standards
Measurement & reporting mechanism

What is Quality?
4

British Standard Institute’s definition
Quality is totality of features & characteristics of a
product or service which relate on its ability to satisfy a
given need

American Heritage Dictionary definition
Quality is characteristic or attribute of something

Quality of Software
Quality of Software is software that does what it is
supposed to do
customer dissatisfaction is lack of quality

Meaning of Quality in Various Context
5
In Manufacturing
Quality means that the developed product should meet
its specification
In Software Development
Quality would mean that a software product conforms
to its specification
Software specification should be oriented towards customer
requirements.
There may be some implicit requirements like maintainability,
usability, etc. but they are not included in the specification

Meaning of Quality in Various Context
6
Practically , its very difficult to write complete software
specifications/ characteristics
Therefore, although the product conforms to its
specifications, it may not satisfy the customer as hence
may not be considered as a high quality product

Another school of thought …
7

Quality can be achieved by defining standards &
organizational quality procedures that check that
these standards are followed by the software
development team

Besides standards & procedures there are intangible
aspects also involved in software quality like
elegance, readability, etc.

Quality Concepts
8

Quality of design
Refers to the characteristics that designers specify for an item
Focuses on requirements, specifications & design of system

Quality of conformance
Is the degree to which the design specifications are followed during
manufacturing
Focuses primarily on implementation

User satisfaction
Robert Glass suggested the following relationship:
Compliant product + good quality + delivery within budget & schedule

Quality Concepts
9

Quality Control
Definition & enhancement of processes that ensure the software
development team has followed project quality procedures &
standards
Quality Control is a series of inspections, reviews & tests used
through out the development cycle to ensure that each work
product meets the requirements placed on it
It includes feed-back loop to the process that created the work
product
The combination of measurement & feedback helps to fine tune
the process when work products fail to meet their specification

Quality Concepts
10

Quality Assurance
The process of defining how software quality can be
achieved & how the development organization knows
that the software has the required level of quality
It involves establishment of a framework of
organizational procedures & standards that lead to high
quality software
It consists of a set of auditing & reporting functions that
assess the effectiveness of quality control activities.
The aim is to provide management with facts & figures
and proofs that product quality is meeting its goals

Quality Concepts
11

Variation Control
Variation control is the heart of quality control
Variation control may be equated to quality control
Manufacturers aim to minimize the variation among the
products that are produced
For software projects, from one project to another, we
may want to minimize the difference between predicted
resources needed to complete project and actual
resources used, including staff, equipment, and calendar
time

Quality Concepts
12

Cost of Quality
It includes all costs incurred in performing quality related
activities
Cost of quality studies are conducted to
Provide a baseline for current cost of quality
Identify opportunities for reducing cost of quality
Provide normalized basis of comparison (usually in dollars)
Quality costs are divided into
Prevention costs
Appraisal costs
Failure costs

Quality Concepts
13

Quality costs
Prevention costs relate to
Quality planning
Formal technical reviews
Test equipment
training
Appraisal costs relate to
Activities to gain insight into product – “first time through” each
process, e.g.,
In-process and inter process inspection
Equipment calibration &maintenance
testing

Quality Concepts
14

Quality costs
Failure costs
Those that would disappear if no defects appeared before
shipping a product to customer
Failure costs subdivided into 2 types
Internal failure costs (related to defects found before product is
shipped)

Rework, repair & failure analysis mode
External failure costs (related to defects found after product is
shipped)

Complaint resolution, product return and replacement,
helpline support & warranty work

Relative cost of correcting an
error
Refer to figure 26.1
0
20
40
60
80
100
120
140
160
180
200
Req.DesignCode Dev.
Test
System
test
Field Op
15

Software Quality Assurance
16
Although there are many definitions of quality but for our
purposes, software quality is:

Conformance to …
the explicitly stated functional & performance requirements,
explicitly documented development standards &
implicit characteristics that are expected of all professionally
developed software

This definition emphasizes on 3 important points
S/W requirements – a foundation from which quality is measured
Standards – define development criteria against which S/W is
engineered
Implicit requirements – often go unmentioned but if not met, can cause
suspicion in quality

Who does it?
17

Prior to 20
th
Century
SQA was responsibility of the craftsperson

During 1950s and 1960s
Responsibility of programmer

Today responsible ones are …
S/W Engrs. (Apply technical methods & measures, Conduct FTRs & perform
planned testing)
Project managers
Customers
Sales Person
SQA group (Serves as customer’s in-house representative, Looks at S/W
from customer’s point of view, Assists the S/W Engrs team to achieve
quality)

SQA
18
SQA is an activity that is applied throughout the software
process and not after the software has been developed
SQA covers the following
Quality management approach
Effective s/w engineering technology (methods & tools)
Formal technical reviews (applied throughout the process)
A multi-tiered testing strategy
Control of software documentation & changes made to it
A procedure to assure compliance with software development standards
Measurement & reporting mechanism

SQA Group & SQA Activities
19

SQA group is responsible for QA planning, oversight, record
keeping, analysis and reporting

SEI recommends the following set of SQA group activities:
Prepares an SQA plan for project
Participates in the development of project’s software process
description
Reviews s/w engg activities to verify compliance with defines s/w
process
Audits designated s/w work products to verify compliance
Ensures that deviations in s/w work & work products are
documented
Records any non compliance & reports to senior management

SQA groups also participates in change management & help
to collect & analyze s/w metrics
Tags