Metamorphic testing
summary
A Rust implementation called monarch applies metamorphic testing by taking an initial input, applying every combination of N transformations to produce 2^N-1 derived inputs, and checking a specified relation between outputs instead of a known oracle. It uses closures for transformations and relations, targets hard-to-oracle systems like search APIs or image-to-instruction pipelines, and the prototype is on GitHub (zmitchell/monarch) and functions as a practical test harness.
AI-written summary · about
chapters (9)
- 0:00Intro
- 0:18Basic testing
- 1:06Propertybased testing
- 2:38How it works
- 3:17Key features
- 3:40When
- 3:58Example
- 4:19Search API
- 4:40Monarch
related talks
23mMetamorphic Testing
55mMuch ado about testing
27mThe Mutation Game: Cracking the Enigma of Mutation Testing
42mSurprise yourself with Property Based Testing
37mHow to Write Better Code Using Mutation Testing
32mCAN WE WRITE PERFECT TESTS? - MAYBE!
07mNew Ideas: Automated Engineering of Metamorphic Testing Environments for Domain-Specific Languages
42mTesting with mutants
