In addition to developing the test cases, supporting code must be developed to exercise each unit and to connect it to the outside world. Since the tester is considering a stand-alone function/procedure/class, rather than a complete system, code will be needed to call the target unit, and also to represent modules that are called by the target unit. This code called the test harness, is developed especially for test and is in addition to the code that composes the system under development. The role is of the test harness is defined as follows:
The auxiliary code developed to support testing of units and components is called a test harness. The harness consists of drivers that call the target code and stubs that represent modules it calls. The development of drivers and stubs requires testing resources. The drivers and stubs must be tested themselves to insure they are working prop-erly and that they are reusable for subsequent releases of the software. Drivers and stubs can be developed at several levels of functionality.