Metamorphic Testing

Keywords: metamorphic testing, testing

Metamorphic Testing is a software testing technique applied to ML models where test oracles are unavailable — instead of checking individual outputs, it verifies that known relationships (metamorphic relations) between inputs and outputs hold across transformations.

How Metamorphic Testing Works

- Metamorphic Relation: Define a known relationship: "if input $x$ is transformed to $T(x)$, then $f(T(x))$ should relate to $f(x)$ by relation $R$."
- Example: For a yield model, increasing temperature by 10°C while holding everything else constant should decrease yield by approximately $delta$ (domain knowledge).
- Test: Apply the transformation, run both inputs, and verify the relation holds.
- No Oracle Needed: You don't need to know the correct output — just that the relationship between outputs is correct.

Why It Matters

- Oracle Problem: For many ML tasks, the correct output is unknown — metamorphic testing sidesteps this.
- Domain Knowledge: Leverages engineering knowledge about how outputs should change with inputs.
- Process Models: Particularly valuable for semiconductor process models where physical relationships are known.

Metamorphic Testing is testing relationships, not outputs — verifying that known input-output relationships hold when the correct output itself is unknown.

Want to learn more?

Search 13,225+ semiconductor and AI topics or chat with our AI assistant.

Search Topics Chat with CFSGPT