Amanda Laucher


Language Geek at Neo4J

Amanda Laucher has been working with technology her entire life. Some of her favorite childhood memories include working with punch cards alongside her grandmother or learning Morse code from her dad. Solving complex business problems with code is her passion. She is currently working with Pariveda Solutions as a consultant on big data, IoT, FP projects. You are likely to find her discussing intricacies of languages and type systems, software development processes or American football.

YOW! 2015 Sydney

Property Based Testing : Shrinking Risk In Your Code


Perhaps you’ve been hearing a lot about Haskell programmers being absolutely certain that their code is correct but you haven’t taken the leap into day to day Haskell development. Do not despair, there are techniques that can allow you to have confidence in your code without needing to change your development stack. In fact, you can use the same testing techniques Haskellers use without even using a language with a static type checker.

In this session we will be looking at Property Based Testing, and how this approach can allow us to avoid thousands of lines of testing code when ensuring that our code meets specification. Property Based Testing generates inputs based on the properties of the program that we stipulate, and so are based on the business logic, in the same way that types are. Furthermore, if the test fails, a good framework will shrink the problem to the smallest possible data set that gives an error, helping to pinpoint the bug. This session requires no previous knowledge of free-monads, co-products, or other terms you may have grown to hate.