The lazy programmer's guide to writing thousands of tests

We are all familiar with example-based testing, as typified by TDD and BDD, where each test is hand-crafted.

But there's another approach to writing tests. In the "property-based testing" approach, a single test is run hundreds of times with randomly generated inputs. Property-based testing is a great way to find edge cases, and also helps you to understand and document the behavior of your code under all conditions.

This talk will introduce property-based testing, show you how it works, and demonstrate why you should consider adding this powerful technique to your toolbelt.