Testing libraries like Quickcheck generate random data to break tests, then greedily apply a simplification function to prune them down to more legible examples.
This approach works well for small examples and fast tests, but as you move out of that area it starts to break down. In this talk I show how simple alternations to the greedy algorithm and some clever choices of simplification can drastically improve performance and example quality at the same time.
Greedy Algorithms for Testing
David is the primary author of Hypothesis and works and consults on it full time. Previously, he worked at Google and a series of London startups as a back end data engineer.