Most test oracles are based on specifications and documentation. A specified test oracle would be a formal specification used as input to model-based design and model-based testing. The model-based oracle generates and verifies system behavior using the same model.