Sqa Unit-1
Sqa Unit-1
Sqa Unit-1
UNIT I
Introduction to software quality
What is software?
An accumulation of programming language instructions and
statements or development tool instructions that together form a program
or software package. This program or software package is usually referred
to as the “code”.
Software – IEEE definition
Software is:
Computer programs, procedures, and possibly associated
documentation and data pertaining to the operation of a computer system.
The IEEE definition of software, which is almost identical to the
ISO definition lists the following
Four components of software:
■ Computer programs (the “code”)
■ Procedures
■ Documentation
■ Data necessary for operating the software system.
All four components are needed in order to assure the quality of the
software development process and the coming years of maintenance
services for the following reasons:
■ Computer programs (the “code”) are needed because, obviously,
they activate the computer to perform the required applications.
■ Procedures are required, to define the order and schedule in which
the programs are performed, the method employed, and the person
responsible for performing the activities that are necessary for applying
the software.
■ Various types of documentation are needed for developers, users
and maintenance personnel.
■ Data including parameters, codes and name lists that adapt the
software to the needs of the specific user are necessary for operating the
software. Another type of essential data is the standard test data, used to
ascertain that no undesirable changes in the code or software data have
occurred, and what kind of software malfunctioning can be expected.
Software errors, faults and failures
The origin of software failures lies in a software error made by a
programmer.
An error can be a grammatical error in one or more of the code lines,
or a logical error in carrying out one or more of the client’s requirements.
However, not all software errors become software faults. In other
words, in some cases, the software error can cause improper functioning
of the software in general or in a specific application.
In many other cases, erroneous code lines will not affect the
functionality of the software as a whole; in a part of these cases, the fault
will be corrected or “neutralized” by subsequent code lines.
We are interested mainly in the software failures that disrupt our use
of the software. This requires us to examine the relationship between
software faults and software failures.
Do all software faults end with software failures?
Not necessarily: a software fault becomes a software failure only
when it is “activated” – when the software user tries to apply the specific,
faulty application.
In many situations, a software fault is never activated due to the
user’s lack of interest in the specific application or to the fact that the
combination of conditions necessary to activate the fault never occurs.
SOFTWARE ERRORS, SOFTWARE FAULTS AND SOFTWARE FAILURES