System Testing Techniques. System testing is often referred to
as “testing the whole system.” Translated literally, that could mean that
every input or output condition in the software needs to be tested for every
possible logical path through the code. Even in a small system this task could
become quite lengthy. In a large, complex system, it would be prohibitively
time-consuming and expensive.
The system test organization must develop a strategy for testing
a particular system and determine the amount of test coverage required. There
is no cookbook for doing so. In a small noncritical system, a very low degree
of test coverage may be acceptable. High coverage is needed in a critical
software system involving human life. The testers must decide the best plan
based on system characteristics, the environment in which the software system
will operate, and the testers’ experience.
In general, software system testing is done using black box
testing. The tester, viewing the system as a black box, is not concerned with
the internals, but rather is interested in finding if and when the system does
not behave according to its requirements.
One technique often used for identifying specific test cases is
called equivalence partitioning. In this method, an equivalence class is
identified so that one test case covers a number of other possible test
Boundary analysis is another technique used in which testing is
performed on all the boundary conditions. This method tests the upper and
lower boundaries of the program. In addition, it is usually wise to test
around the boundaries.
A third technique that should always be applied to the testing
of a program is called error guessing. With this method, testers use their
intuition and experience to develop specific test cases. A good system tester
is usually very effective at doing this.