Unit Test Plan

BURN

Micah Taylor
Brandon Invergo
Aydrian Howard

Unit Testing Methods


Interfaces:

Each module must first be tested to verify that the data entering and exiting is valid. This should be tested using drivers and stubs as needed. Other modules may be used as drivers or stubs if they have already been tested. If writing drivers and stubs would require an inordinate amount of time, the programmer may choose not to write them and instead to test the interfaces later in a higher level test.

Data Structures:

Each data structure's maximum size must be tested and attempted to be bypassed. In conjunction with loops, upper and lower bounds of the data structure must be verified for data integrity.

Boundaries:

Boundaries on all conditionals and data structures should be checked for errors. These structures should be tested below, at, and above the absolute extremes when possible.

Path Testing:

Each possible termination state of the module must be manually verified. Branches that involve ranges of values must have the boundaries on the ranges verified. Branches that rely on many independent conditions must be tested with all possible inputs. Loops must have termination state verified by testing.

Error Handling:

Each possible error message must be verified to occur under defined error cases. The error message reached for each case must present the failure in such means that the problem may be diagnosed and repaired.

Unit Test Logging

Each module's results in each of the above sections must be noted as either pass or fail and any special results must also be recorded in a log file. These log files will are to be stored in the "logs" directory on the server. Filename should be in 'UnitTest_UnitName.html" format, where 'UnitName' is the name of the unit.

To Do List

Nothing at the moment.

Revision History


Date Name Revision
2003-03-24 Micah Taylor Initial construction
2003-03-25 Micah Taylor Fixed some spelling errors
2003-03-27 Micah Taylor Added some crap from the review meeting.