Metamorphic Testing
TechniqueMetamorphic testing is a software testing technique that addresses the oracle problem by leveraging metamorphic relations—properties that describe how outputs of a System Under Test (SUT) should transform when its inputs are transformed in a known way. It has been applied across domains including image processing, autonomous systems, and processor verification.
WIKI
Metamorphic Testing
Definition and Motivation
Metamorphic testing is a software testing strategy introduced to alleviate the oracle problem—the difficulty or impossibility of producing an expected output (a test oracle) for every test input of a System Under Test (SUT). Rather than requiring an oracle for each individual test case, metamorphic testing relies on metamorphic relations: properties that hold between the inputs and outputs of two or more related executions of the SUT. A new (follow-up) test case is generated by systematically transforming an existing (source) test case, and the metamorphic relation predicts how the output should change in response [arxiv:2002.07046].