Model-Based Testing
// Definition
Generating test cases automatically from a formal model of system behaviour (state machines, decision tables). Useful when the system has many states and rules — the model finds combinations a human would never enumerate.
// Related terms
State Transition Testing
A testing technique that models a system as states and the transitions between them, ensuring every legal transition is exercised and illegal ones are blocked.
Decision Table
A truth-table-style testing technique that maps every combination of input conditions to expected outputs. Best for rule-based logic with multiple inputs — exposes missing rules and conflicts at design time.
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.