An oracle is a mechanism against which the tester can decide whether the outputs of the program for the executed test cases are correct. A fundamental problem of software testing is that, in many situations, the oracle is not available or too difficult to apply. A metamorphic testing (MT) method has been proposed to alleviate the oracle problem. MT is an automated testing method that employs expected properties of the target functions to test programs without human involvement. These properties are called metamorphic relations (MR). For a given problem, usually more than one MR can be identified. It is therefore interesting and very useful for practitioners to know how to select effective MRs that are good at detecting program defects. This article proposes a guideline for the selection of good MRs for automated testing. The effectiveness of our strategy has been investigated through case studies.
Paper presented to the 4th Ibero-American Symposium on Software Engineering and Knowledge Engineering / 4th Jornadas Iberoamericanas en Ingenieria del Software e Ingenieria del Conocimiento (JIISIC 2004), Madrid, Spain, 03-05 November 2004