Integrating testing with reliability
Norman F. Schneidewind · Software Testing Verification and Reliability · 2008
Abstract The activities of software testing and reliability are integrated for the purpose of demonstrating how the two activities interact in achieving testing efficiency and the reliability resulting from these tests. Integrating means modeling the execution of a variety of tests on a directed graph representation of an example program. A complexity metric is used to construct the nodes, edges, and paths of the example program. Models are developed to represent the efficiency and achieved reliability of black box and white box tests. Evaluations are made of path, independent path, node, program construct, and random tests to ascertain which, if any, is superior with respect to efficiency and reliability. Overall, path testing has the edge in test efficiency. The results depend on the nature of the directed graph in relation to the type of test. Although there is no dominant method, in most cases the tests that provide detailed coverage are better. For example, path testing discovers more faults than independent path testing. Predictions are made of the reliability and fault correction that results from implementing various test strategies. It is believed that these methods can be used by researchers and practitioners to evaluate the efficiency and reliability of other programs. Copyright © 2008 John Wiley & Sons, Ltd.