 However, method postconditions are part of the system under test, as automated oracles in design by contract models.Determining the correct output for a given input (and a set of program/system states) is known as the oracle problem or test oracle problem, which is a much harder problem than it seems, and involves working with problems related to controllability and observability.Various methods have been proposed to alleviate the test oracle problem.