John Hughes has been a functional programming enthusiast for more than thirty years, at the Universities of Oxford, Glasgow, and since 1992 Chalmers University in Gothenburg, Sweden. He served on the Haskell design committee, co-chairing the committee for Haskell 98, and is the author of more than 100 papers, including "Why Functional Programming Matters", one of the classics of the area. With Koen Claessen, he created QuickCheck, the most popular testing tool among Haskell programmers, and in 2006 he founded Quviq to commercialise the technology using Erlang.
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.