Robustness Testing of Software-Intensive Systems: Explanation and Guide
Many Department of Defense (DoD) programs engage in what has been called "happy-path testing" (that is, testing that is only meant to show that the system meets its functional requirements). While testing to ensure that requirements are met is necessary, often tests aimed at ensuring that the system handles errors and failures appropriately are neglected. Robustness has been defined by the Food and Drug Administration as "the degree to which a software system or component can function correctly in the presence of invalid inputs or stressful environmental conditions." This technical note provides guidance and procedures for performing robustness testing as part of DoD or federal acquisition programs that have a software component. It includes background on the need for robustness testing and describes how robustness testing fits into DoD acquisition, including source selection issues, development issues, and developmental and operational testing issues.