Testing a large
system is a complex activity and like any complex activity. It has to be broke
into smaller activities. Thus incremental testing was performed on the project
i.e., components and subsystems of the system were tested separately before
integrating them to form the subsystem for system testing.
7.2.1
Unit Testing
Unit testing focuses on the
building blocks of the software system that is the objects and subsystems. There are three motivations behind focusing
on components. First unit testing reduces the complexity of overall test
activities allowing focus on smaller units of the system, second unit testing
makes it easier to pinpoint and correct faults given that few components are
involved in the rest. Third unit testing
allows parallelism in the testing activities, that is each component are
involved in the test. Third unit testing
allows parallelism in the testing activities that is each component can be
tested independently of one another.
The following are some unit testing
techniques.
Equivalence
Testing: It is a black box testing technique that minimizes the
number of test cases. The possible
inputs are partitioned into equivalence classes and a test case is selected for
each class. In this project, the system
is divided into equivalence classes and tested.
Boundary
Testing: It is a special case of equivalence testing and focuses on
the conditions at the boundary of the equivalence classes. Boundary testing
requires that the elements be selected from the edges of the equivalence
classes. In this project the system
shows an error message when no machine or job is selected.
Path
Testing: It is a white box testing technique that identifies faults
in the implementation of the component the assumption here is that exercising
all possible paths through the code at least once. Most faults will trigger failure. This
acquires knowledge of source code.
No comments:
Post a Comment