(SQA) Chapter One
(SQA) Chapter One
Introduction to SQA
Compiled by Moti T 1
Contents
Terms such as good quality, bad quality, and quality of life show how people talk about something
vague(unclear), which they don't intend to define
– The implication is that quality cannot be controlled and managed, nor can it be quantified in contrast
to the professional view of quality.
Compiled by Moti T 3
Professional view
4
Cont..
"Conformance to requirements" implies that requirements must be
5
– If a Samsung mobile phone also conforms to all
cost and performance but if both satisfy the standards set for
them, then they are both quality mobiles.
6
Cont..
The "fitness for use" definition takes customers' requirements and
expectations into account, which involve whether the products or
services fit their uses.
7
Cont..
• The two definitions of quality (conformance to requirements
and fitness for use), therefore, are essentially similar.
• The difference is that the fitness for use concept implies a
more significant role for customers' requirements and
expectations.
8
Cont..
In a profession of software development, there is an ethical imperative to
quality.
• Quality is not just a marketing and perception issue, it is a moral and legal
software we create
9
Cont..
Product quality is spoken in terms of:
10
What is software quality?
Software Quality is the conformance to explicitly stated functional and performance
requirements, explicitly documented development standards, and implicit characteristics that
are expected of all professionally developed software.
[Pressman’s definition].
According to IEEE (Institute of Electrical and Electronics Engineers), software quality has the
following definitions:
11
Cont..
Software quality is normally spoken in terms of several different dimensions often called
quality parameters/factors.
12
Cont..
NOTE:
13
Cont..
2. Software developing organizations continuously improve their
process models, which has a cost associated with it.
14
Cont..
Technical Quality Parameters
15
Cont..
– Maintainability - is easy to change and adapt to new requirements •
Mb of memory, etc.)
16
Cont..
User Quality Parameters
installation).
17
Cont..
– Documentation - is well documented
documentation)
access problems)
18
Software quality assurance
Product and software quality does not happen by accident, and quality is not
something that can be added on after the development of a product.
To achieve quality, we must plan for it from the beginning, and continuously
monitor it day to day
Methods and disciplines for achieving quality results/products are the study
of Quality Assurance
19
Software Quality Assurance [IEEE definitions]:
20
Software is:
[IEEE definition]
-- Procedures
-- Documentation
21
Common terminologies in SQA
Fault:
Error:
Failure:
– A failure is said to occur whenever the external behavior of a system does not
conform to that prescribed in the system specification.
-- deviation of the service from the correct service
22
Testing: is the process of evaluating software by observing its execution
23
Software Errors, Faults and Failures
Software errors are sections of the code that are partially or totally incorrect
as a result of a grammatical, logical or other mistake made by a systems
analyst, a programmer, or another member of the software development
team.
Software faults are software errors that cause the incorrect functioning of
the software during a specific application.
Software faults become software failures only when they are “activated”,
that is, when a user tries to apply the specific software section that is faulty.
Thus, the root of any software failure is a software error.
24
The nine causes of software errors
5. Coding errors
8. Procedure errors
9. Documentation errors
25
Cont..
– Incomplete requirements.
illegal operations,...)
27
Cont..
5. Coding errors
etc.
28
Cont..
8. Procedural errors
29
Cont..
9. Documentation errors
30
Famous software errors
Airane 5 Rocket (1996)
Mariner 1 (1962)
31
– Disaster: The Mariner 1 rocket diverted from its intended flight path
shortly after launch.
-- Money
-- Reputation/credibility of organizations
-- Loss of life
32
Activities for SQA
A software failure is inevitable (unavoidable). Software never
completely works. But we have to make a software that is good
enough.
– Static analysis
– Dynamic analysis
33
Static analysis
– Based on the examination of a number of documents. It does not involved actual execution of
the code under development.
Dynamic analysis
– Includes: testing
• McCall's Quality Factors have been grouped into three broad categories as follows:
• Factors that deal with requirements that directly affect the daily operation of the software.
• Factors that deal with requirements that affect the adaptation of software to other platforms,
environments, interaction with other software.
35
36
37