Property-based testing is as close to a panacea as we are likely to get in the software industry. Whether you’re someone who loves writing tests or someone who finds testing tedious, identifying and testing the properties and invariants of your code can produce more useful (and more interesting) tests.
This talk will briefly cover what property-based testing is and how to do it, followed by an in-depth look into how property-based testing actually works. You will leave this talk armed with an understanding
of how the “magic” happens, and with the knowledge necessary to start hacking on a property-based testing framework yourself.
The talk will use ScalaCheck as a motivating example, but the underlying concepts will be useful in any programming language.