Test Oracle
// Definition
The mechanism that decides whether a test passed or failed — a hard-coded expected value, a previous result snapshot, a reference implementation, or a property that must always hold. Hard oracle problems are why some systems are notoriously difficult to test.
// Related terms
Assertion
A statement in a test that checks an expected condition holds. If it doesn't, the test fails. The core of every automated test.
Test Case
A single, executable specification: preconditions, steps, expected result, and pass/fail criteria for one verification.
Property-Based Testing
Asserting that a property (e.g., 'reverse(reverse(list)) == list') holds for many automatically generated inputs, instead of writing one example per case. Tools like Hypothesis and fast-check generate thousands of cases and shrink failures to a minimal example.