This section will deal with software testing and the unit test in particular. Unit testing takes the smallest part of software practical and validates its function. The unit test must be planned and documented according to what is called the unit test plan. The software that usually is produced to perform the unit test is called the test harness—software that has stubs and functions that can call on and respond to any functionality in the unit being tested.