David R. Kuhn, Raghu N. Kacker, Yu Lei, Dimitris Simos
Testing is the most commonly used approach for software assurance, yet it remains as much judgement and art as science. Structural coverage adds some rigor to the process by establishing formally defined criteria for some notion of test completeness, but even full coverage, however defined, may miss faults related to rare inputs that were not included in the test suite. We suggest that structural coverage measures must be supplemented with measures of input space coverage. Useful input space measures exist and have a relationship with structural coverage measures, providing a means of verifying that an adequate input model has been defined.