Property-based Testing

Property-based testing is a testing approach where you define properties or invariants that should hold true for a wide range of inputs, rather than testing specific example cases. The testing framework then generates many random inputs to try to find counterexamples that violate your properties. Popular implementations include QuickCheck (Haskell), Hypothesis (Python), and fast-check (JavaScript).