Testing technique where developers declare invariants the code must satisfy (e.g. 'reversing a list preserves its length'; 'the sum of line items is never smaller than any one line item') and a tool generates large numbers of random inputs — possibly thousands per run — trying to find counter-examples that violate the property. Each counter-example is effectively a discovered bug. The process is stochastic but phenomenal for business logic testing. You can run it for minutes or hours (e.g. 'today I run my CI two hours') to deepen confidence. Schirp notes there is no good property-based testing library in Ruby — an open opportunity for the community — and that the technique was god-tier for him in Haskell, particularly in finance.