![](media/image1.png){width="1.125in" height="1.0118055555555556in"}

ISD Test Description Guideline

**Number:** 580-GL-063-01 **Approved By: (signature)**

**Effective Date:** August 28, 2006 **Name:** Barbara Pfarr

**Expiration Date:** August 28, 2011 **Title:** Assoc. Chief, ISD

**Responsible Office:** 580/Information Systems Division (ISD) **Asset
Type:** Guideline

######### Title: ISD Test Description Guideline PAL Number: 2.5.1.2

  -------------- --------------------------------------------------------
  **Purpose**    This guideline provides advice and suggestions for the
                 development of test descriptions for use within the
                 Information Systems Division (ISD).

  -------------- --------------------------------------------------------

  -------------- --------------------------------------------------------
  **Scope**      This guideline may be used on all ISD software projects,
                 or all Mission projects for which ISD is providing
                 software support. It is primarily applicable to software
                 development, but may also be used during software
                 maintenance as appropriate. This guideline may be used
                 for build/integration testing, and also for the phases
                 of testing covered by the "[ISD Testing
                 Process]{.underline}," i.e., subsystem, system, and
                 acceptance testing.

  -------------- --------------------------------------------------------

+-------------+--------------------------------------------------------+
| **          | A test description is second in the following          |
| Guideline** | hierarchy of project-level test documents:             |
|             |                                                        |
|             | -   Test Plan: A top-level document, describing an     |
|             |     entire program of testing. Examples are a Build    |
|             |     Test Plan or a Subsystem Test Plan.                |
|             |                                                        |
|             | -   Test Description: A description of the tests to be |
|             |     performed on a build, subsystem, or system. A Test |
|             |     Description covers multiple test scenarios.        |
|             |                                                        |
|             | -   Test Scenario: A description of a sequential set   |
|             |     of test cases organized into a reasonable flow of  |
|             |     test execution. Each test scenario defines the     |
|             |     prerequisite conditions required, assumptions and  |
|             |     constraints, steps to be followed and expected     |
|             |     test results.                                      |
|             |                                                        |
|             | -   Test Case: A set of test inputs, execution         |
|             |     conditions, and expected results developed for a   |
|             |     particular objective, such as to exercise a        |
|             |     particular program path or to verify compliance    |
|             |     with a specific requirement.                       |
|             |                                                        |
|             | -   Test Procedure: A very detailed, step-by-step      |
|             |     explanation of how to run each test case.          |
|             |                                                        |
|             | -   Test Script: An automated program for running a    |
|             |     test case.                                         |
|             |                                                        |
|             | A test description describes the tests to be           |
|             | performed, the requirements being tested, the required |
|             | inputs, and the expected results for each test set     |
|             | defined in the corresponding build/integration,        |
|             | subsystem, system, or acceptance test plan. A separate |
|             | test description document should be developed for each |
|             | of these levels of testing, and for each build,        |
|             | subsystem, and system to be tested.                    |
|             |                                                        |
|             | A suggested annotated outline for a system-level test  |
|             | description document is offered below. This outline    |
|             | should be tailored as needed for build, subsystem, or  |
|             | acceptance testing, and for each specific task and     |
|             | project. Such tailoring normally involves the addition |
|             | of subsections and separately numbered items to the    |
|             | sections in this suggested outline.                    |
|             |                                                        |
|             | **Model Table of Contents for a System Test            |
|             | Description**                                          |
|             |                                                        |
|             | Section 1 -- Introduction                              |
|             |                                                        |
|             | -   Define the purpose and scope of the system test    |
|             |     description document.                              |
|             |                                                        |
|             | -   Provide a list of applicable documents and a list  |
|             |     of applicable definitions.                         |
|             |                                                        |
|             | Section 2 -- General System Test Considerations        |
|             |                                                        |
|             | -   Discuss any assumptions or constraints made during |
|             |     development of the system test description that    |
|             |     might affect the running of the system tests.      |
|             |                                                        |
|             | -   Describe the sources of any test data (e.g.,       |
|             |     satellite telemetry data, attitude or orbit data   |
|             |     products, or simulator output) to be used in       |
|             |     creating system test data sets.                    |
|             |                                                        |
|             | -   Describe the expected test outputs and where they  |
|             |     will be stored.                                    |
|             |                                                        |
|             | -   Describe any software test tools and hardware test |
|             |     equipment that are not included in the system      |
|             |     integration and test plan.                         |
|             |                                                        |
|             | -   Specify any configuration, installation, or setup  |
|             |     procedures that are common to most or all of the   |
|             |     test cases.                                        |
|             |                                                        |
|             | -   Reference appropriate hardware setups,             |
|             |     configurations, or test equipment used for the     |
|             |     system testing.                                    |
|             |                                                        |
|             | Section 3 -- System Test Scenarios and Procedures      |
|             |                                                        |
|             | -   Group the test procedures into logically related   |
|             |     scenarios that test related functions or           |
|             |     requirements.                                      |
|             |                                                        |
|             | -   Describe the prerequisite conditions, assumptions, |
|             |     constraints, test cases, and expected results for  |
|             |     each scenario.                                     |
|             |                                                        |
|             | -   Provide detailed test procedures for each test     |
|             |     case in each set of tests. Explain precisely how   |
|             |     each test case will be run. If appropriate,        |
|             |     reference any test scripts (i.e., automated        |
|             |     procedures) to be executed.                        |
|             |                                                        |
|             | -   Specify any hardware, facilities, software, data,  |
|             |     personnel, and security requirements unique to     |
|             |     each test case that are not already specified in   |
|             |     the system integration and test plan.              |
|             |                                                        |
|             | -   Specify the source of any test data, test signals, |
|             |     simulated data, or manual input items.             |
|             |                                                        |
|             | Section 4 -- Regression Tests                          |
|             |                                                        |
|             | -   Describe all regression tests, and corresponding   |
|             |     test cases, to be run. Group the regression tests  |
|             |     into logically related test sets that test related |
|             |     functions or requirements.                         |
|             |                                                        |
|             | -   When appropriate, break the regression tests down  |
|             |     into detailed regression test cases.               |
|             |                                                        |
|             | -   Specify detailed, step-by-step scripts for each    |
|             |     regression test case, methods for verifying the    |
|             |     results of the regression test, and methods to be  |
|             |     used for recording the test output data and/or     |
|             |     other test results (e.g., screens, data files).    |
|             |                                                        |
|             | Appendix A -- Data Set Definitions, Sources, and Uses  |
|             |                                                        |
|             | -   Define or reference each data set or file to be    |
|             |     used in system testing.                            |
|             |                                                        |
|             | -   Include data set identifiers, sources and content  |
|             |     of each data set, location where data set is       |
|             |     archived, and how the data set may be accessed.    |
|             |                                                        |
|             | Appendix B -- Hardware Configurations                  |
|             |                                                        |
|             | -   Describe any hardware setups to be used in the     |
|             |     system tests.                                      |
|             |                                                        |
|             | -   Include any graphics that will help describe the   |
|             |     configurations.                                    |
|             |                                                        |
|             | -   Provide a serial number or other unique identifier |
|             |     that can be referenced in the test procedures.     |
|             |                                                        |
|             | Appendix C -- Test Equipment                           |
|             |                                                        |
|             | -   Provide details on the operation of any test       |
|             |     equipment to be used during the tests.             |
|             |                                                        |
|             | -   Include any calibration or setups that must be     |
|             |     used.                                              |
|             |                                                        |
|             | -   Provide a serial number or other unique identifier |
|             |     that can be referenced in the test procedures.     |
|             |                                                        |
|             | Appendix D -- Software Configurations                  |
|             |                                                        |
|             | -   Provide a unique identifier for each software      |
|             |     configuration to be tested.                        |
|             |                                                        |
|             | -   Provide details on the setups required to run the  |
|             |     software.                                          |
|             |                                                        |
|             | Appendix E -- Requirements Traceability Matrix         |
|             |                                                        |
|             | -   Mapping of requirements to corresponding tests and |
|             |     test cases.                                        |
|             |                                                        |
|             |     *GUIDANCE: For further information, consult the    |
|             |     ISD Software Requirements Process, and the ISD     |
|             |     Requirements Traceability Matrix Guidelines. These |
|             |     are both available on the PAL at                   |
|             |     <http://software.gsfc.nasa.gov/process.cfm>.*      |
|             |                                                        |
|             | List of Acronyms -- Identify and define all acronyms   |
|             | used in the document.                                  |
|             |                                                        |
|             | References -- List all cited references.               |
|             |                                                        |
|             | (End of model Table of Contents)                       |
|             |                                                        |
|             | There are also GSFC examples of test descriptions. The |
|             | Flight Software Branch (FSB), for example, has         |
|             | published a [FSW Build Verification or System          |
|             | Validation Test Description                            |
|             | Docu                                                   |
|             | ment](http://software/AssetsApproved/PA2.5.1.1.2.doc); |
|             | this document is also listed in the Templates section  |
|             | below, and is available on the PAL.                    |
+-------------+--------------------------------------------------------+

  -------------- ------------------------------------------------------------ ------------------------------------
  **Tools and    *GUIDANCE: The Tools or Templates listed below are available 
  Templates**    to aid in the performance of this guideline.*                

                 **Name**                                                     **Description**

                 "[FSW Build Verification or System Validation Test           This Flight Software Branch document
                 Description                                                  describes the tests to be developed
                 Document](http://software/AssetsApproved/PA2.5.1.1.2.doc)"   for the entire FSW build
                                                                              verification test program or system
                                                                              level validation test program.
  -------------- ------------------------------------------------------------ ------------------------------------

+-------------+--------------------------------------------------------+
| **R         | List of additional resources that may be helpful when  |
| eferences** | developing test description documents:                 |
|             |                                                        |
|             | -   **Glossary:**                                      |
|             |     <http://software.gsfc.nasa.gov/glossary.cfm>\      |
|             |     Defines common terms used in ISD processes         |
|             |                                                        |
|             | -   **Process Asset Library:**                         |
|             |     <http://software.gsfc.nasa.gov/process.cfm>\       |
|             |     Library of all ISD process descriptions            |
|             |                                                        |
|             | -   "[ISD Testing Process]{.underline}"                |
|             |                                                        |
|             | -   Recommended Approach to Software Development,      |
|             |     Revision 3, SEL-81-305, Goddard Space Flight       |
|             |     Center, June 1992.                                 |
+-------------+--------------------------------------------------------+

+-------------+-------+-------+---------------------------------------+
| **Change    | ####  | #     | **Description of Improvements**       |
| History**   | ## Ve | ##### |                                       |
|             | rsion |  Date |                                       |
+-------------+-------+-------+---------------------------------------+
|             | ##### | ####  | Initial version approved by CCB       |
|             | # 1.0 | ## 8/ |                                       |
|             |       | 17/06 |                                       |
+-------------+-------+-------+---------------------------------------+