|
Testing
In software development process, errors can be injected at any stages during development. This is because of verification methods of earlier phases of development of software are manual. Hence the code developed during the coding activity is likely to have some requirement errors and design errors, in addition to errors introduced during the coding activity. During testing, the program to be tested is executed with a set of test cases, and the output of the program for the test cases is evaluated to determine if the programming is performing is expected.
Thus, testing is the process of analyzing a software item to detect the difference between existing and required conditions (i.e., bugs) and to evaluate the features of the software items. So, Testing is the process of analyzing a program with the intent of finding errors.
Some testing principles
- Testing can not show the absence of defects, only their presence.
- The earlier an error is made, the costlier it is.
- The later an error is detected, the costlier it is.
Now let us discuss some testing techniques:
White Box Testing
White box testing is a technique whereby all paths through the program are tested with every possible value. This approach requires some knowledge of how the program should behave. For example, if your program accepted an integer value between 1 and 50, a white box test would test the program with all 50 values to ensure it was correct for each, and then test every other possible value that an integer may take and test that it behaved as expected. Considering the number of data items a typical program may have, the possible permutations make white box testing extremely difficult for large programs.
White box testing may be applied to safety critical functions of a large program, and much of the rest tested using black box testing, discussed below. Because of the number of permutations, white box testing is usually performed using a test harness, where ranges of values are fed to the program rapidly through a special program, logging exceptions to the expected behavior. White box testing is sometimes referred to as structural, clear, or open box testing.
Black Box Testing
Black box testing is similar to white box testing, except rather than testing every possible value, selected values are tested. In this type of test, the tester knows the inputs and what the expected outcomes should be, but not necessarily how the program arrived at them. Black box testing is sometimes referred to as functional testing.
The test cases for black box testing are normally devised as soon as the program specifications are complete. The test cases are based on equivalence classes.
|
|