Test Oracle Micro-Patterns


A test oracle is a source of expected results for a test case. The following micro patterns for test oracles are presented in Testing Object-Oriented Systems: Models, Patterns, and Tools.

Oracle Patterns (micro-pattern schema)

Approach Pattern Name Intent
Judging Judging The tester evaluates pass/no-pass by looking at the output on a screen, a listing, using a debugger, or another suitable human interface.
Pre-Specification Solved Example Develop expected results by hand or obtain from a reference work.
Simulation Generate exact expected results with a simpler implementation of the IUT (e.g., a spreadsheet.)
Approximation Develop approximate expected results by hand or with a simpler implementation of the IUT.
Parametric Characterize expected results for a large number of items by parameters
Gold Standard Trusted System Run new test case against a trusted system to generate results.
Parallel Testing Run the same live inputs into the IUT and a trusted system. Compare the output.
Regression Testing Run an old test suite against a partially new system.
Voting Compare the output of several versions of the IUT.
Organic Smoke Test Use the basic operability checks of the run time environment.
Reversing Reverse the IUT's transformation.
Built-in Test Don't develop expected results. Implement assertions that define valid and invalid results.
Executable Specification Actual input values and output values are used to instantiate the parameters of an executable specification. A specification checker will reject an instantiation which is inconsistent, indicating incorrect output.
Built-in Check Compare expected and actual total, checksum, or similar encoding.
Generated Implementation Generate a new implementation from a specification, compare output from the IUT and the generated IUT for the same test case.
Different But Equivalent Generate message sequences that are different but should have the result; run on separate objects and compare for equality.


Home | Contact | Copyright | Site Map
First Release: 1 December 1999. Last Rev: 15 October 2001