From IEEE Software Engineering Standards Collection:
Software unit testing is a process that includes the performance of test planning, the development of a test set, and the measurement of a test unit against its requirement. measuring entails the use of sample data to exercise the unit and the comparison of the unit’s actual behaviour with its required behaviour as specified in the unit’s requirement documentation. This standard defines an integrated approach to systematic and documented unit testing. The approach uses unit design and unit implementation information, in addition to unit requirements, to determine the completeness of the testing. The standard describes a testing process composed of a hierarchy of phases, activities, and tasks. Further, it defines a minium set of tasks for each activity, although additional tasks may be added to any activity.