With a comparison-based oracle, we need predicted output for each input•
– Oracle compares actual to predicted output and reports failure if they differ
Fine for a small number of hand-generated test cases•
Test Case
Test Harness
with Comparison Based
Oracle
Test Input
Expected Output
Pass/Fail
Compare
Program
Under Test
Self-Checking Code as Oracle
An oracle can also be written as self checks•
– Often possible to judge correctness without predicting results
Advantages and limits: Usable with large, automatically generated test suites, but •
often only a partial check
– Recognize many or most failures, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.