Property-based Testing

Property-based testing is a software testing technique where tests are generated based on properties (invariants) that the system must satisfy. Instead of testing specific inputs and expected outputs (like with usual unit testing methods), property-based testing generates a large number of inputs and tests them against the specified properties/invariants.

This helps to uncover edge cases and corner cases that may not have been considered in traditional testing methods. Property-based testing is commonly used in functional programming languages (as fans of Haskell will often point out!) and is becoming increasingly popular in other programming languages and testing frameworks.

To get started, check out:

The Beginner’s Guide to Property-based Testing
Property-based testing is a type of software testing that allows us to test systems by defining properties (or invariants) that should hold true for a range of inputs. I imagine that reading the word “invariant” makes you shiver. Are we back in class? Will there be math in this article? Fear not!