As mentioned in my comment, you are probably referring to a special type of test oracle.
João Farias' answer already got to the point: test oracles are used all the time. However, the type of the oracle varies. When you, e.g., write a unit test for a particular method:
// 1st param: expected, 2nd param: actual
assertEquals(3, mySumMethod(1, 2));
The expected output is typically determined by a human—the developer. But sometimes, you refer to a reference implementation:
assertEquals(referenceSumMethod(1, 2), mySumMethod(1, 2));
In contrast to the first variant, the human oracle, I would say this falls into the category of the derived oracle. As far as I'm aware, this is sometimes used in property-based testing with libs like QuickCheck, for example.
For further reading: In Douglas Hoffman's paper "A Taxonomy for Test Oracles", you find various classes of test oracles. But also Elaine J. Weyuker's original work on the oracle assumption ("On Testing Non-testable Programs") is a nice read.