Requirements testing must verify that the system can perform its function correctly and that the correctness can be over a continuous period of time. Unless the system can function correctly over an extended period of time, management will not be able to rely upon the system. The system can be tested for correctness throughout the life cycle, but it is difficult to test the reliability until the program becomes functional.
Testing according find bugs; whereas debugging is done to find the origin of the bugs and fix them.characterizes testing as either functional or structural.Functional testing treats the program from the user's point of view, with inputs given to the program, and then the outputs are checked for conformance to a specified reference.
Structural testing examines how the program is implemented, in terms of programming style, design, etc. The notion of as any program or process that specifies the expected outcome of a collection of tests.