SEN 301 Lecture Note 4
SEN 301 Lecture Note 4
Software Testing
7.1 TESTING AND QUALITY ASSURANCE
Once a program code is written, it must be tested to detect and subsequently handle
all errors in it. A number of schemes are used for testing purposes.
Another important aspect is the fitness of purpose of a program that ascertains
whether the program serves the purpose which it aims for. The fitness defines the
software quality.
7.1.1. Testing Object-Oriented Systems
Testing is a continuous activity during software development. In object-oriented
systems, testing encompasses three levels, namely, unit testing, subsystem testing,
and system testing.
7.1.2. Unit Testing
In unit testing, the individual classes are tested. It is seen whether the class attributes
are implemented as per design and whether the methods and the interfaces are error-
free. Unit testing is the responsibility of the application engineer who implements
the structure.
7.1.3. Subsystem Testing
This involves testing a particular module or a subsystem and is the responsibility of
the subsystem lead. It involves testing the associations within the subsystem as well
as the interaction of the subsystem with the outside. Subsystem tests can be used as
regression tests for each newly released version of the subsystem.
7.1.4. System Testing
System testing involves testing the system as a whole and is the responsibility of the
quality-assurance team. The team often uses system tests as regression tests when
assembling new releases.
Software Quality
Schulmeyer and McManus have defined software quality as “the fitness
for use of the total software product”. A good quality software does
exactly what it is supposed to do and is interpreted in terms of
satisfaction of the requirement specification laid down by the user.