Generating test data by hand is a tedious, expensive and error-prone activity, yet testing is a vital part of the development process. Several techniques have been proposed to automate the generation of test data, but all of these are hindered by the presence of unstructured control flow. This paper addresses the problem using testability transformation. Testability transformation does not preserve the traditional meaning of the program, rather it is concerned with preserving the test adequacy of sets of input data. This requires new equivalence relations, which, in turn, entails novel proof obligations. The paper illustrates this using the branch coverage adequacy criterion and develops a branch adequacy equivalence relation and a testability transformation for restructuring. It then presents a proof that the transformation is branch adequacy preserving.
No takes yet. Share an insight, caveat, or question.
Robert M. Hierons (2005) studied this question.
Synapse has enriched 5 related papers. Consider them for comparative context: