5.2.6.1 The Software Test Procedures shall contain: (SWE-114) a. Test preparations, including hardware and software. (1) Test identifier. c. Requirements traceability. NPR 7150.2, NASA Software Engineering Requirements, does not include any notes for this requirement. Note that all classes must perform testing. This requirement applies to the documentation of the test methodologies used for that testing. It is that documentation that varies by class. Class A_SC A_NSC B_SC B_NSC C_SC C_NSC D_SC D_NSC E_SC E_NSC F G H Applicable? Key: A_SC = Class A Software, Safety-Critical | A_NSC = Class A Software, Not Safety-Critical | ... | - Applicable | - Not Applicable When testing software, it is important to capture the setup, steps, data, test cases, etc., used to verify requirements, functionality, safety, and other aspects of the software. Test procedures capture that information and more for purposes including but not limited to: The Software Test Procedures describe the test preparations, test configuration, test cases, and test methods to be used to perform qualification testing of a CSCI or a software system or subsystem. The test procedures also describe the expected test results and include bidirectional traceability to the requirements or a reference to the document containing that trace. The following documents are useful when developing test procedures: When writing test procedures, remember to: When writing test procedures, be sure to use these helpful processes and practices: If reusing test procedures, be sure to: Pitfalls and issues: Best practices: Additional guidance related to software test procedures may be found in the following related requirements in this Handbook: Test procedures are needed regardless of project size. However, in situations involving small projects, the following relaxations in rigor (but still in compliance with the requirement) may be appropriate: Tools to aid in compliance with this SWE, if any, may be found in the Tools Library in the NASA Engineering Network (NEN). NASA users find this in the Tools Library in the Software Processes Across NASA (SPAN) site of the Software Engineering Community in NEN. The list is informational only and does not represent an “approved tool list”, nor does it represent an endorsement of any particular tool. The purpose is to provide examples of tools being used across the Agency and to help projects and centers decide what tools to consider. A documented lesson from the NASA Lessons Learned database notes the following, emphasizing the importance of and potential issues related to software test procedures: Probable Scenario for Mars Polar Lander Mission Loss (1998) (Importance of including known hardware characteristics). Lesson Number 0938: "1. Project test policy and procedures should specify actions to be taken when a failure occurs during test. When tests are aborted, or known to have had flawed procedures, they must be rerun after the test deficiencies are corrected. When test article hardware or software is changed, the test should be rerun unless there is a clear rationale for omitting the rerun. 2. All known hardware operational characteristics, including transients and spurious signals, must be reflected in the software requirements documents and verified by test." 529
See edit history of this section
Post feedback on this section
1. Requirements
b. Test descriptions, including:
(2) System or CSCI (Computer Software Configuration Item) requirements addressed by the test case.
(3) Prerequisite conditions.
(4) Test input.
(5) Instructions for conducting procedure.
(6) Expected test results, including assumptions and constraints.
(7) Criteria for evaluating results.
d. Identification of test configuration.1.1 Notes
1.2 Applicability Across Classes
X - Applicable with details, read above for more | P(C) - P(Center), follow center requirements or procedures2. Rationale
3. Guidance
4. Small Projects
5. Resources
5.1 Tools
6. Lessons Learned
SWE-114 - Software Test Procedures
Web Resources
View this section on the websiteUnknown macro: {page-info}