Software Unit Test Process Assessment Checklist
Date(s) of Assessment: _______              Project: ________________________________
 Assessor(s): _______________                Process Assessed: __ ______________________
 _________________________________________________________________________
                                                       Y, N,   F, O            Comments
                                                        NA
PROCESS ASSESSMENT PREPARATION
 1    Do standards and guidelines exist that
      clearly define the process?
 2    Has the project submitted any request for
      deviations or waivers to current standards or
      guidelines?
 4    Have entrance and exit criteria been
      established for the process assessment?
 5    Are processes documented and under
      configuration control?
 6    Was documentation required for the
      implementation of this process made
      available to the participants with ample time
      to review and prepare?
 7    Is there evidence that all
      stakeholders/participants were involved in
      the implementation of the process?
 8    Have all parties involved in the
      implementation of the assessed process
      received training on the process?
 9    Were there any constraints/limitations
      associated with the implementation of the
      process identified?
UNIT TEST CRITERIA\COMPLIANCE
10    Were the objectives of the unit test
      established:
10a   The strategies to be employed
10b   The coverage requirements,
10c   Reporting and analysis,
10d   Close-out of anomalies?
 Revision: 1.0                                                                             Page 1 of 4
 Y=Yes, N=No, NA=Not Applicable, F=Finding, O=Observation
                          Software Unit Test Process Assessment Checklist
                                                        Y, N,   F, O   Comments
                                                         NA
11    Has the unit test been designed to be a
      test that executes all of the code in the
      unit?
      Tip: Is there evidence that the unit
      test executed every statement in the
      unit, including all branches of
      conditional statements?
12    Does the unit test satisfy the
      requirement for full path coverage and
      boundary value testing?
13    Is there sufficient documentation on
      the unit test to make it clear what is
      being tested and the general test
      approach?
14    Has it been confirmed that anomalies
      during unit test are software
      anomalies, and not problems detected
      for other reasons?
15    Have comments in the source code
      been paired with comments in the unit
      test code to verify that all conditional
      branches have been tested and paths
      have been covered?
16    Was each conditional branch in the unit
      executed?
17    Were all operations that might cause
      erroneous execution (i.e., divide by zero,
      taking square root of negative number, etc.)
      proved impossible?
18               Were all parameters and inputs to
                 subprograms tested with nominal
                 values and with values at the
                 extremes by the algorithm, compiler,
                 and CPU?
19    Were changes to the module source code
      required to run unit test?
20    Is there documentation regarding the test
      environment the unit was tested on?
21    Is the unit test repeatable, and will identical
      results be produced?
22    Can the unit test be run automatically
      without user interaction?
 Revision: 1.0                                                                    Page 2 of 4
 Y=Yes, N=No, NA=Not Applicable, F=Finding, O=Observation
                         Software Unit Test Process Assessment Checklist
                                                        Y, N,   F, O        Comments
                                                         NA
 23    Have the data files used by the unit
       test been treated as source code for the
       purpose of Configuration
       Management?
 24            Do distinct elements of input vectors
               and matrices have distinct values for
               the purpose of catching indexing
               errors?
 25    Do inputs have distinct values?
       (If input’s order to an operation matter, the
       input’s should have distinct values to catch
       order errors.)
POST ASSESSMENT ACTIVITIES
 26    Are unit tests and test results stored in the
       software development folders or other
       artifact files?
 27    At the conclusion of the assessment, is
       an understanding reached between
       development, test, system engineering,
       QA, & CM on the validity and degree
       of completeness of the Unit Test
       process?
 28    Did all designated parties concur in
       the acceptability of the Unit Test
       process (i.e., was there a legitimate
       reason to deviate from the process)?
 29    Have all artifacts been placed under
       formal configuration control (e.g., unit
       test results, unit test logs)?
 30    Were Lessons Learned addressed and
       captured?
                                 REFERENCE ITEMS/DOCUMENTS
FSW Unit Test Standard, Flight Software Branch-Code 582, Version 1.03 – 09-25-03, 582-2000-
002
National Institute of Standards and Technology (NIST) Special Publication 500-223, A
Framework for the Development and Assurance of High Integrity Software, dtd12/94
Mil-Std-498 DID
NPR 7150.2, NASA Software Engineering Requirements (SWE-062)
  Revision: 1.0                                                                           Page 3 of 4
  Y=Yes, N=No, NA=Not Applicable, F=Finding, O=Observation
                      Software Unit Test Process Assessment Checklist
Date(s) of Assessment: ________________               Project: ________________________________
Assessor(s): ______________________           Process Assessed: __________________________
___________________________________________________________________________________
COMMENTS PAGE _____ of _____
 #      Comments from assessment
Revision: 1.0                                                                             Page 4 of 4
Y=Yes, N=No, NA=Not Applicable, F=Finding, O=Observation