metamorphic 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.

Go deeper with CFSGPT

Get AI-powered deep-dives, save terms, and run advanced simulations — free account.

Create Free Account