How to specify it! A guide to writing properties of pure functions

Property-based testing is an appealing approach to testing, but requires developers to identify suitable properties to test--and many find this difficult, and find the simple properties in tutorials difficult to generalize.

In this talk, John will present five different strategies for coming up with properties of pure functions, and he'll compare their effectiveness as tests; he'll also warn of the biggest pitfall to be avoided.

You'll leave this talk with new ideas for writing properties of your own functions. John will be using the Haskell version of QuickCheck for his examples, but the ideas are usable with any property-based testing tool.