This document is not complete work. It is still a work in progress. Errors can be in there, chapters may be added, text modified, or illustrations added. Reviewers and proof-readers are appreciated.
PropEr Testing is a piece of work that started as an attempt to finally force myself to properly learn the ins and outs of Property-Based Testing. Having played with various ideas of it for years without ever feeling actually competent at it, and with very few readily available (or affordable) sources to gain information, I decided to take my notes and various learnings, and assemble them into a consequent text.
It focuses on Erlang’s PropEr framework, a freely available testing tool based on Quviq’s Quickcheck framework. As much as possible, I have tried to keep the references between both frameworks open, so that a commercial user of Quickcheck could also learn from it. I have also tried to keep lessons and principles general enough for other frameworks (Hypothesis in Python, Haskell variants [type-based] of the framework), but I also know that realistically, the lessons will not all be applicable.
I’m still making progress on the content for this ensemble; I may or may not add examples or translations of some of the significant examples in other frameworks or languages where applicable, depending on how fast I get tired, or how long this document gets.