More info
Description / Abstract:
Inside the Scope
Software unit testing is a process that includes the performance
of test planning, the acquisition of a test set, and the
measurement of a test unit against its requirements. Measuring
entails the use of sample data to exercise the unit and the
comparison of the unit's actual behavior with its required behavior
as specified in the unit's requirements 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.
This standard describes a testing process composed of a
hierarchy of phases, activities, and tasks and deÞnes a minimum set
of tasks for each activity. Additional tasks may be added to any
activity.
This standard requires the performance of each activity. For
each task within an activity, this standard requires either that
the task be performed, or that previous results be available and be
reveriÞed. This standard also requires the preparation of two
documents speciÞed in ANSI/IEEE Std 829-1983 [2] 1 . These
documents are the Test Design Specification and the Test Summary
Report.
General unit test planning should occur during overall test
planning. This general unit test planning activity is covered by
this standard, although the balance of the overall test planning
process is outside the scope of this standard.
This standard may be applied to the unit testing of any digital
computer software or firmware. However, this standard does not
specify any class of software or Þrmware to which it must be
applied, nor does it specify any class of software or Þrmware that
must be unit tested. This standard applies to the testing of newly
developed and modiÞed units. This standard is applicable whether or
not the unit tester is also the developer.
1 The numbers in brackets correspond to the
references listed in 1.3 of this standard.
Outside the Scope
The results of some overall test planning tasks apply to all
testing levels (for example, identify security and privacy
constraints). Such tasks are not considered a part of the unit
testing process, although they directly affect it.
While the standard identiÞes a need for failure analysis
information and software fault correction, it does not specify a
software debugging process.
This standard does not address other components of a
comprehensive unit verification and validation process, such as
reviews (for example, walkthroughs, inspections), static analysis
(for example, consistency checks, data ßow analysis), or formal
analysis (for example, proof of correctness, symbolic
execution).
This standard does not require the use of specific test
facilities or tools. This standard does not imply any particular
methodology for documentation control, conÞguration management,
quality assurance, or management of the testing process.